Wed Mar 18 20:00:17 UTC 2020 I: starting to build ppl/buster/i386 on jenkins on '2020-03-18 20:00' Wed Mar 18 20:00:17 UTC 2020 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_13/3469/console.log Wed Mar 18 20:00:18 UTC 2020 I: Downloading source for buster/ppl=1:1.2-7 --2020-03-18 20:00:18-- http://deb.debian.org/debian/pool/main/p/ppl/ppl_1.2-7.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2573 (2.5K) Saving to: ‘ppl_1.2-7.dsc’ 0K .. 100% 218M=0s 2020-03-18 20:00:18 (218 MB/s) - ‘ppl_1.2-7.dsc’ saved [2573/2573] Wed Mar 18 20:00:18 UTC 2020 I: ppl_1.2-7.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: ppl Binary: libppl14, libppl-dev, ppl-dev, libppl-c4, libppl-doc, libppl-swi Architecture: any all Version: 1:1.2-7 Maintainer: Debian Science Team Uploaders: Tobias Hansen , Michael Tautschnig Homepage: http://www.cs.unipr.it/ppl/ Standards-Version: 4.3.0 Vcs-Browser: https://salsa.debian.org/science-team/ppl Vcs-Git: https://salsa.debian.org/science-team/ppl.git Build-Depends: debhelper (>= 11~), libgmp-dev, libncurses-dev Build-Depends-Arch: chrpath, swi-prolog [amd64 arm64 armel armhf hppa i386 ia64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el] Build-Depends-Indep: doxygen-latex, ghostscript, graphviz, poppler-utils, swi-prolog, texlive-science Package-List: libppl-c4 deb libs optional arch=any libppl-dev deb libdevel optional arch=any libppl-doc deb doc optional arch=all libppl-swi deb libs optional arch=amd64,arm64,armel,armhf,hppa,i386,ia64,mips,mips64,mips64el,mipsel,powerpc,powerpcspe,ppc64,ppc64el profile=!pkg.ppl.no-swi-prolog libppl14 deb libs optional arch=any ppl-dev deb devel optional arch=any Checksums-Sha1: 56c3e4cf3be90e11dfdd877b449adedc26cd8ec9 14136236 ppl_1.2.orig.tar.xz 06cfd13275bfb7f97fdafe8f4eab4994b15c664e 12068 ppl_1.2-7.debian.tar.xz Checksums-Sha256: 691f0d5a4fb0e206f4e132fc9132c71d6e33cdda168470d40ac3cf62340e9a60 14136236 ppl_1.2.orig.tar.xz 11c13875a735f1a764b26c1cd7fa0ee869315ee59e478317577a50c9cfac8d41 12068 ppl_1.2-7.debian.tar.xz Files: e7bd12043d1064214f7a0107b6da3f17 14136236 ppl_1.2.orig.tar.xz 5b572a6cedc425c4a9119f46c7a24151 12068 ppl_1.2-7.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEj1g0K+q+HvQ3lVH7sZN3DBhqHH0FAlxEtJcACgkQsZN3DBhq HH2zDg//Z3JP5u6g/bheEjsiWV1Yhpu0fbRwVa0ypYsxJIBb0R0SXcPBIL510gKt WvDuMrl3pIagIKx+tRkU8fcW5+wnUTQ2KrNon+6yAf4f/CsKnYIxVNk5qhJ31mHr TLycXP18U0+Z7o3iWEcXdsQQhPTwHPABrjDr8vl5Bd76jvQdywZ6UMMtKd3WtE4d +iXuoRAjWblgtjDm9IAXVcXS+JEwQN1TrOBxfEAgifzB9ygW/UvWyj/uznJwuvCK ZOK5EB/FsEupfk6om+B7Zpv1YpiK3V9T2+dLXQDlZtSUJBF0GRgKbLYZT0X5jat/ LIaNYFANaILj/4gHG5tRBsCjwbrh4oHjIhtjWz9q94upsw8t1EwY0rMVn+nBrIcl hOw3C9ReswzUz7m0Pvyoz0dsontWlBU3qhsdG9daDfA9OWz6F9GZSxmwc9LnTiR4 eX83XuyCpRZpWWcqGksgVi5aoyKKucFSQ4bomuwRWKpKCNM94iPW1mOyFq9zbfAb e8lLJWwhSg9x5xgNgwI4XSnE2W/6mort7p/GpFgkgu6WxwWkOmNm5MByc1ni7Wdo e1pvmLhrwMZDYngGWP7EFK573ZcA7drih+WYtE7d57AFYgo2zb39fSczhKWSKIBt XJPjI+CgucPVdmNYNhj3qNMMGKIc3UTS+v/pSMwi/evYH967Ec8= =gCVq -----END PGP SIGNATURE----- Wed Mar 18 20:00:18 UTC 2020 I: Checking whether the package is not for us Wed Mar 18 20:00:18 UTC 2020 I: Starting 1st build on remote node profitbricks-build12-i386.debian.net. Wed Mar 18 20:00:18 UTC 2020 I: Preparing to do remote build '1' on profitbricks-build12-i386.debian.net. Wed Mar 18 20:44:44 UTC 2020 I: Deleting $TMPDIR on profitbricks-build12-i386.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed Mar 18 08:00:27 -12 2020 I: pbuilder-time-stamp: 1584561627 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [ppl_1.2-7.dsc] I: copying [./ppl_1.2.orig.tar.xz] I: copying [./ppl_1.2-7.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Sun Jan 20 05:49:11 2019 -12 gpgv: using RSA key 8F58342BEABE1EF4379551FBB193770C186A1C7D gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ppl_1.2-7.dsc dpkg-source: info: extracting ppl in ppl-1.2 dpkg-source: info: unpacking ppl_1.2.orig.tar.xz dpkg-source: info: unpacking ppl_1.2-7.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying link-tests-with-libmpq.diff dpkg-source: info: applying reproducible_builds_gzip_n dpkg-source: info: applying fix_latex_build.patch dpkg-source: info: applying fix_AC_CHECK_SWI_PROLOG.patch I: Not using root during the build. I: Installing the build-deps -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper (>= 11~), libgmp-dev, libncurses-dev, doxygen-latex, ghostscript, graphviz, poppler-utils, swi-prolog, texlive-science, chrpath, swi-prolog dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19231 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper (>= 11~); however: Package debhelper is not installed. pbuilder-satisfydepends-dummy depends on libgmp-dev; however: Package libgmp-dev is not installed. pbuilder-satisfydepends-dummy depends on libncurses-dev; however: Package libncurses-dev is not installed. pbuilder-satisfydepends-dummy depends on doxygen-latex; however: Package doxygen-latex is not installed. pbuilder-satisfydepends-dummy depends on ghostscript; however: Package ghostscript is not installed. pbuilder-satisfydepends-dummy depends on graphviz; however: Package graphviz is not installed. pbuilder-satisfydepends-dummy depends on poppler-utils; however: Package poppler-utils is not installed. pbuilder-satisfydepends-dummy depends on swi-prolog; however: Package swi-prolog is not installed. pbuilder-satisfydepends-dummy depends on texlive-science; however: Package texlive-science is not installed. pbuilder-satisfydepends-dummy depends on chrpath; however: Package chrpath is not installed. pbuilder-satisfydepends-dummy depends on swi-prolog; however: Package swi-prolog is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdmainutils{a} chrpath{a} cm-super-minimal{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} doxygen{a} doxygen-latex{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-gfs-baskerville{a} fonts-gfs-porson{a} fonts-lmodern{a} gettext{a} gettext-base{a} ghostscript{a} graphviz{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libarchive13{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libbrotli1{a} libbsd-dev{a} libbsd0{a} libcairo2{a} libcdt5{a} libcgraph6{a} libclang1-6.0{a} libcroco3{a} libcups2{a} libcupsimage2{a} libdatrie1{a} libdbus-1-3{a} libedit-dev{a} libedit2{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgd3{a} libglib2.0-0{a} libgmp-dev{a} libgmpxx4ldbl{a} libgraphite2-3{a} libgs9{a} libgs9-common{a} libgssapi-krb5-2{a} libgts-0.7-5{a} libgvc6{a} libgvpr2{a} libharfbuzz-icu0{a} libharfbuzz0b{a} libice6{a} libicu63{a} libidn11{a} libijs-0.35{a} libjbig0{a} libjbig2dec0{a} libjpeg62-turbo{a} libjs-jquery{a} libk5crypto3{a} libkeyutils1{a} libkpathsea6{a} libkrb5-3{a} libkrb5support0{a} liblab-gamut1{a} liblcms2-2{a} libllvm6.0{a} libltdl7{a} libmagic-mgc{a} libmagic1{a} libmime-charset-perl{a} libncurses-dev{a} libncurses6{a} libnspr4{a} libnss3{a} libopenjp2-7{a} libossp-uuid16{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libpaper-utils{a} libpaper1{a} libpathplan4{a} libpipeline1{a} libpixman-1-0{a} libpng16-16{a} libpoppler82{a} libpotrace0{a} libptexenc1{a} libpython-stdlib{a} libpython2-stdlib{a} libpython2.7-minimal{a} libpython2.7-stdlib{a} libreadline-dev{a} libreadline7{a} libsigsegv2{a} libsm6{a} libsombok3{a} libssl1.1{a} libsynctex2{a} libteckit0{a} libtexlua52{a} libtexlua53{a} libtexluajit2{a} libthai-data{a} libthai0{a} libtiff5{a} libtool{a} libuchardet0{a} libunicode-linebreak-perl{a} libwebp6{a} libwoff1{a} libx11-6{a} libx11-data{a} libxau6{a} libxaw7{a} libxcb-render0{a} libxcb-shm0{a} libxcb1{a} libxdmcp6{a} libxdot4{a} libxext6{a} libxft2{a} libxi6{a} libxinerama1{a} libxml2{a} libxmu6{a} libxpm4{a} libxrender1{a} libxt6{a} libxxhash0{a} libyaml-0-2{a} libzzip-0-13{a} lsb-base{a} m4{a} man-db{a} mime-support{a} po-debconf{a} poppler-data{a} poppler-utils{a} preview-latex-style{a} python{a} python-minimal{a} python2{a} python2-minimal{a} python2.7{a} python2.7-minimal{a} readline-common{a} sensible-utils{a} swi-prolog{a} swi-prolog-nox{a} swi-prolog-x{a} t1utils{a} tex-common{a} texlive-base{a} texlive-binaries{a} texlive-extra-utils{a} texlive-font-utils{a} texlive-fonts-recommended{a} texlive-lang-greek{a} texlive-latex-base{a} texlive-latex-extra{a} texlive-latex-recommended{a} texlive-pictures{a} texlive-science{a} ucf{a} x11-common{a} xdg-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl dbus fonts-droid-fallback fonts-liberation gsfonts javascript-common krb5-locales libarchive-cpio-perl libcupsfilters1 libfile-homedir-perl libfile-mimeinfo-perl libglib2.0-data libgpm2 libgts-bin liblog-log4perl-perl libltdl-dev libmail-sendmail-perl libnet-dbus-perl libx11-protocol-perl libyaml-tiny-perl lmodern lynx ps2eps ruby shared-mime-info tex-gyre texlive-plain-generic tipa tk wget x11-utils x11-xserver-utils xdg-user-dirs 0 packages upgraded, 181 newly installed, 0 to remove and 0 not upgraded. Need to get 296 MB of archives. After unpacking 769 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian buster/main i386 libbsd0 i386 0.9.1-2 [104 kB] Get: 2 http://deb.debian.org/debian buster/main i386 bsdmainutils i386 11.1.2+b1 [193 kB] Get: 3 http://deb.debian.org/debian buster/main i386 libuchardet0 i386 0.0.6-3 [65.2 kB] Get: 4 http://deb.debian.org/debian buster/main i386 groff-base i386 1.22.4-3 [935 kB] Get: 5 http://deb.debian.org/debian buster/main i386 libpipeline1 i386 1.5.1-2 [33.3 kB] Get: 6 http://deb.debian.org/debian buster/main i386 man-db i386 2.8.5-2 [1284 kB] Get: 7 http://deb.debian.org/debian buster/main i386 libpython2.7-minimal i386 2.7.16-2+deb10u1 [395 kB] Get: 8 http://deb.debian.org/debian buster/main i386 python2.7-minimal i386 2.7.16-2+deb10u1 [1381 kB] Get: 9 http://deb.debian.org/debian buster/main i386 python2-minimal i386 2.7.16-1 [41.4 kB] Get: 10 http://deb.debian.org/debian buster/main i386 python-minimal i386 2.7.16-1 [21.0 kB] Get: 11 http://deb.debian.org/debian buster/main i386 libssl1.1 i386 1.1.1d-0+deb10u2 [1538 kB] Get: 12 http://deb.debian.org/debian buster/main i386 mime-support all 3.62 [37.2 kB] Get: 13 http://deb.debian.org/debian buster/main i386 libexpat1 i386 2.2.6-2+deb10u1 [104 kB] Get: 14 http://deb.debian.org/debian buster/main i386 readline-common all 7.0-5 [70.6 kB] Get: 15 http://deb.debian.org/debian buster/main i386 libreadline7 i386 7.0-5 [156 kB] Get: 16 http://deb.debian.org/debian buster/main i386 libpython2.7-stdlib i386 2.7.16-2+deb10u1 [1934 kB] Get: 17 http://deb.debian.org/debian buster/main i386 python2.7 i386 2.7.16-2+deb10u1 [305 kB] Get: 18 http://deb.debian.org/debian buster/main i386 libpython2-stdlib i386 2.7.16-1 [20.8 kB] Get: 19 http://deb.debian.org/debian buster/main i386 libpython-stdlib i386 2.7.16-1 [20.8 kB] Get: 20 http://deb.debian.org/debian buster/main i386 python2 i386 2.7.16-1 [41.6 kB] Get: 21 http://deb.debian.org/debian buster/main i386 python i386 2.7.16-1 [22.8 kB] Get: 22 http://deb.debian.org/debian buster/main i386 poppler-data all 0.4.9-2 [1473 kB] Get: 23 http://deb.debian.org/debian buster/main i386 sensible-utils all 0.0.12 [15.8 kB] Get: 24 http://deb.debian.org/debian buster/main i386 ucf all 3.0038+nmu1 [69.0 kB] Get: 25 http://deb.debian.org/debian buster/main i386 tex-common all 6.11 [53.1 kB] Get: 26 http://deb.debian.org/debian buster/main i386 libmagic-mgc i386 1:5.35-4+deb10u1 [242 kB] Get: 27 http://deb.debian.org/debian buster/main i386 libmagic1 i386 1:5.35-4+deb10u1 [124 kB] Get: 28 http://deb.debian.org/debian buster/main i386 file i386 1:5.35-4+deb10u1 [66.3 kB] Get: 29 http://deb.debian.org/debian buster/main i386 gettext-base i386 0.19.8.1-9 [124 kB] Get: 30 http://deb.debian.org/debian buster/main i386 libsigsegv2 i386 2.12-2 [33.2 kB] Get: 31 http://deb.debian.org/debian buster/main i386 m4 i386 1.4.18-2 [205 kB] Get: 32 http://deb.debian.org/debian buster/main i386 autoconf all 2.69-11 [341 kB] Get: 33 http://deb.debian.org/debian buster/main i386 autotools-dev all 20180224.1 [77.0 kB] Get: 34 http://deb.debian.org/debian buster/main i386 automake all 1:1.16.1-4 [771 kB] Get: 35 http://deb.debian.org/debian buster/main i386 autopoint all 0.19.8.1-9 [434 kB] Get: 36 http://deb.debian.org/debian buster/main i386 chrpath i386 0.16-2+b1 [17.5 kB] Get: 37 http://deb.debian.org/debian buster/main i386 libpaper1 i386 1.1.28 [21.4 kB] Get: 38 http://deb.debian.org/debian buster/main i386 libpaper-utils i386 1.1.28 [18.3 kB] Get: 39 http://deb.debian.org/debian buster/main i386 libkpathsea6 i386 2018.20181218.49446-1 [171 kB] Get: 40 http://deb.debian.org/debian buster/main i386 libptexenc1 i386 2018.20181218.49446-1 [61.6 kB] Get: 41 http://deb.debian.org/debian buster/main i386 libsynctex2 i386 2018.20181218.49446-1 [83.5 kB] Get: 42 http://deb.debian.org/debian buster/main i386 libtexlua52 i386 2018.20181218.49446-1 [121 kB] Get: 43 http://deb.debian.org/debian buster/main i386 libtexlua53 i386 2018.20181218.49446-1 [141 kB] Get: 44 http://deb.debian.org/debian buster/main i386 libtexluajit2 i386 2018.20181218.49446-1 [270 kB] Get: 45 http://deb.debian.org/debian buster/main i386 t1utils i386 1.41-3 [62.2 kB] Get: 46 http://deb.debian.org/debian buster/main i386 libbrotli1 i386 1.0.7-2 [267 kB] Get: 47 http://deb.debian.org/debian buster/main i386 libpng16-16 i386 1.6.36-6 [301 kB] Get: 48 http://deb.debian.org/debian buster/main i386 libfreetype6 i386 2.9.1-3+deb10u1 [395 kB] Get: 49 http://deb.debian.org/debian buster/main i386 fonts-dejavu-core all 2.37-1 [1068 kB] Get: 50 http://deb.debian.org/debian buster/main i386 fontconfig-config all 2.13.1-2 [280 kB] Get: 51 http://deb.debian.org/debian buster/main i386 libfontconfig1 i386 2.13.1-2 [357 kB] Get: 52 http://deb.debian.org/debian buster/main i386 libpixman-1-0 i386 0.36.0-1 [541 kB] Get: 53 http://deb.debian.org/debian buster/main i386 libxau6 i386 1:1.0.8-1+b2 [20.3 kB] Get: 54 http://deb.debian.org/debian buster/main i386 libxdmcp6 i386 1:1.1.2-3 [26.7 kB] Get: 55 http://deb.debian.org/debian buster/main i386 libxcb1 i386 1.13.1-2 [141 kB] Get: 56 http://deb.debian.org/debian buster/main i386 libx11-data all 2:1.6.7-1 [298 kB] Get: 57 http://deb.debian.org/debian buster/main i386 libx11-6 i386 2:1.6.7-1 [778 kB] Get: 58 http://deb.debian.org/debian buster/main i386 libxcb-render0 i386 1.13.1-2 [110 kB] Get: 59 http://deb.debian.org/debian buster/main i386 libxcb-shm0 i386 1.13.1-2 [99.4 kB] Get: 60 http://deb.debian.org/debian buster/main i386 libxext6 i386 2:1.3.3-1+b2 [55.2 kB] Get: 61 http://deb.debian.org/debian buster/main i386 libxrender1 i386 1:0.9.10-1 [34.1 kB] Get: 62 http://deb.debian.org/debian buster/main i386 libcairo2 i386 1.16.0-4 [744 kB] Get: 63 http://deb.debian.org/debian buster/main i386 libgraphite2-3 i386 1.3.13-7 [84.0 kB] Get: 64 http://deb.debian.org/debian buster/main i386 libgs9-common all 9.27~dfsg-2+deb10u3 [5136 kB] Get: 65 http://deb.debian.org/debian buster/main i386 libavahi-common-data i386 0.7-4+b1 [122 kB] Get: 66 http://deb.debian.org/debian buster/main i386 libavahi-common3 i386 0.7-4+b1 [56.2 kB] Get: 67 http://deb.debian.org/debian buster/main i386 libdbus-1-3 i386 1.12.16-1 [226 kB] Get: 68 http://deb.debian.org/debian buster/main i386 libavahi-client3 i386 0.7-4+b1 [60.1 kB] Get: 69 http://deb.debian.org/debian buster/main i386 libkeyutils1 i386 1.6-6 [15.4 kB] Get: 70 http://deb.debian.org/debian buster/main i386 libkrb5support0 i386 1.17-3 [68.6 kB] Get: 71 http://deb.debian.org/debian buster/main i386 libk5crypto3 i386 1.17-3 [126 kB] Get: 72 http://deb.debian.org/debian buster/main i386 libkrb5-3 i386 1.17-3 [396 kB] Get: 73 http://deb.debian.org/debian buster/main i386 libgssapi-krb5-2 i386 1.17-3 [168 kB] Get: 74 http://deb.debian.org/debian buster/main i386 libcups2 i386 2.2.10-6+deb10u2 [338 kB] Get: 75 http://deb.debian.org/debian buster/main i386 libcupsimage2 i386 2.2.10-6+deb10u2 [133 kB] Get: 76 http://deb.debian.org/debian buster/main i386 libidn11 i386 1.33-2.2 [116 kB] Get: 77 http://deb.debian.org/debian buster/main i386 libijs-0.35 i386 0.35-14 [18.9 kB] Get: 78 http://deb.debian.org/debian buster/main i386 libjbig2dec0 i386 0.16-1 [64.6 kB] Get: 79 http://deb.debian.org/debian buster/main i386 libjpeg62-turbo i386 1:1.5.2-2+b1 [142 kB] Get: 80 http://deb.debian.org/debian buster/main i386 liblcms2-2 i386 2.9-3 [156 kB] Get: 81 http://deb.debian.org/debian buster/main i386 libopenjp2-7 i386 2.3.0-2+deb10u1 [164 kB] Get: 82 http://deb.debian.org/debian buster/main i386 libjbig0 i386 2.1-3.1+b2 [31.5 kB] Get: 83 http://deb.debian.org/debian buster/main i386 libwebp6 i386 0.6.1-2 [275 kB] Get: 84 http://deb.debian.org/debian buster/main i386 libtiff5 i386 4.1.0+git191117-2~deb10u1 [284 kB] Get: 85 http://deb.debian.org/debian buster/main i386 libgs9 i386 9.27~dfsg-2+deb10u3 [2300 kB] Get: 86 http://deb.debian.org/debian buster/main i386 libglib2.0-0 i386 2.58.3-2+deb10u2 [1334 kB] Get: 87 http://deb.debian.org/debian buster/main i386 libharfbuzz0b i386 2.3.1-1 [1209 kB] Get: 88 http://deb.debian.org/debian buster/main i386 libicu63 i386 63.1-6 [8443 kB] Get: 89 http://deb.debian.org/debian buster/main i386 libharfbuzz-icu0 i386 2.3.1-1 [834 kB] Get: 90 http://deb.debian.org/debian buster/main i386 lsb-base all 10.2019051400 [28.4 kB] Get: 91 http://deb.debian.org/debian buster/main i386 x11-common all 1:7.7+19 [251 kB] Get: 92 http://deb.debian.org/debian buster/main i386 libice6 i386 2:1.0.9-2 [61.1 kB] Get: 93 http://deb.debian.org/debian buster/main i386 libpotrace0 i386 1.15-1 [25.6 kB] Get: 94 http://deb.debian.org/debian buster/main i386 libsm6 i386 2:1.2.3-1 [35.7 kB] Get: 95 http://deb.debian.org/debian buster/main i386 libteckit0 i386 2.5.8+ds2-5 [268 kB] Get: 96 http://deb.debian.org/debian buster/main i386 libwoff1 i386 1.0.2-1 [46.0 kB] Get: 97 http://deb.debian.org/debian buster/main i386 libxt6 i386 1:1.1.5-1+b3 [195 kB] Get: 98 http://deb.debian.org/debian buster/main i386 libxmu6 i386 2:1.1.2-2+b3 [62.8 kB] Get: 99 http://deb.debian.org/debian buster/main i386 libxpm4 i386 1:3.5.12-1 [50.9 kB] Get: 100 http://deb.debian.org/debian buster/main i386 libxaw7 i386 2:1.0.13-1+b2 [209 kB] Get: 101 http://deb.debian.org/debian buster/main i386 libxi6 i386 2:1.7.9-1 [85.2 kB] Get: 102 http://deb.debian.org/debian buster/main i386 libxxhash0 i386 0.6.5-2 [8788 B] Get: 103 http://deb.debian.org/debian buster/main i386 libzzip-0-13 i386 0.13.62-3.2 [57.3 kB] Get: 104 http://deb.debian.org/debian buster/main i386 texlive-binaries i386 2018.20181218.49446-1 [11.2 MB] Get: 105 http://deb.debian.org/debian buster/main i386 xdg-utils all 1.1.3-1 [73.3 kB] Get: 106 http://deb.debian.org/debian buster/main i386 texlive-base all 2018.20190227-2 [19.7 MB] Get: 107 http://deb.debian.org/debian buster/main i386 fonts-lmodern all 2.004.5-6 [4539 kB] Get: 108 http://deb.debian.org/debian buster/main i386 texlive-latex-base all 2018.20190227-2 [984 kB] Get: 109 http://deb.debian.org/debian buster/main i386 texlive-latex-recommended all 2018.20190227-2 [15.2 MB] Get: 110 http://deb.debian.org/debian buster/main i386 cm-super-minimal all 0.3.4-14 [5814 kB] Get: 111 http://deb.debian.org/debian buster/main i386 libtool all 2.4.6-9 [547 kB] Get: 112 http://deb.debian.org/debian buster/main i386 dh-autoreconf all 19 [16.9 kB] Get: 113 http://deb.debian.org/debian buster/main i386 libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 114 http://deb.debian.org/debian buster/main i386 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 115 http://deb.debian.org/debian buster/main i386 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 116 http://deb.debian.org/debian buster/main i386 libelf1 i386 0.176-1.1 [166 kB] Get: 117 http://deb.debian.org/debian buster/main i386 dwz i386 0.12-3 [81.4 kB] Get: 118 http://deb.debian.org/debian buster/main i386 libxml2 i386 2.9.4+dfsg1-7+b3 [721 kB] Get: 119 http://deb.debian.org/debian buster/main i386 libcroco3 i386 0.6.12-3 [151 kB] Get: 120 http://deb.debian.org/debian buster/main i386 libncurses6 i386 6.1+20181013-2+deb10u2 [109 kB] Get: 121 http://deb.debian.org/debian buster/main i386 gettext i386 0.19.8.1-9 [1314 kB] Get: 122 http://deb.debian.org/debian buster/main i386 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 123 http://deb.debian.org/debian buster/main i386 po-debconf all 1.0.21 [248 kB] Get: 124 http://deb.debian.org/debian buster/main i386 debhelper all 12.1.1 [1016 kB] Get: 125 http://deb.debian.org/debian buster/main i386 libedit2 i386 3.1-20181209-1 [98.2 kB] Get: 126 http://deb.debian.org/debian buster/main i386 libllvm6.0 i386 1:6.0.1-10 [16.4 MB] Get: 127 http://deb.debian.org/debian buster/main i386 libclang1-6.0 i386 1:6.0.1-10 [7959 kB] Get: 128 http://deb.debian.org/debian buster/main i386 doxygen i386 1.8.13-10 [4004 kB] Get: 129 http://deb.debian.org/debian buster/main i386 libthai-data all 0.1.28-2 [170 kB] Get: 130 http://deb.debian.org/debian buster/main i386 libdatrie1 i386 0.2.12-2 [40.7 kB] Get: 131 http://deb.debian.org/debian buster/main i386 libthai0 i386 0.1.28-2 [55.2 kB] Get: 132 http://deb.debian.org/debian buster/main i386 libsombok3 i386 2.4.0-2 [32.9 kB] Get: 133 http://deb.debian.org/debian buster/main i386 libmime-charset-perl all 1.012.2-1 [35.4 kB] Get: 134 http://deb.debian.org/debian buster/main i386 libunicode-linebreak-perl i386 0.0.20190101-1 [107 kB] Get: 135 http://deb.debian.org/debian buster/main i386 texlive-extra-utils all 2018.20190227-2 [39.4 MB] Get: 136 http://deb.debian.org/debian buster/main i386 preview-latex-style all 11.91-2 [201 kB] Get: 137 http://deb.debian.org/debian buster/main i386 texlive-pictures all 2018.20190227-2 [8201 kB] Get: 138 http://deb.debian.org/debian buster/main i386 texlive-latex-extra all 2018.20190227-2 [12.3 MB] Get: 139 http://deb.debian.org/debian buster/main i386 texlive-font-utils all 2018.20190227-2 [1746 kB] Get: 140 http://deb.debian.org/debian buster/main i386 ghostscript i386 9.27~dfsg-2+deb10u3 [94.9 kB] Get: 141 http://deb.debian.org/debian buster/main i386 texlive-fonts-recommended all 2018.20190227-2 [5228 kB] Get: 142 http://deb.debian.org/debian buster/main i386 doxygen-latex all 1.8.13-10 [113 kB] Get: 143 http://deb.debian.org/debian buster/main i386 fontconfig i386 2.13.1-2 [405 kB] Get: 144 http://deb.debian.org/debian buster/main i386 fonts-gfs-baskerville all 1.1-5 [43.4 kB] Get: 145 http://deb.debian.org/debian buster/main i386 fonts-gfs-porson all 1.1-6 [33.5 kB] Get: 146 http://deb.debian.org/debian buster/main i386 libcdt5 i386 2.40.1-6 [61.0 kB] Get: 147 http://deb.debian.org/debian buster/main i386 libcgraph6 i386 2.40.1-6 [88.1 kB] Get: 148 http://deb.debian.org/debian buster/main i386 libgd3 i386 2.2.5-5.2 [141 kB] Get: 149 http://deb.debian.org/debian buster/main i386 libgts-0.7-5 i386 0.7.6+darcs121130-4 [161 kB] Get: 150 http://deb.debian.org/debian buster/main i386 libltdl7 i386 2.4.6-9 [392 kB] Get: 151 http://deb.debian.org/debian buster/main i386 libfribidi0 i386 1.0.5-3.1+deb10u1 [64.3 kB] Get: 152 http://deb.debian.org/debian buster/main i386 libpango-1.0-0 i386 1.42.4-7~deb10u1 [191 kB] Get: 153 http://deb.debian.org/debian buster/main i386 libpangoft2-1.0-0 i386 1.42.4-7~deb10u1 [71.0 kB] Get: 154 http://deb.debian.org/debian buster/main i386 libpangocairo-1.0-0 i386 1.42.4-7~deb10u1 [57.1 kB] Get: 155 http://deb.debian.org/debian buster/main i386 libpathplan4 i386 2.40.1-6 [64.0 kB] Get: 156 http://deb.debian.org/debian buster/main i386 libxdot4 i386 2.40.1-6 [57.9 kB] Get: 157 http://deb.debian.org/debian buster/main i386 libgvc6 i386 2.40.1-6 [676 kB] Get: 158 http://deb.debian.org/debian buster/main i386 libgvpr2 i386 2.40.1-6 [223 kB] Get: 159 http://deb.debian.org/debian buster/main i386 liblab-gamut1 i386 2.40.1-6 [220 kB] Get: 160 http://deb.debian.org/debian buster/main i386 graphviz i386 2.40.1-6 [595 kB] Get: 161 http://deb.debian.org/debian buster/main i386 libarchive13 i386 3.3.3-4+deb10u1 [351 kB] Get: 162 http://deb.debian.org/debian buster/main i386 libbsd-dev i386 0.9.1-2 [223 kB] Get: 163 http://deb.debian.org/debian buster/main i386 libncurses-dev i386 6.1+20181013-2+deb10u2 [360 kB] Get: 164 http://deb.debian.org/debian buster/main i386 libedit-dev i386 3.1-20181209-1 [122 kB] Get: 165 http://deb.debian.org/debian buster/main i386 libgmpxx4ldbl i386 2:6.1.2+dfsg-4 [23.2 kB] Get: 166 http://deb.debian.org/debian buster/main i386 libgmp-dev i386 2:6.1.2+dfsg-4 [648 kB] Get: 167 http://deb.debian.org/debian buster/main i386 libjs-jquery all 3.3.1~dfsg-3 [332 kB] Get: 168 http://deb.debian.org/debian buster/main i386 libnspr4 i386 2:4.20-1 [122 kB] Get: 169 http://deb.debian.org/debian buster/main i386 libnss3 i386 2:3.42.1-1+deb10u2 [1237 kB] Get: 170 http://deb.debian.org/debian buster/main i386 libossp-uuid16 i386 1.6.2-1.5+b7 [39.7 kB] Get: 171 http://deb.debian.org/debian buster/main i386 libpoppler82 i386 0.71.0-5 [1548 kB] Get: 172 http://deb.debian.org/debian buster/main i386 libreadline-dev i386 7.0-5 [146 kB] Get: 173 http://deb.debian.org/debian buster/main i386 libxft2 i386 2.3.2-2 [58.2 kB] Get: 174 http://deb.debian.org/debian buster/main i386 libxinerama1 i386 2:1.1.4-2 [17.9 kB] Get: 175 http://deb.debian.org/debian buster/main i386 libyaml-0-2 i386 0.2.1-1 [49.7 kB] Get: 176 http://deb.debian.org/debian buster/main i386 poppler-utils i386 0.71.0-5 [189 kB] Get: 177 http://deb.debian.org/debian buster/main i386 swi-prolog-nox i386 8.0.2+dfsg-3+deb10u1 [3787 kB] Get: 178 http://deb.debian.org/debian buster/main i386 swi-prolog-x i386 8.0.2+dfsg-3+deb10u1 [2124 kB] Get: 179 http://deb.debian.org/debian buster/main i386 swi-prolog i386 8.0.2+dfsg-3+deb10u1 [24.4 kB] Get: 180 http://deb.debian.org/debian buster/main i386 texlive-lang-greek all 2018.20190227-2 [76.3 MB] Get: 181 http://deb.debian.org/debian buster/main i386 texlive-science all 2018.20190227-2 [3168 kB] Fetched 296 MB in 1min 4s (4633 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19231 files and directories currently installed.) Preparing to unpack .../00-libbsd0_0.9.1-2_i386.deb ... Unpacking libbsd0:i386 (0.9.1-2) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../01-bsdmainutils_11.1.2+b1_i386.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../02-libuchardet0_0.0.6-3_i386.deb ... Unpacking libuchardet0:i386 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../03-groff-base_1.22.4-3_i386.deb ... Unpacking groff-base (1.22.4-3) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../04-libpipeline1_1.5.1-2_i386.deb ... Unpacking libpipeline1:i386 (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../05-man-db_2.8.5-2_i386.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package libpython2.7-minimal:i386. Preparing to unpack .../06-libpython2.7-minimal_2.7.16-2+deb10u1_i386.deb ... Unpacking libpython2.7-minimal:i386 (2.7.16-2+deb10u1) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../07-python2.7-minimal_2.7.16-2+deb10u1_i386.deb ... Unpacking python2.7-minimal (2.7.16-2+deb10u1) ... Selecting previously unselected package python2-minimal. Preparing to unpack .../08-python2-minimal_2.7.16-1_i386.deb ... Unpacking python2-minimal (2.7.16-1) ... Selecting previously unselected package python-minimal. Preparing to unpack .../09-python-minimal_2.7.16-1_i386.deb ... Unpacking python-minimal (2.7.16-1) ... Selecting previously unselected package libssl1.1:i386. Preparing to unpack .../10-libssl1.1_1.1.1d-0+deb10u2_i386.deb ... Unpacking libssl1.1:i386 (1.1.1d-0+deb10u2) ... Selecting previously unselected package mime-support. Preparing to unpack .../11-mime-support_3.62_all.deb ... Unpacking mime-support (3.62) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../12-libexpat1_2.2.6-2+deb10u1_i386.deb ... Unpacking libexpat1:i386 (2.2.6-2+deb10u1) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_7.0-5_all.deb ... Unpacking readline-common (7.0-5) ... Selecting previously unselected package libreadline7:i386. Preparing to unpack .../14-libreadline7_7.0-5_i386.deb ... Unpacking libreadline7:i386 (7.0-5) ... Selecting previously unselected package libpython2.7-stdlib:i386. Preparing to unpack .../15-libpython2.7-stdlib_2.7.16-2+deb10u1_i386.deb ... Unpacking libpython2.7-stdlib:i386 (2.7.16-2+deb10u1) ... Selecting previously unselected package python2.7. Preparing to unpack .../16-python2.7_2.7.16-2+deb10u1_i386.deb ... Unpacking python2.7 (2.7.16-2+deb10u1) ... Selecting previously unselected package libpython2-stdlib:i386. Preparing to unpack .../17-libpython2-stdlib_2.7.16-1_i386.deb ... Unpacking libpython2-stdlib:i386 (2.7.16-1) ... Selecting previously unselected package libpython-stdlib:i386. Preparing to unpack .../18-libpython-stdlib_2.7.16-1_i386.deb ... Unpacking libpython-stdlib:i386 (2.7.16-1) ... Setting up libpython2.7-minimal:i386 (2.7.16-2+deb10u1) ... Setting up python2.7-minimal (2.7.16-2+deb10u1) ... Setting up python2-minimal (2.7.16-1) ... Selecting previously unselected package python2. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20696 files and directories currently installed.) Preparing to unpack .../python2_2.7.16-1_i386.deb ... Unpacking python2 (2.7.16-1) ... Setting up python-minimal (2.7.16-1) ... Selecting previously unselected package python. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20729 files and directories currently installed.) Preparing to unpack .../000-python_2.7.16-1_i386.deb ... Unpacking python (2.7.16-1) ... Selecting previously unselected package poppler-data. Preparing to unpack .../001-poppler-data_0.4.9-2_all.deb ... Unpacking poppler-data (0.4.9-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../002-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package ucf. Preparing to unpack .../003-ucf_3.0038+nmu1_all.deb ... Moving old data out of the way Unpacking ucf (3.0038+nmu1) ... Selecting previously unselected package tex-common. Preparing to unpack .../004-tex-common_6.11_all.deb ... Unpacking tex-common (6.11) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../005-libmagic-mgc_1%3a5.35-4+deb10u1_i386.deb ... Unpacking libmagic-mgc (1:5.35-4+deb10u1) ... Selecting previously unselected package libmagic1:i386. Preparing to unpack .../006-libmagic1_1%3a5.35-4+deb10u1_i386.deb ... Unpacking libmagic1:i386 (1:5.35-4+deb10u1) ... Selecting previously unselected package file. Preparing to unpack .../007-file_1%3a5.35-4+deb10u1_i386.deb ... Unpacking file (1:5.35-4+deb10u1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../008-gettext-base_0.19.8.1-9_i386.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package libsigsegv2:i386. Preparing to unpack .../009-libsigsegv2_2.12-2_i386.deb ... Unpacking libsigsegv2:i386 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../010-m4_1.4.18-2_i386.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../011-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../012-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../013-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../014-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package chrpath. Preparing to unpack .../015-chrpath_0.16-2+b1_i386.deb ... Unpacking chrpath (0.16-2+b1) ... Selecting previously unselected package libpaper1:i386. Preparing to unpack .../016-libpaper1_1.1.28_i386.deb ... Unpacking libpaper1:i386 (1.1.28) ... Selecting previously unselected package libpaper-utils. Preparing to unpack .../017-libpaper-utils_1.1.28_i386.deb ... Unpacking libpaper-utils (1.1.28) ... Selecting previously unselected package libkpathsea6:i386. Preparing to unpack .../018-libkpathsea6_2018.20181218.49446-1_i386.deb ... Unpacking libkpathsea6:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libptexenc1:i386. Preparing to unpack .../019-libptexenc1_2018.20181218.49446-1_i386.deb ... Unpacking libptexenc1:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libsynctex2:i386. Preparing to unpack .../020-libsynctex2_2018.20181218.49446-1_i386.deb ... Unpacking libsynctex2:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libtexlua52:i386. Preparing to unpack .../021-libtexlua52_2018.20181218.49446-1_i386.deb ... Unpacking libtexlua52:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libtexlua53:i386. Preparing to unpack .../022-libtexlua53_2018.20181218.49446-1_i386.deb ... Unpacking libtexlua53:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libtexluajit2:i386. Preparing to unpack .../023-libtexluajit2_2018.20181218.49446-1_i386.deb ... Unpacking libtexluajit2:i386 (2018.20181218.49446-1) ... Selecting previously unselected package t1utils. Preparing to unpack .../024-t1utils_1.41-3_i386.deb ... Unpacking t1utils (1.41-3) ... Selecting previously unselected package libbrotli1:i386. Preparing to unpack .../025-libbrotli1_1.0.7-2_i386.deb ... Unpacking libbrotli1:i386 (1.0.7-2) ... Selecting previously unselected package libpng16-16:i386. Preparing to unpack .../026-libpng16-16_1.6.36-6_i386.deb ... Unpacking libpng16-16:i386 (1.6.36-6) ... Selecting previously unselected package libfreetype6:i386. Preparing to unpack .../027-libfreetype6_2.9.1-3+deb10u1_i386.deb ... Unpacking libfreetype6:i386 (2.9.1-3+deb10u1) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../028-fonts-dejavu-core_2.37-1_all.deb ... Unpacking fonts-dejavu-core (2.37-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../029-fontconfig-config_2.13.1-2_all.deb ... Unpacking fontconfig-config (2.13.1-2) ... Selecting previously unselected package libfontconfig1:i386. Preparing to unpack .../030-libfontconfig1_2.13.1-2_i386.deb ... Unpacking libfontconfig1:i386 (2.13.1-2) ... Selecting previously unselected package libpixman-1-0:i386. Preparing to unpack .../031-libpixman-1-0_0.36.0-1_i386.deb ... Unpacking libpixman-1-0:i386 (0.36.0-1) ... Selecting previously unselected package libxau6:i386. Preparing to unpack .../032-libxau6_1%3a1.0.8-1+b2_i386.deb ... Unpacking libxau6:i386 (1:1.0.8-1+b2) ... Selecting previously unselected package libxdmcp6:i386. Preparing to unpack .../033-libxdmcp6_1%3a1.1.2-3_i386.deb ... Unpacking libxdmcp6:i386 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:i386. Preparing to unpack .../034-libxcb1_1.13.1-2_i386.deb ... Unpacking libxcb1:i386 (1.13.1-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../035-libx11-data_2%3a1.6.7-1_all.deb ... Unpacking libx11-data (2:1.6.7-1) ... Selecting previously unselected package libx11-6:i386. Preparing to unpack .../036-libx11-6_2%3a1.6.7-1_i386.deb ... Unpacking libx11-6:i386 (2:1.6.7-1) ... Selecting previously unselected package libxcb-render0:i386. Preparing to unpack .../037-libxcb-render0_1.13.1-2_i386.deb ... Unpacking libxcb-render0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-shm0:i386. Preparing to unpack .../038-libxcb-shm0_1.13.1-2_i386.deb ... Unpacking libxcb-shm0:i386 (1.13.1-2) ... Selecting previously unselected package libxext6:i386. Preparing to unpack .../039-libxext6_2%3a1.3.3-1+b2_i386.deb ... Unpacking libxext6:i386 (2:1.3.3-1+b2) ... Selecting previously unselected package libxrender1:i386. Preparing to unpack .../040-libxrender1_1%3a0.9.10-1_i386.deb ... Unpacking libxrender1:i386 (1:0.9.10-1) ... Selecting previously unselected package libcairo2:i386. Preparing to unpack .../041-libcairo2_1.16.0-4_i386.deb ... Unpacking libcairo2:i386 (1.16.0-4) ... Selecting previously unselected package libgraphite2-3:i386. Preparing to unpack .../042-libgraphite2-3_1.3.13-7_i386.deb ... Unpacking libgraphite2-3:i386 (1.3.13-7) ... Selecting previously unselected package libgs9-common. Preparing to unpack .../043-libgs9-common_9.27~dfsg-2+deb10u3_all.deb ... Unpacking libgs9-common (9.27~dfsg-2+deb10u3) ... Selecting previously unselected package libavahi-common-data:i386. Preparing to unpack .../044-libavahi-common-data_0.7-4+b1_i386.deb ... Unpacking libavahi-common-data:i386 (0.7-4+b1) ... Selecting previously unselected package libavahi-common3:i386. Preparing to unpack .../045-libavahi-common3_0.7-4+b1_i386.deb ... Unpacking libavahi-common3:i386 (0.7-4+b1) ... Selecting previously unselected package libdbus-1-3:i386. Preparing to unpack .../046-libdbus-1-3_1.12.16-1_i386.deb ... Unpacking libdbus-1-3:i386 (1.12.16-1) ... Selecting previously unselected package libavahi-client3:i386. Preparing to unpack .../047-libavahi-client3_0.7-4+b1_i386.deb ... Unpacking libavahi-client3:i386 (0.7-4+b1) ... Selecting previously unselected package libkeyutils1:i386. Preparing to unpack .../048-libkeyutils1_1.6-6_i386.deb ... Unpacking libkeyutils1:i386 (1.6-6) ... Selecting previously unselected package libkrb5support0:i386. Preparing to unpack .../049-libkrb5support0_1.17-3_i386.deb ... Unpacking libkrb5support0:i386 (1.17-3) ... Selecting previously unselected package libk5crypto3:i386. Preparing to unpack .../050-libk5crypto3_1.17-3_i386.deb ... Unpacking libk5crypto3:i386 (1.17-3) ... Selecting previously unselected package libkrb5-3:i386. Preparing to unpack .../051-libkrb5-3_1.17-3_i386.deb ... Unpacking libkrb5-3:i386 (1.17-3) ... Selecting previously unselected package libgssapi-krb5-2:i386. Preparing to unpack .../052-libgssapi-krb5-2_1.17-3_i386.deb ... Unpacking libgssapi-krb5-2:i386 (1.17-3) ... Selecting previously unselected package libcups2:i386. Preparing to unpack .../053-libcups2_2.2.10-6+deb10u2_i386.deb ... Unpacking libcups2:i386 (2.2.10-6+deb10u2) ... Selecting previously unselected package libcupsimage2:i386. Preparing to unpack .../054-libcupsimage2_2.2.10-6+deb10u2_i386.deb ... Unpacking libcupsimage2:i386 (2.2.10-6+deb10u2) ... Selecting previously unselected package libidn11:i386. Preparing to unpack .../055-libidn11_1.33-2.2_i386.deb ... Unpacking libidn11:i386 (1.33-2.2) ... Selecting previously unselected package libijs-0.35:i386. Preparing to unpack .../056-libijs-0.35_0.35-14_i386.deb ... Unpacking libijs-0.35:i386 (0.35-14) ... Selecting previously unselected package libjbig2dec0:i386. Preparing to unpack .../057-libjbig2dec0_0.16-1_i386.deb ... Unpacking libjbig2dec0:i386 (0.16-1) ... Selecting previously unselected package libjpeg62-turbo:i386. Preparing to unpack .../058-libjpeg62-turbo_1%3a1.5.2-2+b1_i386.deb ... Unpacking libjpeg62-turbo:i386 (1:1.5.2-2+b1) ... Selecting previously unselected package liblcms2-2:i386. Preparing to unpack .../059-liblcms2-2_2.9-3_i386.deb ... Unpacking liblcms2-2:i386 (2.9-3) ... Selecting previously unselected package libopenjp2-7:i386. Preparing to unpack .../060-libopenjp2-7_2.3.0-2+deb10u1_i386.deb ... Unpacking libopenjp2-7:i386 (2.3.0-2+deb10u1) ... Selecting previously unselected package libjbig0:i386. Preparing to unpack .../061-libjbig0_2.1-3.1+b2_i386.deb ... Unpacking libjbig0:i386 (2.1-3.1+b2) ... Selecting previously unselected package libwebp6:i386. Preparing to unpack .../062-libwebp6_0.6.1-2_i386.deb ... Unpacking libwebp6:i386 (0.6.1-2) ... Selecting previously unselected package libtiff5:i386. Preparing to unpack .../063-libtiff5_4.1.0+git191117-2~deb10u1_i386.deb ... Unpacking libtiff5:i386 (4.1.0+git191117-2~deb10u1) ... Selecting previously unselected package libgs9:i386. Preparing to unpack .../064-libgs9_9.27~dfsg-2+deb10u3_i386.deb ... Unpacking libgs9:i386 (9.27~dfsg-2+deb10u3) ... Selecting previously unselected package libglib2.0-0:i386. Preparing to unpack .../065-libglib2.0-0_2.58.3-2+deb10u2_i386.deb ... Unpacking libglib2.0-0:i386 (2.58.3-2+deb10u2) ... Selecting previously unselected package libharfbuzz0b:i386. Preparing to unpack .../066-libharfbuzz0b_2.3.1-1_i386.deb ... Unpacking libharfbuzz0b:i386 (2.3.1-1) ... Selecting previously unselected package libicu63:i386. Preparing to unpack .../067-libicu63_63.1-6_i386.deb ... Unpacking libicu63:i386 (63.1-6) ... Selecting previously unselected package libharfbuzz-icu0:i386. Preparing to unpack .../068-libharfbuzz-icu0_2.3.1-1_i386.deb ... Unpacking libharfbuzz-icu0:i386 (2.3.1-1) ... Selecting previously unselected package lsb-base. Preparing to unpack .../069-lsb-base_10.2019051400_all.deb ... Unpacking lsb-base (10.2019051400) ... Selecting previously unselected package x11-common. Preparing to unpack .../070-x11-common_1%3a7.7+19_all.deb ... Unpacking x11-common (1:7.7+19) ... Selecting previously unselected package libice6:i386. Preparing to unpack .../071-libice6_2%3a1.0.9-2_i386.deb ... Unpacking libice6:i386 (2:1.0.9-2) ... Selecting previously unselected package libpotrace0:i386. Preparing to unpack .../072-libpotrace0_1.15-1_i386.deb ... Unpacking libpotrace0:i386 (1.15-1) ... Selecting previously unselected package libsm6:i386. Preparing to unpack .../073-libsm6_2%3a1.2.3-1_i386.deb ... Unpacking libsm6:i386 (2:1.2.3-1) ... Selecting previously unselected package libteckit0:i386. Preparing to unpack .../074-libteckit0_2.5.8+ds2-5_i386.deb ... Unpacking libteckit0:i386 (2.5.8+ds2-5) ... Selecting previously unselected package libwoff1:i386. Preparing to unpack .../075-libwoff1_1.0.2-1_i386.deb ... Unpacking libwoff1:i386 (1.0.2-1) ... Selecting previously unselected package libxt6:i386. Preparing to unpack .../076-libxt6_1%3a1.1.5-1+b3_i386.deb ... Unpacking libxt6:i386 (1:1.1.5-1+b3) ... Selecting previously unselected package libxmu6:i386. Preparing to unpack .../077-libxmu6_2%3a1.1.2-2+b3_i386.deb ... Unpacking libxmu6:i386 (2:1.1.2-2+b3) ... Selecting previously unselected package libxpm4:i386. Preparing to unpack .../078-libxpm4_1%3a3.5.12-1_i386.deb ... Unpacking libxpm4:i386 (1:3.5.12-1) ... Selecting previously unselected package libxaw7:i386. Preparing to unpack .../079-libxaw7_2%3a1.0.13-1+b2_i386.deb ... Unpacking libxaw7:i386 (2:1.0.13-1+b2) ... Selecting previously unselected package libxi6:i386. Preparing to unpack .../080-libxi6_2%3a1.7.9-1_i386.deb ... Unpacking libxi6:i386 (2:1.7.9-1) ... Selecting previously unselected package libxxhash0:i386. Preparing to unpack .../081-libxxhash0_0.6.5-2_i386.deb ... Unpacking libxxhash0:i386 (0.6.5-2) ... Selecting previously unselected package libzzip-0-13:i386. Preparing to unpack .../082-libzzip-0-13_0.13.62-3.2_i386.deb ... Unpacking libzzip-0-13:i386 (0.13.62-3.2) ... Selecting previously unselected package texlive-binaries. Preparing to unpack .../083-texlive-binaries_2018.20181218.49446-1_i386.deb ... Unpacking texlive-binaries (2018.20181218.49446-1) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../084-xdg-utils_1.1.3-1_all.deb ... Unpacking xdg-utils (1.1.3-1) ... Selecting previously unselected package texlive-base. Preparing to unpack .../085-texlive-base_2018.20190227-2_all.deb ... Unpacking texlive-base (2018.20190227-2) ... Selecting previously unselected package fonts-lmodern. Preparing to unpack .../086-fonts-lmodern_2.004.5-6_all.deb ... Unpacking fonts-lmodern (2.004.5-6) ... Selecting previously unselected package texlive-latex-base. Preparing to unpack .../087-texlive-latex-base_2018.20190227-2_all.deb ... Unpacking texlive-latex-base (2018.20190227-2) ... Selecting previously unselected package texlive-latex-recommended. Preparing to unpack .../088-texlive-latex-recommended_2018.20190227-2_all.deb ... Unpacking texlive-latex-recommended (2018.20190227-2) ... Selecting previously unselected package cm-super-minimal. Preparing to unpack .../089-cm-super-minimal_0.3.4-14_all.deb ... Unpacking cm-super-minimal (0.3.4-14) ... Selecting previously unselected package libtool. Preparing to unpack .../090-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../091-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../092-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../093-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../094-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:i386. Preparing to unpack .../095-libelf1_0.176-1.1_i386.deb ... Unpacking libelf1:i386 (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../096-dwz_0.12-3_i386.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../097-libxml2_2.9.4+dfsg1-7+b3_i386.deb ... Unpacking libxml2:i386 (2.9.4+dfsg1-7+b3) ... Selecting previously unselected package libcroco3:i386. Preparing to unpack .../098-libcroco3_0.6.12-3_i386.deb ... Unpacking libcroco3:i386 (0.6.12-3) ... Selecting previously unselected package libncurses6:i386. Preparing to unpack .../099-libncurses6_6.1+20181013-2+deb10u2_i386.deb ... Unpacking libncurses6:i386 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package gettext. Preparing to unpack .../100-gettext_0.19.8.1-9_i386.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../101-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../102-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../103-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package libedit2:i386. Preparing to unpack .../104-libedit2_3.1-20181209-1_i386.deb ... Unpacking libedit2:i386 (3.1-20181209-1) ... Selecting previously unselected package libllvm6.0:i386. Preparing to unpack .../105-libllvm6.0_1%3a6.0.1-10_i386.deb ... Unpacking libllvm6.0:i386 (1:6.0.1-10) ... Selecting previously unselected package libclang1-6.0:i386. Preparing to unpack .../106-libclang1-6.0_1%3a6.0.1-10_i386.deb ... Unpacking libclang1-6.0:i386 (1:6.0.1-10) ... Selecting previously unselected package doxygen. Preparing to unpack .../107-doxygen_1.8.13-10_i386.deb ... Unpacking doxygen (1.8.13-10) ... Selecting previously unselected package libthai-data. Preparing to unpack .../108-libthai-data_0.1.28-2_all.deb ... Unpacking libthai-data (0.1.28-2) ... Selecting previously unselected package libdatrie1:i386. Preparing to unpack .../109-libdatrie1_0.2.12-2_i386.deb ... Unpacking libdatrie1:i386 (0.2.12-2) ... Selecting previously unselected package libthai0:i386. Preparing to unpack .../110-libthai0_0.1.28-2_i386.deb ... Unpacking libthai0:i386 (0.1.28-2) ... Selecting previously unselected package libsombok3:i386. Preparing to unpack .../111-libsombok3_2.4.0-2_i386.deb ... Unpacking libsombok3:i386 (2.4.0-2) ... Selecting previously unselected package libmime-charset-perl. Preparing to unpack .../112-libmime-charset-perl_1.012.2-1_all.deb ... Unpacking libmime-charset-perl (1.012.2-1) ... Selecting previously unselected package libunicode-linebreak-perl. Preparing to unpack .../113-libunicode-linebreak-perl_0.0.20190101-1_i386.deb ... Unpacking libunicode-linebreak-perl (0.0.20190101-1) ... Selecting previously unselected package texlive-extra-utils. Preparing to unpack .../114-texlive-extra-utils_2018.20190227-2_all.deb ... Unpacking texlive-extra-utils (2018.20190227-2) ... Selecting previously unselected package preview-latex-style. Preparing to unpack .../115-preview-latex-style_11.91-2_all.deb ... Unpacking preview-latex-style (11.91-2) ... Selecting previously unselected package texlive-pictures. Preparing to unpack .../116-texlive-pictures_2018.20190227-2_all.deb ... Unpacking texlive-pictures (2018.20190227-2) ... Selecting previously unselected package texlive-latex-extra. Preparing to unpack .../117-texlive-latex-extra_2018.20190227-2_all.deb ... Unpacking texlive-latex-extra (2018.20190227-2) ... Selecting previously unselected package texlive-font-utils. Preparing to unpack .../118-texlive-font-utils_2018.20190227-2_all.deb ... Unpacking texlive-font-utils (2018.20190227-2) ... Selecting previously unselected package ghostscript. Preparing to unpack .../119-ghostscript_9.27~dfsg-2+deb10u3_i386.deb ... Unpacking ghostscript (9.27~dfsg-2+deb10u3) ... Selecting previously unselected package texlive-fonts-recommended. Preparing to unpack .../120-texlive-fonts-recommended_2018.20190227-2_all.deb ... Unpacking texlive-fonts-recommended (2018.20190227-2) ... Selecting previously unselected package doxygen-latex. Preparing to unpack .../121-doxygen-latex_1.8.13-10_all.deb ... Unpacking doxygen-latex (1.8.13-10) ... Selecting previously unselected package fontconfig. Preparing to unpack .../122-fontconfig_2.13.1-2_i386.deb ... Unpacking fontconfig (2.13.1-2) ... Selecting previously unselected package fonts-gfs-baskerville. Preparing to unpack .../123-fonts-gfs-baskerville_1.1-5_all.deb ... Unpacking fonts-gfs-baskerville (1.1-5) ... Selecting previously unselected package fonts-gfs-porson. Preparing to unpack .../124-fonts-gfs-porson_1.1-6_all.deb ... Unpacking fonts-gfs-porson (1.1-6) ... Selecting previously unselected package libcdt5. Preparing to unpack .../125-libcdt5_2.40.1-6_i386.deb ... Unpacking libcdt5 (2.40.1-6) ... Selecting previously unselected package libcgraph6. Preparing to unpack .../126-libcgraph6_2.40.1-6_i386.deb ... Unpacking libcgraph6 (2.40.1-6) ... Selecting previously unselected package libgd3:i386. Preparing to unpack .../127-libgd3_2.2.5-5.2_i386.deb ... Unpacking libgd3:i386 (2.2.5-5.2) ... Selecting previously unselected package libgts-0.7-5:i386. Preparing to unpack .../128-libgts-0.7-5_0.7.6+darcs121130-4_i386.deb ... Unpacking libgts-0.7-5:i386 (0.7.6+darcs121130-4) ... Selecting previously unselected package libltdl7:i386. Preparing to unpack .../129-libltdl7_2.4.6-9_i386.deb ... Unpacking libltdl7:i386 (2.4.6-9) ... Selecting previously unselected package libfribidi0:i386. Preparing to unpack .../130-libfribidi0_1.0.5-3.1+deb10u1_i386.deb ... Unpacking libfribidi0:i386 (1.0.5-3.1+deb10u1) ... Selecting previously unselected package libpango-1.0-0:i386. Preparing to unpack .../131-libpango-1.0-0_1.42.4-7~deb10u1_i386.deb ... Unpacking libpango-1.0-0:i386 (1.42.4-7~deb10u1) ... Selecting previously unselected package libpangoft2-1.0-0:i386. Preparing to unpack .../132-libpangoft2-1.0-0_1.42.4-7~deb10u1_i386.deb ... Unpacking libpangoft2-1.0-0:i386 (1.42.4-7~deb10u1) ... Selecting previously unselected package libpangocairo-1.0-0:i386. Preparing to unpack .../133-libpangocairo-1.0-0_1.42.4-7~deb10u1_i386.deb ... Unpacking libpangocairo-1.0-0:i386 (1.42.4-7~deb10u1) ... Selecting previously unselected package libpathplan4. Preparing to unpack .../134-libpathplan4_2.40.1-6_i386.deb ... Unpacking libpathplan4 (2.40.1-6) ... Selecting previously unselected package libxdot4. Preparing to unpack .../135-libxdot4_2.40.1-6_i386.deb ... Unpacking libxdot4 (2.40.1-6) ... Selecting previously unselected package libgvc6. Preparing to unpack .../136-libgvc6_2.40.1-6_i386.deb ... Unpacking libgvc6 (2.40.1-6) ... Selecting previously unselected package libgvpr2. Preparing to unpack .../137-libgvpr2_2.40.1-6_i386.deb ... Unpacking libgvpr2 (2.40.1-6) ... Selecting previously unselected package liblab-gamut1. Preparing to unpack .../138-liblab-gamut1_2.40.1-6_i386.deb ... Unpacking liblab-gamut1 (2.40.1-6) ... Selecting previously unselected package graphviz. Preparing to unpack .../139-graphviz_2.40.1-6_i386.deb ... Unpacking graphviz (2.40.1-6) ... Selecting previously unselected package libarchive13:i386. Preparing to unpack .../140-libarchive13_3.3.3-4+deb10u1_i386.deb ... Unpacking libarchive13:i386 (3.3.3-4+deb10u1) ... Selecting previously unselected package libbsd-dev:i386. Preparing to unpack .../141-libbsd-dev_0.9.1-2_i386.deb ... Unpacking libbsd-dev:i386 (0.9.1-2) ... Selecting previously unselected package libncurses-dev:i386. Preparing to unpack .../142-libncurses-dev_6.1+20181013-2+deb10u2_i386.deb ... Unpacking libncurses-dev:i386 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package libedit-dev:i386. Preparing to unpack .../143-libedit-dev_3.1-20181209-1_i386.deb ... Unpacking libedit-dev:i386 (3.1-20181209-1) ... Selecting previously unselected package libgmpxx4ldbl:i386. Preparing to unpack .../144-libgmpxx4ldbl_2%3a6.1.2+dfsg-4_i386.deb ... Unpacking libgmpxx4ldbl:i386 (2:6.1.2+dfsg-4) ... Selecting previously unselected package libgmp-dev:i386. Preparing to unpack .../145-libgmp-dev_2%3a6.1.2+dfsg-4_i386.deb ... Unpacking libgmp-dev:i386 (2:6.1.2+dfsg-4) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../146-libjs-jquery_3.3.1~dfsg-3_all.deb ... Unpacking libjs-jquery (3.3.1~dfsg-3) ... Selecting previously unselected package libnspr4:i386. Preparing to unpack .../147-libnspr4_2%3a4.20-1_i386.deb ... Unpacking libnspr4:i386 (2:4.20-1) ... Selecting previously unselected package libnss3:i386. Preparing to unpack .../148-libnss3_2%3a3.42.1-1+deb10u2_i386.deb ... Unpacking libnss3:i386 (2:3.42.1-1+deb10u2) ... Selecting previously unselected package libossp-uuid16:i386. Preparing to unpack .../149-libossp-uuid16_1.6.2-1.5+b7_i386.deb ... Unpacking libossp-uuid16:i386 (1.6.2-1.5+b7) ... Selecting previously unselected package libpoppler82:i386. Preparing to unpack .../150-libpoppler82_0.71.0-5_i386.deb ... Unpacking libpoppler82:i386 (0.71.0-5) ... Selecting previously unselected package libreadline-dev:i386. Preparing to unpack .../151-libreadline-dev_7.0-5_i386.deb ... Unpacking libreadline-dev:i386 (7.0-5) ... Selecting previously unselected package libxft2:i386. Preparing to unpack .../152-libxft2_2.3.2-2_i386.deb ... Unpacking libxft2:i386 (2.3.2-2) ... Selecting previously unselected package libxinerama1:i386. Preparing to unpack .../153-libxinerama1_2%3a1.1.4-2_i386.deb ... Unpacking libxinerama1:i386 (2:1.1.4-2) ... Selecting previously unselected package libyaml-0-2:i386. Preparing to unpack .../154-libyaml-0-2_0.2.1-1_i386.deb ... Unpacking libyaml-0-2:i386 (0.2.1-1) ... Selecting previously unselected package poppler-utils. Preparing to unpack .../155-poppler-utils_0.71.0-5_i386.deb ... Unpacking poppler-utils (0.71.0-5) ... Selecting previously unselected package swi-prolog-nox. Preparing to unpack .../156-swi-prolog-nox_8.0.2+dfsg-3+deb10u1_i386.deb ... Unpacking swi-prolog-nox (8.0.2+dfsg-3+deb10u1) ... Selecting previously unselected package swi-prolog-x. Preparing to unpack .../157-swi-prolog-x_8.0.2+dfsg-3+deb10u1_i386.deb ... Unpacking swi-prolog-x (8.0.2+dfsg-3+deb10u1) ... Selecting previously unselected package swi-prolog. Preparing to unpack .../158-swi-prolog_8.0.2+dfsg-3+deb10u1_i386.deb ... Unpacking swi-prolog (8.0.2+dfsg-3+deb10u1) ... Selecting previously unselected package texlive-lang-greek. Preparing to unpack .../159-texlive-lang-greek_2018.20190227-2_all.deb ... Unpacking texlive-lang-greek (2018.20190227-2) ... Selecting previously unselected package texlive-science. Preparing to unpack .../160-texlive-science_2018.20190227-2_all.deb ... Unpacking texlive-science (2018.20190227-2) ... Setting up libgs9-common (9.27~dfsg-2+deb10u3) ... Setting up libexpat1:i386 (2.2.6-2+deb10u1) ... Setting up libpipeline1:i386 (1.5.1-2) ... Setting up libxdot4 (2.40.1-6) ... Setting up libgraphite2-3:i386 (1.3.13-7) ... Setting up liblcms2-2:i386 (2.9-3) ... Setting up libpixman-1-0:i386 (0.36.0-1) ... Setting up lsb-base (10.2019051400) ... Setting up libxau6:i386 (1:1.0.8-1+b2) ... Setting up libkeyutils1:i386 (1.6-6) ... Setting up mime-support (3.62) ... Setting up libtexlua52:i386 (2018.20181218.49446-1) ... Setting up fonts-gfs-porson (1.1-6) ... Setting up libdatrie1:i386 (0.2.12-2) ... Setting up libmagic-mgc (1:5.35-4+deb10u1) ... Setting up libtexlua53:i386 (2018.20181218.49446-1) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libyaml-0-2:i386 (0.2.1-1) ... Setting up libglib2.0-0:i386 (2.58.3-2+deb10u2) ... No schema files found: doing nothing. Setting up libssl1.1:i386 (1.1.1d-0+deb10u2) ... Setting up libijs-0.35:i386 (0.35-14) ... Setting up libtexluajit2:i386 (2018.20181218.49446-1) ... Setting up libbrotli1:i386 (1.0.7-2) ... Setting up liblab-gamut1 (2.40.1-6) ... Setting up x11-common (1:7.7+19) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libmagic1:i386 (1:5.35-4+deb10u1) ... Setting up gettext-base (0.19.8.1-9) ... Setting up libzzip-0-13:i386 (0.13.62-3.2) ... Setting up file (1:5.35-4+deb10u1) ... Setting up libossp-uuid16:i386 (1.6.2-1.5+b7) ... Setting up libjbig0:i386 (2.1-3.1+b2) ... Setting up libicu63:i386 (63.1-6) ... Setting up poppler-data (0.4.9-2) ... Setting up libkrb5support0:i386 (1.17-3) ... Setting up libgts-0.7-5:i386 (0.7.6+darcs121130-4) ... Setting up autotools-dev (20180224.1) ... Setting up libgmpxx4ldbl:i386 (2:6.1.2+dfsg-4) ... Setting up libjpeg62-turbo:i386 (1:1.5.2-2+b1) ... Setting up libx11-data (2:1.6.7-1) ... Setting up libnspr4:i386 (2:4.20-1) ... Setting up libjbig2dec0:i386 (0.16-1) ... Setting up libidn11:i386 (1.33-2.2) ... Setting up libteckit0:i386 (2.5.8+ds2-5) ... Setting up libpathplan4 (2.40.1-6) ... Setting up libavahi-common-data:i386 (0.7-4+b1) ... Setting up libncurses6:i386 (6.1+20181013-2+deb10u2) ... Setting up libdbus-1-3:i386 (1.12.16-1) ... Setting up libsigsegv2:i386 (2.12-2) ... Setting up libfribidi0:i386 (1.0.5-3.1+deb10u1) ... Setting up t1utils (1.41-3) ... Setting up libpng16-16:i386 (1.6.36-6) ... Setting up autopoint (0.19.8.1-9) ... Setting up libwebp6:i386 (0.6.1-2) ... Setting up fonts-dejavu-core (2.37-1) ... Setting up libk5crypto3:i386 (1.17-3) ... Setting up libltdl7:i386 (2.4.6-9) ... Setting up libkpathsea6:i386 (2018.20181218.49446-1) ... Setting up fonts-gfs-baskerville (1.1-5) ... Setting up sensible-utils (0.0.12) ... Setting up libmime-charset-perl (1.012.2-1) ... Setting up libxxhash0:i386 (0.6.5-2) ... Setting up libuchardet0:i386 (0.0.6-3) ... Setting up fonts-lmodern (2.004.5-6) ... Setting up libopenjp2-7:i386 (2.3.0-2+deb10u1) ... Setting up libthai-data (0.1.28-2) ... Setting up libcdt5 (2.40.1-6) ... Setting up libkrb5-3:i386 (1.17-3) ... Setting up libcgraph6 (2.40.1-6) ... Setting up libtiff5:i386 (4.1.0+git191117-2~deb10u1) ... Setting up libjs-jquery (3.3.1~dfsg-3) ... Setting up libbsd0:i386 (0.9.1-2) ... Setting up libelf1:i386 (0.176-1.1) ... Setting up readline-common (7.0-5) ... Setting up libxml2:i386 (2.9.4+dfsg1-7+b3) ... Setting up xdg-utils (1.1.3-1) ... Setting up libbsd-dev:i386 (0.9.1-2) ... Setting up chrpath (0.16-2+b1) ... Setting up libsynctex2:i386 (2018.20181218.49446-1) ... Setting up libreadline7:i386 (7.0-5) ... Setting up libpotrace0:i386 (1.15-1) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up libice6:i386 (2:1.0.9-2) ... Setting up libxdmcp6:i386 (1:1.1.2-3) ... Setting up libncurses-dev:i386 (6.1+20181013-2+deb10u2) ... Setting up libxcb1:i386 (1.13.1-2) ... Setting up libgmp-dev:i386 (2:6.1.2+dfsg-4) ... Setting up libwoff1:i386 (1.0.2-1) ... Setting up libtool (2.4.6-9) ... Setting up libarchive13:i386 (3.3.3-4+deb10u1) ... Setting up libxcb-render0:i386 (1.13.1-2) ... Setting up libedit2:i386 (3.1-20181209-1) ... Setting up libavahi-common3:i386 (0.7-4+b1) ... Setting up m4 (1.4.18-2) ... Setting up libnss3:i386 (2:3.42.1-1+deb10u2) ... Setting up libxcb-shm0:i386 (1.13.1-2) ... Setting up libreadline-dev:i386 (7.0-5) ... Setting up libllvm6.0:i386 (1:6.0.1-10) ... Setting up libclang1-6.0:i386 (1:6.0.1-10) ... Setting up libpython2.7-stdlib:i386 (2.7.16-2+deb10u1) ... Setting up libthai0:i386 (0.1.28-2) ... Setting up doxygen (1.8.13-10) ... Setting up libptexenc1:i386 (2018.20181218.49446-1) ... Setting up libfreetype6:i386 (2.9.1-3+deb10u1) ... Setting up libedit-dev:i386 (3.1-20181209-1) ... Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libgssapi-krb5-2:i386 (1.17-3) ... Setting up libcroco3:i386 (0.6.12-3) ... Setting up ucf (3.0038+nmu1) ... Setting up autoconf (2.69-11) ... Setting up libgvpr2 (2.40.1-6) ... Setting up dwz (0.12-3) ... Setting up groff-base (1.22.4-3) ... Setting up swi-prolog-nox (8.0.2+dfsg-3+deb10u1) ... update-alternatives: using /usr/bin/swipl to provide /usr/bin/prolog (prolog) in auto mode Setting up libx11-6:i386 (2:1.6.7-1) ... Setting up libharfbuzz0b:i386 (2.3.1-1) ... Setting up libsm6:i386 (2:1.2.3-1) ... Setting up libavahi-client3:i386 (0.7-4+b1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libpaper1:i386 (1.1.28) ... Creating config file /etc/papersize with new version Setting up gettext (0.19.8.1-9) ... Setting up libharfbuzz-icu0:i386 (2.3.1-1) ... Setting up libxpm4:i386 (1:3.5.12-1) ... Setting up python2.7 (2.7.16-2+deb10u1) ... Setting up libxrender1:i386 (1:0.9.10-1) ... Setting up libpython2-stdlib:i386 (2.7.16-1) ... Setting up libsombok3:i386 (2.4.0-2) ... Setting up fontconfig-config (2.13.1-2) ... Setting up libxext6:i386 (2:1.3.3-1+b2) ... Setting up libpaper-utils (1.1.28) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up python2 (2.7.16-1) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up tex-common (6.11) ... update-language: texlive-base not installed and configured, doing nothing! Setting up libpython-stdlib:i386 (2.7.16-1) ... Setting up libunicode-linebreak-perl (0.0.20190101-1) ... Setting up libxinerama1:i386 (2:1.1.4-2) ... Setting up libxt6:i386 (1:1.1.5-1+b3) ... Setting up libcups2:i386 (2.2.10-6+deb10u2) ... Setting up libfontconfig1:i386 (2.13.1-2) ... Setting up python (2.7.16-1) ... Setting up fontconfig (2.13.1-2) ... Regenerating fonts cache... done. Setting up libxft2:i386 (2.3.2-2) ... Setting up libxmu6:i386 (2:1.1.2-2+b3) ... Setting up libxi6:i386 (2:1.7.9-1) ... Setting up po-debconf (1.0.21) ... Setting up preview-latex-style (11.91-2) ... Setting up libpango-1.0-0:i386 (1.42.4-7~deb10u1) ... Setting up libpoppler82:i386 (0.71.0-5) ... Setting up libxaw7:i386 (2:1.0.13-1+b2) ... Setting up libcairo2:i386 (1.16.0-4) ... Setting up libcupsimage2:i386 (2.2.10-6+deb10u2) ... Setting up libgd3:i386 (2.2.5-5.2) ... Setting up poppler-utils (0.71.0-5) ... Setting up libpangoft2-1.0-0:i386 (1.42.4-7~deb10u1) ... Setting up libpangocairo-1.0-0:i386 (1.42.4-7~deb10u1) ... Setting up swi-prolog-x (8.0.2+dfsg-3+deb10u1) ... Setting up libgs9:i386 (9.27~dfsg-2+deb10u3) ... Setting up ghostscript (9.27~dfsg-2+deb10u3) ... Setting up libgvc6 (2.40.1-6) ... Setting up texlive-binaries (2018.20181218.49446-1) ... update-alternatives: using /usr/bin/xdvi-xaw to provide /usr/bin/xdvi.bin (xdvi.bin) in auto mode update-alternatives: using /usr/bin/bibtex.original to provide /usr/bin/bibtex (bibtex) in auto mode Setting up swi-prolog (8.0.2+dfsg-3+deb10u1) ... Setting up texlive-base (2018.20190227-2) ... tl-paper: setting paper size for dvips to a4: /var/lib/texmf/dvips/config/config-paper.ps tl-paper: setting paper size for dvipdfmx to a4: /var/lib/texmf/dvipdfmx/dvipdfmx-paper.cfg tl-paper: setting paper size for xdvi to a4: /var/lib/texmf/xdvi/XDvi-paper tl-paper: setting paper size for pdftex to a4: /var/lib/texmf/tex/generic/config/pdftexconfig.tex Setting up graphviz (2.40.1-6) ... Setting up texlive-lang-greek (2018.20190227-2) ... Setting up texlive-font-utils (2018.20190227-2) ... Setting up texlive-latex-base (2018.20190227-2) ... Setting up texlive-extra-utils (2018.20190227-2) ... Setting up texlive-latex-recommended (2018.20190227-2) ... Setting up texlive-pictures (2018.20190227-2) ... Setting up texlive-fonts-recommended (2018.20190227-2) ... Setting up cm-super-minimal (0.3.4-14) ... Setting up texlive-science (2018.20190227-2) ... Setting up texlive-latex-extra (2018.20190227-2) ... Setting up doxygen-latex (1.8.13-10) ... Setting up dh-autoreconf (19) ... Setting up debhelper (12.1.1) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Processing triggers for libc-bin (2.28-10) ... Processing triggers for tex-common (6.11) ... Running updmap-sys. This may take some time... done. Running mktexlsr /var/lib/texmf ... done. Building format(s) --all. This may take some time... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/ppl-1.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package ppl dpkg-buildpackage: info: source version 1:1.2-7 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by James Clarke dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' configure.ac:152: installing './compile' configure.ac:43: installing './missing' demos/ppl_lcdd/Makefile.am: installing './depcomp' debian/rules override_dh_auto_configure make[1]: Entering directory '/build/ppl-1.2' dh_auto_configure -- --includedir="\${prefix}/include/i386-linux-gnu" --disable-ppl_lpsol --disable-ppl_lcdd --enable-interfaces=c,cxx,swi_prolog ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --includedir=\${prefix}/include/i386-linux-gnu --disable-ppl_lpsol --disable-ppl_lcdd --enable-interfaces=c,cxx,swi_prolog configure: WARNING: unrecognized options: --disable-maintainer-mode checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '1111' is supported by ustar format... yes checking whether GID '1111' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc... none checking whether we are actually using the Intel C compiler... no checking whether we are actually using clang... no checking whether we are actually using llvm-gcc... no checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... none checking whether we are actually using the Intel C++ compiler... no checking whether we are actually using clang++... no checking whether we are actually using llvm-g++... no checking for grep that handles long lines and -e... /bin/grep checking for fgrep... /bin/grep -F checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed checking how to run the C++ preprocessor... g++ -E checking whether make sets $(MAKE)... (cached) yes checking whether to compile with debug info... yes checking whether to compile for profiling... no checking whether to compile for test coverage... no checking whether to enable checking of run-time assertions... no checking whether to enable even more run-time assertions... no checking whether to enable optimizations... standard checking for which architecture to optimize... default checking whether to use (a specific) floating point arithmetic... default checking whether to use precompiled headers... no checking the type of integral values to use as coefficients... GMP mpz checking for an ANSI C-conforming const... yes checking for inline... inline checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no checking for typeof syntax and keyword spelling... typeof checking size of char... 1 checking size of short... 2 checking size of int... 4 checking size of long... 4 checking size of long long... 8 checking size of size_t... 4 checking size of float... 4 checking size of double... 8 checking size of long double... 12 checking size of int*... 4 checking size of fp... 4 checking for perl... /usr/bin/perl checking for library containing sqrt... none required checking fenv.h usability... yes checking fenv.h presence... yes checking for fenv.h... yes checking ieeefp.h usability... no checking ieeefp.h presence... no checking for ieeefp.h... no checking if it is possible to control the FPU... yes checking whether the plain char type is signed... yes checking whether the C++ compiler provides proper long doubles... yes checking the binary format of C++ floats... IEEE754 Single Precision checking the binary format of C++ doubles... IEEE754 Double Precision checking the binary format of C++ long doubles... Intel Double-Extended checking whether std::floor(long double) is buggy... no checking whether the C++ compiler supports zero-length arrays... yes checking whether the IEEE inexact flag is supported in C++... yes checking whether the C++ compiler supports __attribute__ ((weak))... yes checking for fenv.h... (cached) yes checking for ieeefp.h... (cached) no checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking signal.h usability... yes checking signal.h presence... yes checking for signal.h... yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking whether ffs is declared... yes checking whether getenv is declared... yes checking whether strtof is declared... yes checking whether strtod is declared... yes checking whether strtold is declared... yes checking whether strtoll is declared... yes checking whether strtoull is declared... yes checking whether fma is declared... yes checking whether fmaf is declared... yes checking whether fmal is declared... yes checking whether rintf is declared... yes checking whether rintl is declared... yes checking for int_fast16_t... yes checking for int_fast32_t... yes checking for int_fast64_t... yes checking for uint_fast16_t... yes checking for uint_fast32_t... yes checking for uint_fast64_t... yes checking for uintptr_t... yes checking how to print strings... printf checking for a sed that does not truncate output... (cached) /bin/sed checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen... no checking for dlopen in -ldl... yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself... no checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate configure: creating ./config.lt config.lt: creating libtool checking for the GMP library version 4.1.3 or above... yes checking size of mp_limb_t... 4 checking whether GMP has been compiled with support for exceptions... yes checking for __mpz_struct._mp_alloc... yes checking for __mpz_struct._mp_size... yes checking for __mpz_struct._mp_d... yes checking whether to build the ppl_lcdd program... no checking whether to build the ppl_lpsol program... no checking whether to build the ppl_pips program... yes checking whether to build the PPL documentation... yes checking which interfaces are enabled... cxx c swi_prolog checking for swipl... /usr/bin/swipl checking for swipl-ld... /usr/bin/swipl-ld checking SWI-Prolog.h usability... yes checking SWI-Prolog.h presence... yes checking for SWI-Prolog.h... yes checking for SWI-Prolog version 5.6.0 or later... yes checking for GNU M4 that supports accurate traces... /usr/bin/m4 checking how m4 supports trace files... --debugfile checking which instantiations are enabled... Polyhedron@Grid@Rational_Box@BD_Shape@BD_Shape@Octagonal_Shape@Octagonal_Shape@Constraints_Product@Pointset_Powerset@Pointset_Powerset@Double_Box@BD_Shape@Octagonal_Shape checking whether tests should be run under Valgrind... no checking whether `make check' does a thorough or quick check... quick checking for md5sum... md5sum checking for the text md5sum command... md5sum -t checking glpk.h usability... no checking glpk.h presence... no checking for glpk.h... no checking glpk/glpk.h usability... no checking glpk/glpk.h presence... no checking for glpk/glpk.h... no checking whether RLIMIT_DATA is declared... yes checking whether RLIMIT_RSS is declared... yes checking whether RLIMIT_VMEM is declared... no checking whether RLIMIT_AS is declared... yes checking whether getrusage is declared... yes checking whether setrlimit is declared... yes checking whether setitimer is declared... yes checking whether sigaction is declared... yes checking for timeval... yes checking for siginfo_t... yes checking whether we can limit memory in C++ using setrlimit()... no checking if the C++ compiler supports C++11 features... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating ppl.lsm config.status: creating src/Makefile config.status: creating src/version.hh config.status: creating src/ppl-config.cc config.status: creating tests/Makefile config.status: creating tests/BD_Shape/Makefile config.status: creating tests/Box/Makefile config.status: creating tests/Concrete_Expression/Makefile config.status: creating tests/CO_Tree/Makefile config.status: creating tests/Grid/Makefile config.status: creating tests/MIP_Problem/Makefile config.status: creating tests/Octagonal_Shape/Makefile config.status: creating tests/Partially_Reduced_Product/Makefile config.status: creating tests/PIP_Problem/Makefile config.status: creating tests/Polyhedron/Makefile config.status: creating tests/Powerset/Makefile config.status: creating tests/Watchdog/Makefile config.status: creating utils/Makefile config.status: creating m4/Makefile config.status: creating demos/Makefile config.status: creating demos/ppl_lcdd/Makefile config.status: creating demos/ppl_lcdd/examples/Makefile config.status: creating demos/ppl_lpsol/Makefile config.status: creating demos/ppl_lpsol/examples/Makefile config.status: creating demos/ppl_pips/Makefile config.status: creating demos/ppl_pips/examples/Makefile config.status: creating doc/Makefile config.status: creating doc/user.doxyconf-latex config.status: creating doc/devref.doxyconf-latex config.status: creating doc/user.doxyconf-html config.status: creating doc/devref.doxyconf-html config.status: creating doc/user-language-interface.doxyconf config.status: creating doc/devref-language-interface.doxyconf config.status: creating interfaces/Makefile config.status: creating interfaces/C/Makefile config.status: creating interfaces/C/ppl_c_version.h config.status: creating interfaces/C/tests/Makefile config.status: creating interfaces/Java/Makefile config.status: creating interfaces/Java/jni/Makefile config.status: creating interfaces/Java/tests/Makefile config.status: creating interfaces/Java/parma_polyhedra_library/Makefile config.status: creating interfaces/OCaml/Makefile config.status: creating interfaces/OCaml/tests/Makefile config.status: creating interfaces/Prolog/Makefile config.status: creating interfaces/Prolog/Ciao/Makefile config.status: creating interfaces/Prolog/GNU/Makefile config.status: creating interfaces/Prolog/SICStus/Makefile config.status: creating interfaces/Prolog/SWI/Makefile config.status: creating interfaces/Prolog/XSB/Makefile config.status: creating interfaces/Prolog/YAP/Makefile config.status: creating interfaces/Prolog/tests/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --disable-maintainer-mode make[1]: Leaving directory '/build/ppl-1.2' debian/rules override_dh_auto_build-indep make[1]: Entering directory '/build/ppl-1.2' dh_auto_build make -j10 make[2]: Entering directory '/build/ppl-1.2' make all-recursive make[3]: Entering directory '/build/ppl-1.2' Making all in . make[4]: Entering directory '/build/ppl-1.2' /bin/sed -f ./ppl-config.sed config.h >ppl-config.h make[4]: Leaving directory '/build/ppl-1.2' Making all in utils make[4]: Entering directory '/build/ppl-1.2/utils' g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o timings.o timings.cc /bin/sed -e 's,[@]PERL[@],/usr/bin/perl,g' -e 's,[@]generated_automatically[@],Generated automatically: do not modify; modify the .in file instead.,g' < ./build_header.in > build_header /bin/sed -e 's,[@]PERL[@],/usr/bin/perl,g' -e 's,[@]generated_automatically[@],Generated automatically: do not modify; modify the .in file instead.,g' < ./text2cxxarray.in > text2cxxarray chmod +x text2cxxarray chmod +x build_header rm -f libppl_utils.a ar cru libppl_utils.a timings.o ar: `u' modifier ignored since `D' is the default (see `U') ranlib libppl_utils.a make[4]: Leaving directory '/build/ppl-1.2/utils' Making all in src make[4]: Entering directory '/build/ppl-1.2/src' for file in namespaces.hh compiler.hh assertions.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits_defs.hh mp_std_bits_inlines.hh Concrete_Expression_types.hh Concrete_Expression_defs.hh Concrete_Expression_inlines.hh Temp_defs.hh Temp_inlines.hh Temp_templates.hh Coefficient_traits_template.hh Checked_Number_types.hh termination_types.hh GMP_Integer_types.hh Coefficient_types.hh stdiobuf_types.hh c_streambuf_types.hh globals_types.hh iterator_to_const_types.hh distances_types.hh Interval_Info_types.hh Interval_types.hh Box_types.hh Constraint_types.hh Generator_types.hh Grid_Generator_types.hh Congruence_types.hh Init_types.hh Dense_Row_types.hh CO_Tree_types.hh Sparse_Row_types.hh Matrix_types.hh Swapping_Vector_types.hh Variable_types.hh Variables_Set_types.hh Linear_Expression_types.hh Expression_Adapter_types.hh Expression_Hide_Last_types.hh Expression_Hide_Inhomo_types.hh Linear_Expression_Impl_types.hh Linear_Expression_Interface_types.hh Linear_System_types.hh Linear_Form_types.hh Bit_Row_types.hh Bit_Matrix_types.hh Constraint_System_types.hh Generator_System_types.hh Grid_Generator_System_types.hh Congruence_System_types.hh Scalar_Products_types.hh PIP_Tree_types.hh PIP_Problem_types.hh Poly_Con_Relation_types.hh Poly_Gen_Relation_types.hh BHRZ03_Certificate_types.hh H79_Certificate_types.hh Grid_Certificate_types.hh Partial_Function_types.hh Polyhedron_types.hh C_Polyhedron_types.hh NNC_Polyhedron_types.hh Grid_types.hh Ptr_Iterator_types.hh DB_Row_types.hh DB_Matrix_types.hh BD_Shape_types.hh OR_Matrix_types.hh Octagonal_Shape_types.hh fpu_types.hh Float_defs.hh Float_inlines.hh Float_templates.hh C_Integer.hh fpu_defs.hh fpu-c99_inlines.hh fpu-ia32_inlines.hh fpu-none_inlines.hh fpu-sparc_inlines.hh Rounding_Dir_defs.hh Rounding_Dir_inlines.hh Result_defs.hh Result_inlines.hh Numeric_Format_defs.hh checked_defs.hh checked_inlines.hh checked_int_inlines.hh checked_float_inlines.hh checked_mpz_inlines.hh checked_mpq_inlines.hh checked_ext_inlines.hh Checked_Number_defs.hh Checked_Number_inlines.hh Checked_Number_templates.hh WRD_coefficient_types_defs.hh WRD_coefficient_types_inlines.hh checked_numeric_limits.hh GMP_Integer_defs.hh GMP_Integer_inlines.hh Coefficient_defs.hh Coefficient_inlines.hh stdiobuf_defs.hh stdiobuf_inlines.hh c_streambuf_defs.hh c_streambuf_inlines.hh globals_defs.hh globals_inlines.hh math_utilities_defs.hh math_utilities_inlines.hh iterator_to_const_defs.hh iterator_to_const_inlines.hh distances_defs.hh distances_inlines.hh Boundary_defs.hh intervals_defs.hh Interval_Info_defs.hh Interval_Info_inlines.hh Interval_defs.hh Interval_inlines.hh Interval_templates.hh Box_defs.hh Box_Status_inlines.hh Box_inlines.hh Box_templates.hh Integer_Interval.hh Rational_Interval.hh Rational_Box.hh Variable_defs.hh Variable_inlines.hh Variables_Set_defs.hh Variables_Set_inlines.hh Init_defs.hh Init_inlines.hh initializer.hh Topology_types.hh Dense_Row_defs.hh Dense_Row_inlines.hh Dense_Row_templates.hh CO_Tree_defs.hh CO_Tree_inlines.hh CO_Tree_templates.hh Sparse_Row_defs.hh Sparse_Row_inlines.hh Sparse_Row_templates.hh Bit_Row_defs.hh Bit_Row_inlines.hh Linear_System_defs.hh Linear_System_inlines.hh Linear_System_templates.hh Bit_Matrix_defs.hh Bit_Matrix_inlines.hh Constraint_System_defs.hh Generator_System_defs.hh Grid_Generator_System_defs.hh Congruence_System_defs.hh Linear_Expression_defs.hh Linear_Expression_inlines.hh Expression_Adapter_defs.hh Expression_Adapter_inlines.hh Expression_Hide_Last_defs.hh Expression_Hide_Last_inlines.hh Expression_Hide_Inhomo_defs.hh Expression_Hide_Inhomo_inlines.hh Linear_Expression_Impl_defs.hh Linear_Expression_Impl_inlines.hh Linear_Expression_Impl_templates.hh Linear_Expression_Interface_defs.hh Linear_Form_defs.hh Linear_Form_inlines.hh Linear_Form_templates.hh linearize.hh Constraint_defs.hh Constraint_inlines.hh Constraint_System_inlines.hh Generator_defs.hh Generator_inlines.hh Grid_Generator_defs.hh Grid_Generator_inlines.hh Congruence_defs.hh Congruence_inlines.hh Generator_System_inlines.hh Grid_Generator_System_inlines.hh Congruence_System_inlines.hh Scalar_Products_defs.hh Scalar_Products_inlines.hh Matrix_defs.hh Matrix_inlines.hh Matrix_templates.hh Swapping_Vector_defs.hh Swapping_Vector_inlines.hh MIP_Problem_types.hh MIP_Problem_defs.hh MIP_Problem_inlines.hh MIP_Problem_templates.hh PIP_Tree_types.hh PIP_Tree_defs.hh PIP_Tree_inlines.hh PIP_Problem_types.hh PIP_Problem_defs.hh PIP_Problem_inlines.hh PIP_Problem_templates.hh Poly_Con_Relation_defs.hh Poly_Con_Relation_inlines.hh Poly_Gen_Relation_defs.hh Poly_Gen_Relation_inlines.hh BHRZ03_Certificate_defs.hh BHRZ03_Certificate_inlines.hh H79_Certificate_defs.hh H79_Certificate_inlines.hh Grid_Certificate_defs.hh Grid_Certificate_inlines.hh Partial_Function_defs.hh Partial_Function_inlines.hh Polyhedron_defs.hh Ph_Status_inlines.hh Polyhedron_inlines.hh Polyhedron_chdims_templates.hh Polyhedron_conversion_templates.hh Polyhedron_minimize_templates.hh Polyhedron_simplify_templates.hh Polyhedron_templates.hh Grid_defs.hh Grid_Status_inlines.hh Grid_inlines.hh Grid_templates.hh C_Polyhedron_defs.hh C_Polyhedron_inlines.hh NNC_Polyhedron_defs.hh NNC_Polyhedron_inlines.hh Widening_Function_types.hh Widening_Function_defs.hh Widening_Function_inlines.hh Ptr_Iterator_defs.hh Ptr_Iterator_inlines.hh DB_Row_defs.hh DB_Row_inlines.hh DB_Row_templates.hh DB_Matrix_defs.hh DB_Matrix_inlines.hh DB_Matrix_templates.hh BD_Shape_defs.hh BDS_Status_inlines.hh BD_Shape_inlines.hh BD_Shape_templates.hh OR_Matrix_defs.hh OR_Matrix_inlines.hh OR_Matrix_templates.hh Octagonal_Shape_defs.hh Og_Status_inlines.hh Octagonal_Shape_inlines.hh Octagonal_Shape_templates.hh Determinate_types.hh Determinate_defs.hh Determinate_inlines.hh Powerset_types.hh Powerset_defs.hh Powerset_inlines.hh Powerset_templates.hh Pointset_Powerset_types.hh Pointset_Powerset_defs.hh Pointset_Powerset_inlines.hh Pointset_Powerset_templates.hh Partially_Reduced_Product_types.hh Partially_Reduced_Product_defs.hh Partially_Reduced_Product_inlines.hh Partially_Reduced_Product_templates.hh Weight_Profiler_defs.hh max_space_dimension.hh algorithms.hh termination_defs.hh termination_templates.hh wrap_assign.hh wrap_string.hh Floating_Point_Expression_types.hh Floating_Point_Expression_defs.hh Floating_Point_Expression_inlines.hh Floating_Point_Expression_templates.hh Cast_Floating_Point_Expression_types.hh Cast_Floating_Point_Expression_defs.hh Cast_Floating_Point_Expression_inlines.hh Cast_Floating_Point_Expression_templates.hh Constant_Floating_Point_Expression_types.hh Constant_Floating_Point_Expression_defs.hh Constant_Floating_Point_Expression_inlines.hh Variable_Floating_Point_Expression_types.hh Variable_Floating_Point_Expression_defs.hh Variable_Floating_Point_Expression_inlines.hh Sum_Floating_Point_Expression_types.hh Sum_Floating_Point_Expression_defs.hh Sum_Floating_Point_Expression_inlines.hh Sum_Floating_Point_Expression_templates.hh Difference_Floating_Point_Expression_types.hh Difference_Floating_Point_Expression_defs.hh Difference_Floating_Point_Expression_inlines.hh Difference_Floating_Point_Expression_templates.hh Multiplication_Floating_Point_Expression_types.hh Multiplication_Floating_Point_Expression_defs.hh Multiplication_Floating_Point_Expression_inlines.hh Multiplication_Floating_Point_Expression_templates.hh Division_Floating_Point_Expression_types.hh Division_Floating_Point_Expression_defs.hh Division_Floating_Point_Expression_inlines.hh Division_Floating_Point_Expression_templates.hh Opposite_Floating_Point_Expression_types.hh Opposite_Floating_Point_Expression_defs.hh Opposite_Floating_Point_Expression_inlines.hh Doubly_Linked_Object_types.hh EList_types.hh EList_Iterator_types.hh Handler_types.hh Pending_Element_types.hh Pending_List_types.hh Time_types.hh Watchdog_types.hh Threshold_Watcher_types.hh Handler_defs.hh Handler_inlines.hh Time_defs.hh Time_inlines.hh Doubly_Linked_Object_defs.hh Doubly_Linked_Object_inlines.hh EList_Iterator_defs.hh EList_Iterator_inlines.hh EList_defs.hh EList_inlines.hh Pending_Element_defs.hh Pending_Element_inlines.hh Pending_List_defs.hh Pending_List_inlines.hh Pending_List_templates.hh Watchdog_defs.hh Watchdog_inlines.hh Threshold_Watcher_defs.hh Threshold_Watcher_inlines.hh Threshold_Watcher_templates.hh ; \ do \ i="#include \"$file\"" ; \ ( cd ../src ; /bin/grep -F -q "$i" namespaces.hh compiler.hh assertions.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits_defs.hh mp_std_bits_inlines.hh Concrete_Expression_types.hh Concrete_Expression_defs.hh Concrete_Expression_inlines.hh Temp_defs.hh Temp_inlines.hh Temp_templates.hh Coefficient_traits_template.hh Checked_Number_types.hh termination_types.hh GMP_Integer_types.hh Coefficient_types.hh stdiobuf_types.hh c_streambuf_types.hh globals_types.hh iterator_to_const_types.hh distances_types.hh Interval_Info_types.hh Interval_types.hh Box_types.hh Constraint_types.hh Generator_types.hh Grid_Generator_types.hh Congruence_types.hh Init_types.hh Dense_Row_types.hh CO_Tree_types.hh Sparse_Row_types.hh Matrix_types.hh Swapping_Vector_types.hh Variable_types.hh Variables_Set_types.hh Linear_Expression_types.hh Expression_Adapter_types.hh Expression_Hide_Last_types.hh Expression_Hide_Inhomo_types.hh Linear_Expression_Impl_types.hh Linear_Expression_Interface_types.hh Linear_System_types.hh Linear_Form_types.hh Bit_Row_types.hh Bit_Matrix_types.hh Constraint_System_types.hh Generator_System_types.hh Grid_Generator_System_types.hh Congruence_System_types.hh Scalar_Products_types.hh PIP_Tree_types.hh PIP_Problem_types.hh Poly_Con_Relation_types.hh Poly_Gen_Relation_types.hh BHRZ03_Certificate_types.hh H79_Certificate_types.hh Grid_Certificate_types.hh Partial_Function_types.hh Polyhedron_types.hh C_Polyhedron_types.hh NNC_Polyhedron_types.hh Grid_types.hh Ptr_Iterator_types.hh DB_Row_types.hh DB_Matrix_types.hh BD_Shape_types.hh OR_Matrix_types.hh Octagonal_Shape_types.hh fpu_types.hh Float_defs.hh Float_inlines.hh Float_templates.hh C_Integer.hh fpu_defs.hh fpu-c99_inlines.hh fpu-ia32_inlines.hh fpu-none_inlines.hh fpu-sparc_inlines.hh Rounding_Dir_defs.hh Rounding_Dir_inlines.hh Result_defs.hh Result_inlines.hh Numeric_Format_defs.hh checked_defs.hh checked_inlines.hh checked_int_inlines.hh checked_float_inlines.hh checked_mpz_inlines.hh checked_mpq_inlines.hh checked_ext_inlines.hh Checked_Number_defs.hh Checked_Number_inlines.hh Checked_Number_templates.hh WRD_coefficient_types_defs.hh WRD_coefficient_types_inlines.hh checked_numeric_limits.hh GMP_Integer_defs.hh GMP_Integer_inlines.hh Coefficient_defs.hh Coefficient_inlines.hh stdiobuf_defs.hh stdiobuf_inlines.hh c_streambuf_defs.hh c_streambuf_inlines.hh globals_defs.hh globals_inlines.hh math_utilities_defs.hh math_utilities_inlines.hh iterator_to_const_defs.hh iterator_to_const_inlines.hh distances_defs.hh distances_inlines.hh Boundary_defs.hh intervals_defs.hh Interval_Info_defs.hh Interval_Info_inlines.hh Interval_defs.hh Interval_inlines.hh Interval_templates.hh Box_defs.hh Box_Status_inlines.hh Box_inlines.hh Box_templates.hh Integer_Interval.hh Rational_Interval.hh Rational_Box.hh Variable_defs.hh Variable_inlines.hh Variables_Set_defs.hh Variables_Set_inlines.hh Init_defs.hh Init_inlines.hh initializer.hh Topology_types.hh Dense_Row_defs.hh Dense_Row_inlines.hh Dense_Row_templates.hh CO_Tree_defs.hh CO_Tree_inlines.hh CO_Tree_templates.hh Sparse_Row_defs.hh Sparse_Row_inlines.hh Sparse_Row_templates.hh Bit_Row_defs.hh Bit_Row_inlines.hh Linear_System_defs.hh Linear_System_inlines.hh Linear_System_templates.hh Bit_Matrix_defs.hh Bit_Matrix_inlines.hh Constraint_System_defs.hh Generator_System_defs.hh Grid_Generator_System_defs.hh Congruence_System_defs.hh Linear_Expression_defs.hh Linear_Expression_inlines.hh Expression_Adapter_defs.hh Expression_Adapter_inlines.hh Expression_Hide_Last_defs.hh Expression_Hide_Last_inlines.hh Expression_Hide_Inhomo_defs.hh Expression_Hide_Inhomo_inlines.hh Linear_Expression_Impl_defs.hh Linear_Expression_Impl_inlines.hh Linear_Expression_Impl_templates.hh Linear_Expression_Interface_defs.hh Linear_Form_defs.hh Linear_Form_inlines.hh Linear_Form_templates.hh linearize.hh Constraint_defs.hh Constraint_inlines.hh Constraint_System_inlines.hh Generator_defs.hh Generator_inlines.hh Grid_Generator_defs.hh Grid_Generator_inlines.hh Congruence_defs.hh Congruence_inlines.hh Generator_System_inlines.hh Grid_Generator_System_inlines.hh Congruence_System_inlines.hh Scalar_Products_defs.hh Scalar_Products_inlines.hh Matrix_defs.hh Matrix_inlines.hh Matrix_templates.hh Swapping_Vector_defs.hh Swapping_Vector_inlines.hh MIP_Problem_types.hh MIP_Problem_defs.hh MIP_Problem_inlines.hh MIP_Problem_templates.hh PIP_Tree_types.hh PIP_Tree_defs.hh PIP_Tree_inlines.hh PIP_Problem_types.hh PIP_Problem_defs.hh PIP_Problem_inlines.hh PIP_Problem_templates.hh Poly_Con_Relation_defs.hh Poly_Con_Relation_inlines.hh Poly_Gen_Relation_defs.hh Poly_Gen_Relation_inlines.hh BHRZ03_Certificate_defs.hh BHRZ03_Certificate_inlines.hh H79_Certificate_defs.hh H79_Certificate_inlines.hh Grid_Certificate_defs.hh Grid_Certificate_inlines.hh Partial_Function_defs.hh Partial_Function_inlines.hh Polyhedron_defs.hh Ph_Status_inlines.hh Polyhedron_inlines.hh Polyhedron_chdims_templates.hh Polyhedron_conversion_templates.hh Polyhedron_minimize_templates.hh Polyhedron_simplify_templates.hh Polyhedron_templates.hh Grid_defs.hh Grid_Status_inlines.hh Grid_inlines.hh Grid_templates.hh C_Polyhedron_defs.hh C_Polyhedron_inlines.hh NNC_Polyhedron_defs.hh NNC_Polyhedron_inlines.hh Widening_Function_types.hh Widening_Function_defs.hh Widening_Function_inlines.hh Ptr_Iterator_defs.hh Ptr_Iterator_inlines.hh DB_Row_defs.hh DB_Row_inlines.hh DB_Row_templates.hh DB_Matrix_defs.hh DB_Matrix_inlines.hh DB_Matrix_templates.hh BD_Shape_defs.hh BDS_Status_inlines.hh BD_Shape_inlines.hh BD_Shape_templates.hh OR_Matrix_defs.hh OR_Matrix_inlines.hh OR_Matrix_templates.hh Octagonal_Shape_defs.hh Og_Status_inlines.hh Octagonal_Shape_inlines.hh Octagonal_Shape_templates.hh Determinate_types.hh Determinate_defs.hh Determinate_inlines.hh Powerset_types.hh Powerset_defs.hh Powerset_inlines.hh Powerset_templates.hh Pointset_Powerset_types.hh Pointset_Powerset_defs.hh Pointset_Powerset_inlines.hh Pointset_Powerset_templates.hh Partially_Reduced_Product_types.hh Partially_Reduced_Product_defs.hh Partially_Reduced_Product_inlines.hh Partially_Reduced_Product_templates.hh Weight_Profiler_defs.hh max_space_dimension.hh algorithms.hh termination_defs.hh termination_templates.hh wrap_assign.hh wrap_string.hh Floating_Point_Expression_types.hh Floating_Point_Expression_defs.hh Floating_Point_Expression_inlines.hh Floating_Point_Expression_templates.hh Cast_Floating_Point_Expression_types.hh Cast_Floating_Point_Expression_defs.hh Cast_Floating_Point_Expression_inlines.hh Cast_Floating_Point_Expression_templates.hh Constant_Floating_Point_Expression_types.hh Constant_Floating_Point_Expression_defs.hh Constant_Floating_Point_Expression_inlines.hh Variable_Floating_Point_Expression_types.hh Variable_Floating_Point_Expression_defs.hh Variable_Floating_Point_Expression_inlines.hh Sum_Floating_Point_Expression_types.hh Sum_Floating_Point_Expression_defs.hh Sum_Floating_Point_Expression_inlines.hh Sum_Floating_Point_Expression_templates.hh Difference_Floating_Point_Expression_types.hh Difference_Floating_Point_Expression_defs.hh Difference_Floating_Point_Expression_inlines.hh Difference_Floating_Point_Expression_templates.hh Multiplication_Floating_Point_Expression_types.hh Multiplication_Floating_Point_Expression_defs.hh Multiplication_Floating_Point_Expression_inlines.hh Multiplication_Floating_Point_Expression_templates.hh Division_Floating_Point_Expression_types.hh Division_Floating_Point_Expression_defs.hh Division_Floating_Point_Expression_inlines.hh Division_Floating_Point_Expression_templates.hh Opposite_Floating_Point_Expression_types.hh Opposite_Floating_Point_Expression_defs.hh Opposite_Floating_Point_Expression_inlines.hh Doubly_Linked_Object_types.hh EList_types.hh EList_Iterator_types.hh Handler_types.hh Pending_Element_types.hh Pending_List_types.hh Time_types.hh Watchdog_types.hh Threshold_Watcher_types.hh Handler_defs.hh Handler_inlines.hh Time_defs.hh Time_inlines.hh Doubly_Linked_Object_defs.hh Doubly_Linked_Object_inlines.hh EList_Iterator_defs.hh EList_Iterator_inlines.hh EList_defs.hh EList_inlines.hh Pending_Element_defs.hh Pending_Element_inlines.hh Pending_List_defs.hh Pending_List_inlines.hh Pending_List_templates.hh Watchdog_defs.hh Watchdog_inlines.hh Threshold_Watcher_defs.hh Threshold_Watcher_inlines.hh Threshold_Watcher_templates.hh ) || echo "$i" ; \ done > ppl_include_files.hh ../utils/text2cxxarray --name=BUGS_array --decl-only \ ../BUGS >>BUGS.hh ../utils/text2cxxarray --name=COPYING_array --decl-only \ ../COPYING >>COPYING.hh ../utils/text2cxxarray --name=CREDITS_array --decl-only \ ../CREDITS >>CREDITS.hh ../utils/text2cxxarray --name=BUGS_array \ ../BUGS >>BUGS.cc ../utils/text2cxxarray --name=COPYING_array \ ../COPYING >>COPYING.cc ../utils/text2cxxarray --name=CREDITS_array \ ../CREDITS >>CREDITS.cc ../utils/build_header \ -I .. -I ../src \ ../src/ppl_header.hh >ppl.hh make all-am make[5]: Entering directory '/build/ppl-1.2/src' g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o BUGS.o BUGS.cc g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o COPYING.o COPYING.cc g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o CREDITS.o CREDITS.cc g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl-config.o ppl-config.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o assertions.lo assertions.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Box.lo Box.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o checked.lo checked.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Checked_Number.lo Checked_Number.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Float.lo Float.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o fpu-ia32.lo fpu-ia32.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Checked_Number.cc -fPIC -DPIC -o .libs/Checked_Number.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o BDS_Status.lo BDS_Status.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Box_Status.lo Box_Status.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Og_Status.lo Og_Status.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c checked.cc -fPIC -DPIC -o .libs/checked.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Float.cc -fPIC -DPIC -o .libs/Float.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c fpu-ia32.cc -fPIC -DPIC -o .libs/fpu-ia32.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Box.cc -fPIC -DPIC -o .libs/Box.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c assertions.cc -fPIC -DPIC -o .libs/assertions.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c BDS_Status.cc -fPIC -DPIC -o .libs/BDS_Status.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c BDS_Status.cc -o BDS_Status.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Og_Status.cc -fPIC -DPIC -o .libs/Og_Status.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Box_Status.cc -fPIC -DPIC -o .libs/Box_Status.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Concrete_Expression.lo Concrete_Expression.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Og_Status.cc -o Og_Status.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Box_Status.cc -o Box_Status.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c fpu-ia32.cc -o fpu-ia32.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Constraint.lo Constraint.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Constraint_System.lo Constraint_System.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Congruence.lo Congruence.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Concrete_Expression.cc -fPIC -DPIC -o .libs/Concrete_Expression.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Constraint.cc -fPIC -DPIC -o .libs/Constraint.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Constraint_System.cc -fPIC -DPIC -o .libs/Constraint_System.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Congruence.cc -fPIC -DPIC -o .libs/Congruence.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c assertions.cc -o assertions.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Constraint_defs.hh:36, from Box_defs.hh:34, from Box.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from Box_defs.hh:29, from Box.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Congruence_System.lo Congruence_System.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Float.cc -o Float.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Congruence_System.cc -fPIC -DPIC -o .libs/Congruence_System.o In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Box_inlines.hh:28, from Box_defs.hh:2285, from Box.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Constraint_defs.hh:36, from Constraint.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Linear_Expression_defs.hh:36, from Constraint_defs.hh:36, from Constraint.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl-config.cc:25: ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ppl.hh:754, from ppl-config.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl-config.cc:25: ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Checked_Number.cc -o Checked_Number.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Constraint_System.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Swapping_Vector_defs.hh:28, from Linear_System_defs.hh:29, from Constraint_System_defs.hh:29, from Constraint_System.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Congruence_defs.hh:35, from Congruence.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from Congruence_defs.hh:29, from Congruence.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Concrete_Expression.cc -o Concrete_Expression.o >/dev/null 2>&1 In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Constraint_System.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c checked.cc -o checked.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Generator_System.lo Generator_System.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Generator_System.cc -fPIC -DPIC -o .libs/Generator_System.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Congruence_defs.hh:35, from Congruence_System_defs.hh:33, from Congruence_System.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Swapping_Vector_defs.hh:28, from Congruence_System_defs.hh:32, from Congruence_System.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Congruence_System.cc:27: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Box.cc -o Box.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_Generator_System.lo Grid_Generator_System.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Generator.lo Generator.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Generator_System.cc -fPIC -DPIC -o .libs/Grid_Generator_System.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Generator_System_defs.hh:30, from Generator_System.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Swapping_Vector_defs.hh:28, from Linear_System_defs.hh:29, from Generator_System_defs.hh:30, from Generator_System.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Generator.cc -fPIC -DPIC -o .libs/Generator.o In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Generator_System_defs.hh:30, from Generator_System.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_Generator.lo Grid_Generator.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Congruence.cc -o Congruence.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Generator.cc -fPIC -DPIC -o .libs/Grid_Generator.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Constraint.cc -o Constraint.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Handler.lo Handler.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Handler.cc -fPIC -DPIC -o .libs/Handler.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Handler.cc -o Handler.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Generator_defs.hh:40, from Generator.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Generator_defs.hh:39, from Generator.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Init.lo Init.cc In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Grid_Generator_System_defs.hh:29, from Grid_Generator_System.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Swapping_Vector_defs.hh:28, from Linear_System_defs.hh:29, from Grid_Generator_System_defs.hh:29, from Grid_Generator_System.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Init.cc -fPIC -DPIC -o .libs/Init.o In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Grid_Generator_System_defs.hh:29, from Grid_Generator_System.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_Generator_defs.hh:35, from Grid_Generator.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from Grid_Generator_defs.hh:34, from Grid_Generator.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Coefficient.lo Coefficient.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Constraint_System.cc -o Constraint_System.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Init.cc:31: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Init.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Coefficient.cc -fPIC -DPIC -o .libs/Coefficient.o In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Init.cc:36: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Congruence_System.cc -o Congruence_System.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Coefficient.cc -o Coefficient.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Generator.cc -o Generator.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Generator.cc -o Grid_Generator.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Linear_Expression.lo Linear_Expression.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Generator_System.cc -o Generator_System.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Expression.cc -fPIC -DPIC -o .libs/Linear_Expression.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Linear_Expression_Impl.lo Linear_Expression_Impl.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Expression_Impl.cc -fPIC -DPIC -o .libs/Linear_Expression_Impl.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Generator_System.cc -o Grid_Generator_System.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Init.cc -o Init.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Linear_Expression_Interface.lo Linear_Expression_Interface.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Expression_Interface.cc -fPIC -DPIC -o .libs/Linear_Expression_Interface.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_Expression.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Linear_Expression_defs.hh:36, from Linear_Expression.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Linear_Expression_Impl_defs.hh:33, from Linear_Expression_Impl.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from Linear_Expression_Interface_defs.hh:28, from Linear_Expression_Impl_defs.hh:28, from Linear_Expression_Impl.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Expression_Interface.cc -o Linear_Expression_Interface.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Linear_Form.lo Linear_Form.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Form.cc -fPIC -DPIC -o .libs/Linear_Form.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Scalar_Products.lo Scalar_Products.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o MIP_Problem.lo MIP_Problem.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Scalar_Products.cc -fPIC -DPIC -o .libs/Scalar_Products.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Expression_Impl.cc -o Linear_Expression_Impl.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c MIP_Problem.cc -fPIC -DPIC -o .libs/MIP_Problem.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o PIP_Tree.lo PIP_Tree.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Form.cc -o Linear_Form.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o PIP_Problem.lo PIP_Problem.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c PIP_Tree.cc -fPIC -DPIC -o .libs/PIP_Tree.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Poly_Con_Relation.lo Poly_Con_Relation.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c PIP_Problem.cc -fPIC -DPIC -o .libs/PIP_Problem.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Poly_Con_Relation.cc -fPIC -DPIC -o .libs/Poly_Con_Relation.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from MIP_Problem_defs.hh:30, from MIP_Problem.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Matrix_defs.hh:28, from MIP_Problem_defs.hh:29, from MIP_Problem.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Scalar_Products_inlines.hh:27, from Scalar_Products.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Scalar_Products_defs.hh:28, from Scalar_Products.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from MIP_Problem.cc:30: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Poly_Gen_Relation.lo Poly_Gen_Relation.cc In file included from Scalar_Products.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from PIP_Problem_defs.hh:30, from PIP_Problem.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Linear_Expression_defs.hh:36, from PIP_Problem_defs.hh:30, from PIP_Problem.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Poly_Gen_Relation.cc -fPIC -DPIC -o .libs/Poly_Gen_Relation.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from PIP_Tree_defs.hh:30, from PIP_Tree.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from PIP_Tree_defs.hh:28, from PIP_Tree.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Poly_Con_Relation.cc -o Poly_Con_Relation.o >/dev/null 2>&1 In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from PIP_Tree_defs.hh:30, from PIP_Tree.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from PIP_Tree_defs.hh:30, from PIP_Problem.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ PIP_Tree.cc: In copy constructor 'Parma_Polyhedra_Library::PIP_Decision_Node::PIP_Decision_Node(const Parma_Polyhedra_Library::PIP_Decision_Node&)': PIP_Tree.cc:1105:8: warning: 'template class std::auto_ptr' is deprecated [-Wdeprecated-declarations] std::auto_ptr wrapped_node(false_child); ^~~~~~~~ In file included from /usr/include/c++/8/bits/locale_conv.h:41, from /usr/include/c++/8/locale:43, from /usr/include/c++/8/iomanip:43, from Checked_Number_templates.hh:28, from Checked_Number_defs.hh:1068, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from Linear_System_inlines.hh:28, from Linear_System_defs.hh:579, from Constraint_System_defs.hh:29, from PIP_Tree_defs.hh:30, from PIP_Tree.cc:25: /usr/include/c++/8/bits/unique_ptr.h:53:28: note: declared here template class auto_ptr; ^~~~~~~~ PIP_Tree.cc: In member function 'virtual Parma_Polyhedra_Library::PIP_Tree_Node* Parma_Polyhedra_Library::PIP_Solution_Node::solve(const Parma_Polyhedra_Library::PIP_Problem&, bool, const Parma_Polyhedra_Library::Matrix&, const Parma_Polyhedra_Library::Variables_Set&, Parma_Polyhedra_Library::dimension_type, int)': PIP_Tree.cc:3144:12: warning: 'template class std::auto_ptr' is deprecated [-Wdeprecated-declarations] std::auto_ptr wrapped_node(t_node); ^~~~~~~~ In file included from /usr/include/c++/8/bits/locale_conv.h:41, from /usr/include/c++/8/locale:43, from /usr/include/c++/8/iomanip:43, from Checked_Number_templates.hh:28, from Checked_Number_defs.hh:1068, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from Linear_System_inlines.hh:28, from Linear_System_defs.hh:579, from Constraint_System_defs.hh:29, from PIP_Tree_defs.hh:30, from PIP_Tree.cc:25: /usr/include/c++/8/bits/unique_ptr.h:53:28: note: declared here template class auto_ptr; ^~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o BHRZ03_Certificate.lo BHRZ03_Certificate.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c BHRZ03_Certificate.cc -fPIC -DPIC -o .libs/BHRZ03_Certificate.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o H79_Certificate.lo H79_Certificate.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Poly_Gen_Relation.cc -o Poly_Gen_Relation.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c H79_Certificate.cc -fPIC -DPIC -o .libs/H79_Certificate.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Scalar_Products.cc -o Scalar_Products.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_Certificate.lo Grid_Certificate.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Certificate.cc -fPIC -DPIC -o .libs/Grid_Certificate.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Partial_Function.lo Partial_Function.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Partial_Function.cc -fPIC -DPIC -o .libs/Partial_Function.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from BHRZ03_Certificate.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from BHRZ03_Certificate_defs.hh:29, from BHRZ03_Certificate.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from BHRZ03_Certificate.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from H79_Certificate_inlines.hh:27, from H79_Certificate_defs.hh:95, from H79_Certificate.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from H79_Certificate_inlines.hh:27, from H79_Certificate_defs.hh:95, from H79_Certificate.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from H79_Certificate_inlines.hh:27, from H79_Certificate_defs.hh:95, from H79_Certificate.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Polyhedron_nonpublic.lo Polyhedron_nonpublic.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Partial_Function.cc -o Partial_Function.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_nonpublic.cc -fPIC -DPIC -o .libs/Polyhedron_nonpublic.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_Certificate.cc:27: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_Certificate_defs.hh:30, from Grid_Certificate.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Polyhedron_public.lo Polyhedron_public.cc In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_Certificate.cc:27: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_public.cc -fPIC -DPIC -o .libs/Polyhedron_public.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_nonpublic.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from Polyhedron_nonpublic.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Polyhedron_chdims.lo Polyhedron_chdims.cc In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_nonpublic.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_chdims.cc -fPIC -DPIC -o .libs/Polyhedron_chdims.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_public.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from Polyhedron_public.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_public.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c BHRZ03_Certificate.cc -o BHRZ03_Certificate.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Certificate.cc -o Grid_Certificate.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c H79_Certificate.cc -o H79_Certificate.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_chdims.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from Polyhedron_chdims.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_chdims.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c PIP_Problem.cc -o PIP_Problem.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Linear_Expression.cc -o Linear_Expression.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Polyhedron_widenings.lo Polyhedron_widenings.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_widenings.cc -fPIC -DPIC -o .libs/Polyhedron_widenings.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_widenings.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from Polyhedron_widenings.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Polyhedron_widenings.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o C_Polyhedron.lo C_Polyhedron.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o NNC_Polyhedron.lo NNC_Polyhedron.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c C_Polyhedron.cc -fPIC -DPIC -o .libs/C_Polyhedron.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c NNC_Polyhedron.cc -fPIC -DPIC -o .libs/NNC_Polyhedron.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from C_Polyhedron_defs.hh:29, from C_Polyhedron.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from C_Polyhedron_defs.hh:29, from C_Polyhedron.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from C_Polyhedron_defs.hh:29, from C_Polyhedron.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from NNC_Polyhedron_defs.hh:29, from NNC_Polyhedron.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from NNC_Polyhedron_defs.hh:29, from NNC_Polyhedron.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from NNC_Polyhedron_defs.hh:29, from NNC_Polyhedron.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_chdims.cc -o Polyhedron_chdims.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_nonpublic.lo Grid_nonpublic.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_nonpublic.cc -fPIC -DPIC -o .libs/Grid_nonpublic.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c NNC_Polyhedron.cc -o NNC_Polyhedron.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_nonpublic.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_defs.hh:28, from Grid_nonpublic.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c MIP_Problem.cc -o MIP_Problem.o >/dev/null 2>&1 In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_nonpublic.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c C_Polyhedron.cc -o C_Polyhedron.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_public.lo Grid_public.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_public.cc -fPIC -DPIC -o .libs/Grid_public.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_chdims.lo Grid_chdims.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_chdims.cc -fPIC -DPIC -o .libs/Grid_chdims.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_widenings.lo Grid_widenings.cc In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_public.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_defs.hh:28, from Grid_public.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_widenings.cc -fPIC -DPIC -o .libs/Grid_widenings.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o BD_Shape.lo BD_Shape.cc In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_public.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c BD_Shape.cc -fPIC -DPIC -o .libs/BD_Shape.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_chdims.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_defs.hh:28, from Grid_chdims.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_nonpublic.cc -o Grid_nonpublic.o >/dev/null 2>&1 In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_chdims.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_widenings.cc -o Polyhedron_widenings.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_widenings.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_defs.hh:28, from Grid_widenings.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_widenings.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from BD_Shape_inlines.hh:27, from BD_Shape_defs.hh:2371, from BD_Shape.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from BD_Shape_defs.hh:28, from BD_Shape.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from BD_Shape_inlines.hh:27, from BD_Shape_defs.hh:2371, from BD_Shape.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c BD_Shape.cc -o BD_Shape.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c PIP_Tree.cc -o PIP_Tree.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_nonpublic.cc -o Polyhedron_nonpublic.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_widenings.cc -o Grid_widenings.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_chdims.cc -o Grid_chdims.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Octagonal_Shape.lo Octagonal_Shape.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Octagonal_Shape.cc -fPIC -DPIC -o .libs/Octagonal_Shape.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Pointset_Powerset.lo Pointset_Powerset.cc In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from C_Polyhedron_defs.hh:29, from OR_Matrix_inlines.hh:29, from OR_Matrix_defs.hh:607, from Octagonal_Shape_defs.hh:36, from Octagonal_Shape.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from OR_Matrix_defs.hh:28, from Octagonal_Shape_defs.hh:36, from Octagonal_Shape.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from C_Polyhedron_defs.hh:29, from OR_Matrix_inlines.hh:29, from OR_Matrix_defs.hh:607, from Octagonal_Shape_defs.hh:36, from Octagonal_Shape.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Pointset_Powerset.cc -fPIC -DPIC -o .libs/Pointset_Powerset.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from C_Polyhedron_defs.hh:29, from Pointset_Powerset_defs.hh:34, from Pointset_Powerset.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Pointset_Powerset_defs.hh:28, from Pointset_Powerset.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from C_Polyhedron_defs.hh:29, from Pointset_Powerset_defs.hh:34, from Pointset_Powerset.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o CO_Tree.lo CO_Tree.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c CO_Tree.cc -fPIC -DPIC -o .libs/CO_Tree.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Octagonal_Shape.cc -o Octagonal_Shape.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Polyhedron_public.cc -o Polyhedron_public.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Sparse_Row.lo Sparse_Row.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Sparse_Row.cc -fPIC -DPIC -o .libs/Sparse_Row.o In file included from CO_Tree_defs.hh:1557, from CO_Tree.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from CO_Tree_defs.hh:29, from CO_Tree.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Dense_Row.lo Dense_Row.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Dense_Row.cc -fPIC -DPIC -o .libs/Dense_Row.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Sparse_Row.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from mp_std_bits_defs.hh:28, from checked_defs.hh:27, from Checked_Number_defs.hh:28, from Coefficient_types.hh:16, from Coefficient_defs.hh:27, from CO_Tree_defs.hh:29, from Sparse_Row_defs.hh:29, from Sparse_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Bit_Matrix.lo Bit_Matrix.cc In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Dense_Row.cc:28: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Dense_Row_defs.hh:29, from Dense_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ Dense_Row.cc: In member function 'void Parma_Polyhedra_Library::Dense_Row::resize(Parma_Polyhedra_Library::dimension_type)': Dense_Row.cc:58:66: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Dense_Row_defs.hh:29, from Dense_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ Dense_Row.cc: In member function 'void Parma_Polyhedra_Library::Dense_Row::resize(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type)': Dense_Row.cc:103:62: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Dense_Row_defs.hh:29, from Dense_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ Dense_Row.cc:116:66: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Dense_Row_defs.hh:29, from Dense_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ Dense_Row.cc: In member function 'void Parma_Polyhedra_Library::Dense_Row::add_zeroes_and_shift(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type)': Dense_Row.cc:168:63: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] memcpy(new_row.impl.vec, impl.vec, sizeof(Coefficient) * i); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Dense_Row_defs.hh:29, from Dense_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ Dense_Row.cc:170:49: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] sizeof(Coefficient) * (impl.size - i)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Dense_Row_defs.hh:29, from Dense_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ Dense_Row.cc:184:30: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] * (impl.size - i)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Dense_Row_defs.hh:29, from Dense_Row.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::Coefficient' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Bit_Matrix.cc -fPIC -DPIC -o .libs/Bit_Matrix.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c CO_Tree.cc -o CO_Tree.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Bit_Row.lo Bit_Row.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_public.cc -o Grid_public.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Bit_Row.cc -fPIC -DPIC -o .libs/Bit_Row.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Dense_Row.cc -o Dense_Row.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Bit_Row.cc -o Bit_Row.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Ph_Status.lo Ph_Status.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Ph_Status.cc -fPIC -DPIC -o .libs/Ph_Status.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_Status.lo Grid_Status.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Status.cc -fPIC -DPIC -o .libs/Grid_Status.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Bit_Matrix.cc -o Bit_Matrix.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Sparse_Row.cc -o Sparse_Row.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Variable.lo Variable.cc In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Linear_System_templates.hh:28, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Ph_Status.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Variable_inlines.hh:27, from Variable_defs.hh:155, from Polyhedron_defs.hh:29, from Ph_Status.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Variable.cc -fPIC -DPIC -o .libs/Variable.o In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Polyhedron_defs.hh:32, from Ph_Status.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_Status.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_defs.hh:28, from Grid_Status.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_Status.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Pointset_Powerset.cc -o Pointset_Powerset.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Variable.cc -o Variable.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Ph_Status.cc -o Ph_Status.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Variables_Set.lo Variables_Set.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Variables_Set.cc -fPIC -DPIC -o .libs/Variables_Set.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_Status.cc -o Grid_Status.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_conversion.lo Grid_conversion.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_conversion.cc -fPIC -DPIC -o .libs/Grid_conversion.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Variables_Set.cc -o Variables_Set.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_conversion.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_defs.hh:28, from Grid_conversion.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_conversion.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Grid_simplify.lo Grid_simplify.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_simplify.cc -fPIC -DPIC -o .libs/Grid_simplify.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o set_GMP_memory_alloc_funcs.lo set_GMP_memory_alloc_funcs.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c set_GMP_memory_alloc_funcs.cc -fPIC -DPIC -o .libs/set_GMP_memory_alloc_funcs.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c set_GMP_memory_alloc_funcs.cc -o set_GMP_memory_alloc_funcs.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o stdiobuf.lo stdiobuf.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c stdiobuf.cc -fPIC -DPIC -o .libs/stdiobuf.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o c_streambuf.lo c_streambuf.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o globals.lo globals.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o mp_std_bits.lo mp_std_bits.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c c_streambuf.cc -fPIC -DPIC -o .libs/c_streambuf.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c globals.cc -fPIC -DPIC -o .libs/globals.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c mp_std_bits.cc -fPIC -DPIC -o .libs/mp_std_bits.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Grid_defs.hh:31, from Grid_simplify.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from Grid_defs.hh:28, from Grid_simplify.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from Grid_defs.hh:33, from Grid_simplify.cc:26: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c mp_std_bits.cc -o mp_std_bits.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c stdiobuf.cc -o stdiobuf.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c c_streambuf.cc -o c_streambuf.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Weight_Profiler.lo Weight_Profiler.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Weight_Profiler.cc -fPIC -DPIC -o .libs/Weight_Profiler.o In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Constraint_defs.hh:36, from globals.cc:26: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from globals.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o version.lo version.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c version.cc -fPIC -DPIC -o .libs/version.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c version.cc -o version.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o termination.lo termination.cc /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o wrap_string.lo wrap_string.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c globals.cc -o globals.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c termination.cc -fPIC -DPIC -o .libs/termination.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Weight_Profiler.cc -o Weight_Profiler.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_conversion.cc -o Grid_conversion.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c wrap_string.cc -fPIC -DPIC -o .libs/wrap_string.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Time.lo Time.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Time.cc -fPIC -DPIC -o .libs/Time.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Time.cc -o Time.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Watchdog.lo Watchdog.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Watchdog.cc -fPIC -DPIC -o .libs/Watchdog.o /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o Threshold_Watcher.lo Threshold_Watcher.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Threshold_Watcher.cc -fPIC -DPIC -o .libs/Threshold_Watcher.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c wrap_string.cc -o wrap_string.o >/dev/null 2>&1 In file included from CO_Tree_defs.hh:1557, from Sparse_Row_defs.hh:29, from Expression_Adapter_defs.hh:31, from Linear_Expression_defs.hh:48, from Generator_defs.hh:40, from termination_templates.hh:29, from termination_defs.hh:500, from termination.cc:25: CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from meta_programming.hh:27, from C_Integer.hh:27, from globals_defs.hh:28, from termination_templates.hh:27, from termination_defs.hh:500, from termination.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Threshold_Watcher.cc -o Threshold_Watcher.o >/dev/null 2>&1 In file included from Linear_System_templates.hh:30, from Linear_System_defs.hh:580, from Constraint_System_defs.hh:29, from termination_templates.hh:30, from termination_defs.hh:500, from termination.cc:25: Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Grid_simplify.cc -o Grid_simplify.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c Watchdog.cc -o Watchdog.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c termination.cc -o termination.o >/dev/null 2>&1 /bin/bash ../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -version-info 14:0:0 -Wl,-z,relro -o libppl.la -rpath /usr/lib/i386-linux-gnu assertions.lo Box.lo checked.lo Checked_Number.lo Float.lo fpu-ia32.lo BDS_Status.lo Box_Status.lo Og_Status.lo Concrete_Expression.lo Constraint.lo Constraint_System.lo Congruence.lo Congruence_System.lo Generator_System.lo Grid_Generator_System.lo Generator.lo Grid_Generator.lo Handler.lo Init.lo Coefficient.lo Linear_Expression.lo Linear_Expression_Impl.lo Linear_Expression_Interface.lo Linear_Form.lo Scalar_Products.lo MIP_Problem.lo PIP_Tree.lo PIP_Problem.lo Poly_Con_Relation.lo Poly_Gen_Relation.lo BHRZ03_Certificate.lo H79_Certificate.lo Grid_Certificate.lo Partial_Function.lo Polyhedron_nonpublic.lo Polyhedron_public.lo Polyhedron_chdims.lo Polyhedron_widenings.lo C_Polyhedron.lo NNC_Polyhedron.lo Grid_nonpublic.lo Grid_public.lo Grid_chdims.lo Grid_widenings.lo BD_Shape.lo Octagonal_Shape.lo Pointset_Powerset.lo CO_Tree.lo Sparse_Row.lo Dense_Row.lo Bit_Matrix.lo Bit_Row.lo Ph_Status.lo Grid_Status.lo Variable.lo Variables_Set.lo Grid_conversion.lo Grid_simplify.lo set_GMP_memory_alloc_funcs.lo stdiobuf.lo c_streambuf.lo globals.lo mp_std_bits.lo Weight_Profiler.lo version.lo termination.lo wrap_string.lo Time.lo Watchdog.lo Threshold_Watcher.lo -lgmpxx -lgmp libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/crti.o /usr/lib/gcc/i686-linux-gnu/8/crtbeginS.o .libs/assertions.o .libs/Box.o .libs/checked.o .libs/Checked_Number.o .libs/Float.o .libs/fpu-ia32.o .libs/BDS_Status.o .libs/Box_Status.o .libs/Og_Status.o .libs/Concrete_Expression.o .libs/Constraint.o .libs/Constraint_System.o .libs/Congruence.o .libs/Congruence_System.o .libs/Generator_System.o .libs/Grid_Generator_System.o .libs/Generator.o .libs/Grid_Generator.o .libs/Handler.o .libs/Init.o .libs/Coefficient.o .libs/Linear_Expression.o .libs/Linear_Expression_Impl.o .libs/Linear_Expression_Interface.o .libs/Linear_Form.o .libs/Scalar_Products.o .libs/MIP_Problem.o .libs/PIP_Tree.o .libs/PIP_Problem.o .libs/Poly_Con_Relation.o .libs/Poly_Gen_Relation.o .libs/BHRZ03_Certificate.o .libs/H79_Certificate.o .libs/Grid_Certificate.o .libs/Partial_Function.o .libs/Polyhedron_nonpublic.o .libs/Polyhedron_public.o .libs/Polyhedron_chdims.o .libs/Polyhedron_widenings.o .libs/C_Polyhedron.o .libs/NNC_Polyhedron.o .libs/Grid_nonpublic.o .libs/Grid_public.o .libs/Grid_chdims.o .libs/Grid_widenings.o .libs/BD_Shape.o .libs/Octagonal_Shape.o .libs/Pointset_Powerset.o .libs/CO_Tree.o .libs/Sparse_Row.o .libs/Dense_Row.o .libs/Bit_Matrix.o .libs/Bit_Row.o .libs/Ph_Status.o .libs/Grid_Status.o .libs/Variable.o .libs/Variables_Set.o .libs/Grid_conversion.o .libs/Grid_simplify.o .libs/set_GMP_memory_alloc_funcs.o .libs/stdiobuf.o .libs/c_streambuf.o .libs/globals.o .libs/mp_std_bits.o .libs/Weight_Profiler.o .libs/version.o .libs/termination.o .libs/wrap_string.o .libs/Time.o .libs/Watchdog.o .libs/Threshold_Watcher.o -lgmpxx -lgmp -L/usr/lib/gcc/i686-linux-gnu/8 -L/usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu -L/usr/lib/gcc/i686-linux-gnu/8/../../../../lib -L/lib/i386-linux-gnu -L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/i686-linux-gnu/8/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i686-linux-gnu/8/crtendS.o /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/crtn.o -g -O2 -g -O2 -fstack-protector-strong -g -Wl,-z -Wl,relro -Wl,-soname -Wl,libppl.so.14 -o .libs/libppl.so.14.0.0 libtool: link: (cd ".libs" && rm -f "libppl.so.14" && ln -s "libppl.so.14.0.0" "libppl.so.14") libtool: link: (cd ".libs" && rm -f "libppl.so" && ln -s "libppl.so.14.0.0" "libppl.so") libtool: link: ar cru .libs/libppl.a assertions.o Box.o checked.o Checked_Number.o Float.o fpu-ia32.o BDS_Status.o Box_Status.o Og_Status.o Concrete_Expression.o Constraint.o Constraint_System.o Congruence.o Congruence_System.o Generator_System.o Grid_Generator_System.o Generator.o Grid_Generator.o Handler.o Init.o Coefficient.o Linear_Expression.o Linear_Expression_Impl.o Linear_Expression_Interface.o Linear_Form.o Scalar_Products.o MIP_Problem.o PIP_Tree.o PIP_Problem.o Poly_Con_Relation.o Poly_Gen_Relation.o BHRZ03_Certificate.o H79_Certificate.o Grid_Certificate.o Partial_Function.o Polyhedron_nonpublic.o Polyhedron_public.o Polyhedron_chdims.o Polyhedron_widenings.o C_Polyhedron.o NNC_Polyhedron.o Grid_nonpublic.o Grid_public.o Grid_chdims.o Grid_widenings.o BD_Shape.o Octagonal_Shape.o Pointset_Powerset.o CO_Tree.o Sparse_Row.o Dense_Row.o Bit_Matrix.o Bit_Row.o Ph_Status.o Grid_Status.o Variable.o Variables_Set.o Grid_conversion.o Grid_simplify.o set_GMP_memory_alloc_funcs.o stdiobuf.o c_streambuf.o globals.o mp_std_bits.o Weight_Profiler.o version.o termination.o wrap_string.o Time.o Watchdog.o Threshold_Watcher.o ar: `u' modifier ignored since `D' is the default (see `U') libtool: link: ranlib .libs/libppl.a libtool: link: ( cd ".libs" && rm -f "libppl.la" && ln -s "../libppl.la" "libppl.la" ) /bin/bash ../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o ppl-config BUGS.o COPYING.o CREDITS.o ppl-config.o -lgmpxx -lgmp libppl.la libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/ppl-config BUGS.o COPYING.o CREDITS.o ppl-config.o -lgmpxx -lgmp ./.libs/libppl.so make[5]: Leaving directory '/build/ppl-1.2/src' make[4]: Leaving directory '/build/ppl-1.2/src' Making all in tests make[4]: Entering directory '/build/ppl-1.2/tests' Making all in . make[5]: Entering directory '/build/ppl-1.2/tests' make[5]: Nothing to be done for 'all-am'. make[5]: Leaving directory '/build/ppl-1.2/tests' Making all in Concrete_Expression make[5]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' Making all in CO_Tree make[5]: Entering directory '/build/ppl-1.2/tests/CO_Tree' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/CO_Tree' Making all in PIP_Problem make[5]: Entering directory '/build/ppl-1.2/tests/PIP_Problem' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/PIP_Problem' Making all in Powerset make[5]: Entering directory '/build/ppl-1.2/tests/Powerset' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Powerset' Making all in Partially_Reduced_Product make[5]: Entering directory '/build/ppl-1.2/tests/Partially_Reduced_Product' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Partially_Reduced_Product' Making all in Box make[5]: Entering directory '/build/ppl-1.2/tests/Box' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Box' Making all in MIP_Problem make[5]: Entering directory '/build/ppl-1.2/tests/MIP_Problem' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/MIP_Problem' Making all in Octagonal_Shape make[5]: Entering directory '/build/ppl-1.2/tests/Octagonal_Shape' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Octagonal_Shape' Making all in BD_Shape make[5]: Entering directory '/build/ppl-1.2/tests/BD_Shape' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/BD_Shape' Making all in Polyhedron make[5]: Entering directory '/build/ppl-1.2/tests/Polyhedron' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Polyhedron' Making all in Grid make[5]: Entering directory '/build/ppl-1.2/tests/Grid' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Grid' Making all in Watchdog make[5]: Entering directory '/build/ppl-1.2/tests/Watchdog' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/tests/Watchdog' make[4]: Leaving directory '/build/ppl-1.2/tests' Making all in interfaces make[4]: Entering directory '/build/ppl-1.2/interfaces' echo "m4_define(\`m4_interface_classes_names', \`Polyhedron@Grid@Rational_Box@BD_Shape_mpz_class@BD_Shape_mpq_class@Octagonal_Shape_mpz_class@Octagonal_Shape_mpq_class@Constraints_Product_C_Polyhedron_Grid@Pointset_Powerset_C_Polyhedron@Pointset_Powerset_NNC_Polyhedron@Double_Box@BD_Shape_double@Octagonal_Shape_double')" > ppl_interface_instantiations.m4 echo "m4_define(\`m4_cplusplus_classes_names', \`Polyhedron@Grid@Rational_Box@BD_Shape@BD_Shape@Octagonal_Shape@Octagonal_Shape@Constraints_Product@Pointset_Powerset@Pointset_Powerset@Double_Box@BD_Shape@Octagonal_Shape')" >> ppl_interface_instantiations.m4 make all-recursive make[5]: Entering directory '/build/ppl-1.2/interfaces' Making all in . make[6]: Entering directory '/build/ppl-1.2/interfaces' make[6]: Nothing to be done for 'all-am'. make[6]: Leaving directory '/build/ppl-1.2/interfaces' Making all in C make[6]: Entering directory '/build/ppl-1.2/interfaces/C' /usr/bin/m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_c_h.m4 > ppl_c_domains.h /usr/bin/m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_c_hh_files.m4 \ > ppl_c_hh_blob /usr/bin/m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_c_cc_files.m4 \ > ppl_c_cc_blob ../../utils/cm_cleaner.sh ./ppl_c_hh_blob ../../utils/cm_splitter.sh ./ppl_c_hh_blob rm -f ppl_c_hh_blob ../../utils/build_header \ -I ../../interfaces/C -I ../../src \ ../../interfaces/C/ppl_c_header.h >ppl_c.h ../../utils/cm_cleaner.sh ./ppl_c_cc_blob ../../utils/cm_splitter.sh ./ppl_c_cc_blob rm -f ppl_c_cc_blob echo timestamp >ppl_c_implementation_domains.cc.stamp make all-recursive make[7]: Entering directory '/build/ppl-1.2/interfaces/C' Making all in . make[8]: Entering directory '/build/ppl-1.2/interfaces/C' /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_implementation_common.lo ppl_c_implementation_common.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Polyhedron.lo ppl_c_Polyhedron.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Grid.lo ppl_c_Grid.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Rational_Box.lo ppl_c_Rational_Box.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_BD_Shape_mpz_class.lo ppl_c_BD_Shape_mpz_class.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_BD_Shape_mpq_class.lo ppl_c_BD_Shape_mpq_class.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Octagonal_Shape_mpz_class.lo ppl_c_Octagonal_Shape_mpz_class.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Octagonal_Shape_mpq_class.lo ppl_c_Octagonal_Shape_mpq_class.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Constraints_Product_C_Polyhedron_Grid.lo ppl_c_Constraints_Product_C_Polyhedron_Grid.cc /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Pointset_Powerset_C_Polyhedron.lo ppl_c_Pointset_Powerset_C_Polyhedron.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_implementation_common.cc -fPIC -DPIC -o .libs/ppl_c_implementation_common.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Polyhedron.cc -fPIC -DPIC -o .libs/ppl_c_Polyhedron.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Grid.cc -fPIC -DPIC -o .libs/ppl_c_Grid.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Rational_Box.cc -fPIC -DPIC -o .libs/ppl_c_Rational_Box.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_BD_Shape_mpz_class.cc -fPIC -DPIC -o .libs/ppl_c_BD_Shape_mpz_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Octagonal_Shape_mpz_class.cc -fPIC -DPIC -o .libs/ppl_c_Octagonal_Shape_mpz_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Pointset_Powerset_C_Polyhedron.cc -fPIC -DPIC -o .libs/ppl_c_Pointset_Powerset_C_Polyhedron.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_BD_Shape_mpq_class.cc -fPIC -DPIC -o .libs/ppl_c_BD_Shape_mpq_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Octagonal_Shape_mpq_class.cc -fPIC -DPIC -o .libs/ppl_c_Octagonal_Shape_mpq_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Constraints_Product_C_Polyhedron_Grid.cc -fPIC -DPIC -o .libs/ppl_c_Constraints_Product_C_Polyhedron_Grid.o In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_mpz_class.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_mpz_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_mpq_class.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_mpq_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Constraints_Product_C_Polyhedron_Grid.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Constraints_Product_C_Polyhedron_Grid.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Polyhedron.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Polyhedron.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Rational_Box.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Rational_Box.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_mpz_class.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_mpq_class.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Pointset_Powerset_C_Polyhedron.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Pointset_Powerset_C_Polyhedron.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Grid.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Grid.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_implementation_common.cc:26: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_implementation_common.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_mpz_class.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_mpz_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Constraints_Product_C_Polyhedron_Grid.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Pointset_Powerset_C_Polyhedron.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Grid.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_mpq_class.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_mpq_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_implementation_common.cc:26: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Rational_Box.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Polyhedron.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_mpz_class.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_mpq_class.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Pointset_Powerset_C_Polyhedron.cc -o ppl_c_Pointset_Powerset_C_Polyhedron.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Grid.cc -o ppl_c_Grid.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Constraints_Product_C_Polyhedron_Grid.cc -o ppl_c_Constraints_Product_C_Polyhedron_Grid.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_implementation_common.cc -o ppl_c_implementation_common.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Polyhedron.cc -o ppl_c_Polyhedron.o >/dev/null 2>&1 /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Pointset_Powerset_NNC_Polyhedron.lo ppl_c_Pointset_Powerset_NNC_Polyhedron.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Pointset_Powerset_NNC_Polyhedron.cc -fPIC -DPIC -o .libs/ppl_c_Pointset_Powerset_NNC_Polyhedron.o In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Pointset_Powerset_NNC_Polyhedron.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Pointset_Powerset_NNC_Polyhedron.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Pointset_Powerset_NNC_Polyhedron.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Rational_Box.cc -o ppl_c_Rational_Box.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_BD_Shape_mpq_class.cc -o ppl_c_BD_Shape_mpq_class.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_BD_Shape_mpz_class.cc -o ppl_c_BD_Shape_mpz_class.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Octagonal_Shape_mpz_class.cc -o ppl_c_Octagonal_Shape_mpz_class.o >/dev/null 2>&1 /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Double_Box.lo ppl_c_Double_Box.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Double_Box.cc -fPIC -DPIC -o .libs/ppl_c_Double_Box.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Octagonal_Shape_mpq_class.cc -o ppl_c_Octagonal_Shape_mpq_class.o >/dev/null 2>&1 In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Double_Box.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Double_Box.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Double_Box.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Pointset_Powerset_NNC_Polyhedron.cc -o ppl_c_Pointset_Powerset_NNC_Polyhedron.o >/dev/null 2>&1 /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_BD_Shape_double.lo ppl_c_BD_Shape_double.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_BD_Shape_double.cc -fPIC -DPIC -o .libs/ppl_c_BD_Shape_double.o In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_double.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_double.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_BD_Shape_double.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_c_Octagonal_Shape_double.lo ppl_c_Octagonal_Shape_double.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Octagonal_Shape_double.cc -fPIC -DPIC -o .libs/ppl_c_Octagonal_Shape_double.o In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_double.cc:24: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_double.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_c_implementation_common_defs.hh:28, from ppl_c_Octagonal_Shape_double.cc:24: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Double_Box.cc -o ppl_c_Double_Box.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_BD_Shape_double.cc -o ppl_c_BD_Shape_double.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_c_Octagonal_Shape_double.cc -o ppl_c_Octagonal_Shape_double.o >/dev/null 2>&1 /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -version-info 4:0:0 -Wl,-z,relro -o libppl_c.la -rpath /usr/lib/i386-linux-gnu ppl_c_implementation_common.lo ppl_c_Polyhedron.lo ppl_c_Grid.lo ppl_c_Rational_Box.lo ppl_c_BD_Shape_mpz_class.lo ppl_c_BD_Shape_mpq_class.lo ppl_c_Octagonal_Shape_mpz_class.lo ppl_c_Octagonal_Shape_mpq_class.lo ppl_c_Constraints_Product_C_Polyhedron_Grid.lo ppl_c_Pointset_Powerset_C_Polyhedron.lo ppl_c_Pointset_Powerset_NNC_Polyhedron.lo ppl_c_Double_Box.lo ppl_c_BD_Shape_double.lo ppl_c_Octagonal_Shape_double.lo ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/crti.o /usr/lib/gcc/i686-linux-gnu/8/crtbeginS.o .libs/ppl_c_implementation_common.o .libs/ppl_c_Polyhedron.o .libs/ppl_c_Grid.o .libs/ppl_c_Rational_Box.o .libs/ppl_c_BD_Shape_mpz_class.o .libs/ppl_c_BD_Shape_mpq_class.o .libs/ppl_c_Octagonal_Shape_mpz_class.o .libs/ppl_c_Octagonal_Shape_mpq_class.o .libs/ppl_c_Constraints_Product_C_Polyhedron_Grid.o .libs/ppl_c_Pointset_Powerset_C_Polyhedron.o .libs/ppl_c_Pointset_Powerset_NNC_Polyhedron.o .libs/ppl_c_Double_Box.o .libs/ppl_c_BD_Shape_double.o .libs/ppl_c_Octagonal_Shape_double.o -Wl,-rpath -Wl,/build/ppl-1.2/src/.libs ../../src/.libs/libppl.so -lgmpxx -lgmp -L/usr/lib/gcc/i686-linux-gnu/8 -L/usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu -L/usr/lib/gcc/i686-linux-gnu/8/../../../../lib -L/lib/i386-linux-gnu -L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/i686-linux-gnu/8/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i686-linux-gnu/8/crtendS.o /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/crtn.o -g -O2 -g -O2 -fstack-protector-strong -g -Wl,-z -Wl,relro -Wl,-soname -Wl,libppl_c.so.4 -o .libs/libppl_c.so.4.0.0 libtool: link: (cd ".libs" && rm -f "libppl_c.so.4" && ln -s "libppl_c.so.4.0.0" "libppl_c.so.4") libtool: link: (cd ".libs" && rm -f "libppl_c.so" && ln -s "libppl_c.so.4.0.0" "libppl_c.so") libtool: link: ar cru .libs/libppl_c.a ppl_c_implementation_common.o ppl_c_Polyhedron.o ppl_c_Grid.o ppl_c_Rational_Box.o ppl_c_BD_Shape_mpz_class.o ppl_c_BD_Shape_mpq_class.o ppl_c_Octagonal_Shape_mpz_class.o ppl_c_Octagonal_Shape_mpq_class.o ppl_c_Constraints_Product_C_Polyhedron_Grid.o ppl_c_Pointset_Powerset_C_Polyhedron.o ppl_c_Pointset_Powerset_NNC_Polyhedron.o ppl_c_Double_Box.o ppl_c_BD_Shape_double.o ppl_c_Octagonal_Shape_double.o ar: `u' modifier ignored since `D' is the default (see `U') libtool: link: ranlib .libs/libppl_c.a libtool: link: ( cd ".libs" && rm -f "libppl_c.la" && ln -s "../libppl_c.la" "libppl_c.la" ) make[8]: Leaving directory '/build/ppl-1.2/interfaces/C' Making all in tests make[8]: Entering directory '/build/ppl-1.2/interfaces/C/tests' make[8]: Nothing to be done for 'all'. make[8]: Leaving directory '/build/ppl-1.2/interfaces/C/tests' make[7]: Leaving directory '/build/ppl-1.2/interfaces/C' make[6]: Leaving directory '/build/ppl-1.2/interfaces/C' Making all in Prolog make[6]: Entering directory '/build/ppl-1.2/interfaces/Prolog' /usr/bin/m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_prolog_hh_files.m4 \ > ppl_prolog_hh_blob /usr/bin/m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_prolog_cc_files.m4 \ > ppl_prolog_cc_blob ../../utils/cm_cleaner.sh ./ppl_prolog_hh_blob ../../utils/cm_splitter.sh ./ppl_prolog_hh_blob rm -f ppl_prolog_hh_blob ../../utils/cm_cleaner.sh ./ppl_prolog_cc_blob ../../utils/cm_splitter.sh ./ppl_prolog_cc_blob rm -f ppl_prolog_cc_blob echo timestamp >ppl_prolog_domains.cc.stamp make all-recursive make[7]: Entering directory '/build/ppl-1.2/interfaces/Prolog' Making all in . make[8]: Entering directory '/build/ppl-1.2/interfaces/Prolog' /usr/bin/m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_prolog_dox.m4 \ > Prolog_configured_domains.dox make[8]: Leaving directory '/build/ppl-1.2/interfaces/Prolog' Making all in tests make[8]: Entering directory '/build/ppl-1.2/interfaces/Prolog/tests' make[8]: Nothing to be done for 'all'. make[8]: Leaving directory '/build/ppl-1.2/interfaces/Prolog/tests' Making all in SWI make[8]: Entering directory '/build/ppl-1.2/interfaces/Prolog/SWI' /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o swi_efli.lo swi_efli.cc /usr/bin/m4 --prefix-builtin -I../.. -I./.. -I./../.. \ ./ppl_interface_generator_swiprolog_cc.m4 > ppl_swiprolog.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo './'`../ppl_prolog_common.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo './'`../ppl_prolog_Polyhedron.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo './'`../ppl_prolog_Grid.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo './'`../ppl_prolog_Rational_Box.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo './'`../ppl_prolog_BD_Shape_mpz_class.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo './'`../ppl_prolog_BD_Shape_mpq_class.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo './'`../ppl_prolog_Octagonal_Shape_mpz_class.cc /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo './'`../ppl_prolog_Octagonal_Shape_mpq_class.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Octagonal_Shape_mpq_class.cc -fPIC -DPIC -o .libs/ppl_prolog_Octagonal_Shape_mpq_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c swi_efli.cc -fPIC -DPIC -o .libs/swi_efli.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_common.cc -fPIC -DPIC -o .libs/ppl_prolog_common.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Grid.cc -fPIC -DPIC -o .libs/ppl_prolog_Grid.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_BD_Shape_mpz_class.cc -fPIC -DPIC -o .libs/ppl_prolog_BD_Shape_mpz_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_BD_Shape_mpq_class.cc -fPIC -DPIC -o .libs/ppl_prolog_BD_Shape_mpq_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Octagonal_Shape_mpz_class.cc -fPIC -DPIC -o .libs/ppl_prolog_Octagonal_Shape_mpz_class.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Polyhedron.cc -fPIC -DPIC -o .libs/ppl_prolog_Polyhedron.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Rational_Box.cc -fPIC -DPIC -o .libs/ppl_prolog_Rational_Box.o In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_mpz_class.hh:24, from ../ppl_prolog_BD_Shape_mpz_class.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_mpz_class.hh:24, from ../ppl_prolog_BD_Shape_mpz_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Polyhedron.hh:24, from ../ppl_prolog_Polyhedron.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Polyhedron.hh:24, from ../ppl_prolog_Polyhedron.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_mpz_class.hh:24, from ../ppl_prolog_BD_Shape_mpz_class.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Grid.hh:24, from ../ppl_prolog_Grid.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Grid.hh:24, from ../ppl_prolog_Grid.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_mpq_class.hh:24, from ../ppl_prolog_BD_Shape_mpq_class.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_mpq_class.hh:24, from ../ppl_prolog_BD_Shape_mpq_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Polyhedron.hh:24, from ../ppl_prolog_Polyhedron.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from swi_efli.hh:28, from swi_efli.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from swi_efli.hh:28, from swi_efli.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_common.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_common.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_mpz_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpz_class.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_mpz_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpz_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Grid.hh:24, from ../ppl_prolog_Grid.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_mpq_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpq_class.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_mpq_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpq_class.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_mpq_class.hh:24, from ../ppl_prolog_BD_Shape_mpq_class.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from swi_efli.hh:28, from swi_efli.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_common.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_mpz_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpz_class.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_mpq_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpq_class.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Rational_Box.hh:24, from ../ppl_prolog_Rational_Box.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Rational_Box.hh:24, from ../ppl_prolog_Rational_Box.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_BD_Shape_mpz_class.hh:24, from ../ppl_prolog_BD_Shape_mpz_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_BD_Shape_mpz_class.hh:24, from ../ppl_prolog_BD_Shape_mpz_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_BD_Shape_mpz_class.cc: In function 'Prolog_foreign_return_type ppl_new_BD_Shape_mpz_class_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_BD_Shape_mpz_class.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_BD_Shape_mpz_class.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Rational_Box.hh:24, from ../ppl_prolog_Rational_Box.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Polyhedron.hh:24, from ../ppl_prolog_Polyhedron.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Polyhedron.hh:24, from ../ppl_prolog_Polyhedron.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Polyhedron.cc: In function 'Prolog_foreign_return_type ppl_new_C_Polyhedron_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Polyhedron.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Polyhedron.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ ../ppl_prolog_Polyhedron.cc: In function 'Prolog_foreign_return_type ppl_new_NNC_Polyhedron_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Polyhedron.cc:87:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Polyhedron.cc:92:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Grid.hh:24, from ../ppl_prolog_Grid.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Grid.hh:24, from ../ppl_prolog_Grid.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Grid.cc: In function 'Prolog_foreign_return_type ppl_new_Grid_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Grid.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Grid.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_BD_Shape_mpq_class.hh:24, from ../ppl_prolog_BD_Shape_mpq_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_BD_Shape_mpq_class.hh:24, from ../ppl_prolog_BD_Shape_mpq_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_BD_Shape_mpq_class.cc: In function 'Prolog_foreign_return_type ppl_new_BD_Shape_mpq_class_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_BD_Shape_mpq_class.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_BD_Shape_mpq_class.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Octagonal_Shape_mpz_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpz_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Octagonal_Shape_mpz_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpz_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_common.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_common.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ In file included from /usr/include/c++/8/cassert:44, from swi_cfli.hh:32, from swi_efli.hh:31, from swi_efli.cc:24: swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from swi_efli.hh:31, from swi_efli.cc:24: swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Octagonal_Shape_mpz_class.cc: In function 'Prolog_foreign_return_type ppl_new_Octagonal_Shape_mpz_class_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Octagonal_Shape_mpz_class.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Octagonal_Shape_mpz_class.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Octagonal_Shape_mpq_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpq_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Octagonal_Shape_mpq_class.hh:24, from ../ppl_prolog_Octagonal_Shape_mpq_class.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Octagonal_Shape_mpq_class.cc: In function 'Prolog_foreign_return_type ppl_new_Octagonal_Shape_mpq_class_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Octagonal_Shape_mpq_class.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Octagonal_Shape_mpq_class.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Rational_Box.hh:24, from ../ppl_prolog_Rational_Box.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Rational_Box.hh:24, from ../ppl_prolog_Rational_Box.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Rational_Box.cc: In function 'Prolog_foreign_return_type ppl_new_Rational_Box_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Rational_Box.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Rational_Box.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c swi_efli.cc -o swi_efli.o >/dev/null 2>&1 /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo './'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc -fPIC -DPIC -o .libs/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.o In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.hh:24, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.hh:24, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.hh:24, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.hh:24, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.hh:24, from ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc: In function 'Prolog_foreign_return_type ppl_new_Constraints_Product_C_Polyhedron_Grid_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo './'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc -fPIC -DPIC -o .libs/ppl_prolog_Pointset_Powerset_C_Polyhedron.o In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc: In function 'Prolog_foreign_return_type ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_common.cc -o ppl_prolog_common.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Grid.cc -o ppl_prolog_Grid.o >/dev/null 2>&1 /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo './'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc -fPIC -DPIC -o .libs/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc -o ppl_prolog_Pointset_Powerset_C_Polyhedron.o >/dev/null 2>&1 In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Polyhedron.cc -o ppl_prolog_Polyhedron.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.o >/dev/null 2>&1 In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.hh:24, from ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc: In function 'Prolog_foreign_return_type ppl_new_Pointset_Powerset_NNC_Polyhedron_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Rational_Box.cc -o ppl_prolog_Rational_Box.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_BD_Shape_mpq_class.cc -o ppl_prolog_BD_Shape_mpq_class.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_BD_Shape_mpz_class.cc -o ppl_prolog_BD_Shape_mpz_class.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Octagonal_Shape_mpz_class.cc -o ppl_prolog_Octagonal_Shape_mpz_class.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Octagonal_Shape_mpq_class.cc -o ppl_prolog_Octagonal_Shape_mpq_class.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.o >/dev/null 2>&1 /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo './'`../ppl_prolog_Double_Box.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Double_Box.cc -fPIC -DPIC -o .libs/ppl_prolog_Double_Box.o /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo './'`../ppl_prolog_BD_Shape_double.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_BD_Shape_double.cc -fPIC -DPIC -o .libs/ppl_prolog_BD_Shape_double.o In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Double_Box.hh:24, from ../ppl_prolog_Double_Box.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Double_Box.hh:24, from ../ppl_prolog_Double_Box.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Double_Box.hh:24, from ../ppl_prolog_Double_Box.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_double.hh:24, from ../ppl_prolog_BD_Shape_double.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_double.hh:24, from ../ppl_prolog_BD_Shape_double.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_BD_Shape_double.hh:24, from ../ppl_prolog_BD_Shape_double.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Double_Box.hh:24, from ../ppl_prolog_Double_Box.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Double_Box.hh:24, from ../ppl_prolog_Double_Box.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Double_Box.cc: In function 'Prolog_foreign_return_type ppl_new_Double_Box_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Double_Box.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Double_Box.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_BD_Shape_double.hh:24, from ../ppl_prolog_BD_Shape_double.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_BD_Shape_double.hh:24, from ../ppl_prolog_BD_Shape_double.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_BD_Shape_double.cc: In function 'Prolog_foreign_return_type ppl_new_BD_Shape_double_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_BD_Shape_double.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_BD_Shape_double.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo './'`../ppl_prolog_Octagonal_Shape_double.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Octagonal_Shape_double.cc -fPIC -DPIC -o .libs/ppl_prolog_Octagonal_Shape_double.o In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_double.hh:24, from ../ppl_prolog_Octagonal_Shape_double.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_double.hh:24, from ../ppl_prolog_Octagonal_Shape_double.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_Octagonal_Shape_double.hh:24, from ../ppl_prolog_Octagonal_Shape_double.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Octagonal_Shape_double.hh:24, from ../ppl_prolog_Octagonal_Shape_double.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_Octagonal_Shape_double.hh:24, from ../ppl_prolog_Octagonal_Shape_double.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ ../ppl_prolog_Octagonal_Shape_double.cc: In function 'Prolog_foreign_return_type ppl_new_Octagonal_Shape_double_from_space_dimension(Prolog_term_ref, Prolog_term_ref, Prolog_term_ref)': ../ppl_prolog_Octagonal_Shape_double.cc:57:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else ^~~~ ../ppl_prolog_Octagonal_Shape_double.cc:62:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' Prolog_term_ref tmp = Prolog_new_term_ref(); ^~~~~~~~~~~~~~~ /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_swiprolog.lo ppl_swiprolog.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_swiprolog.cc -fPIC -DPIC -o .libs/ppl_swiprolog.o In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_domains.hh:24, from ppl_swiprolog.cc:24: ../../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../../src/ppl.hh:754, from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_domains.hh:24, from ppl_swiprolog.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../ppl_prolog_common_defs.hh:28, from ../ppl_prolog_domains.hh:24, from ppl_swiprolog.cc:24: ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from /usr/include/c++/8/cassert:44, from ./swi_cfli.hh:32, from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_domains.hh:24, from ppl_swiprolog.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_big_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:85:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] assert(ul > LONG_MAX && ul > (uint64_t) INT64_MAX); ^ In file included from ./swi_efli.hh:31, from ./ppl_prolog_sysdep.hh:24, from ../ppl_prolog_common_defs.hh:29, from ../ppl_prolog_domains.hh:24, from ppl_swiprolog.cc:24: ./swi_cfli.hh: In function 'int Prolog_put_ulong(Prolog_term_ref, long unsigned int)': ./swi_cfli.hh:108:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] else if (ul <= (uint64_t) INT64_MAX) { ^ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ppl_swiprolog.cc -o ppl_swiprolog.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_BD_Shape_double.cc -o ppl_prolog_BD_Shape_double.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Double_Box.cc -o ppl_prolog_Double_Box.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../interfaces -I../../../interfaces/Prolog -I/interfaces/Prolog -I../../../src -I/usr/lib/swi-prolog/include -I/usr/include/pl -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c ../ppl_prolog_Octagonal_Shape_double.cc -o ppl_prolog_Octagonal_Shape_double.o >/dev/null 2>&1 /bin/bash ../../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -module -avoid-version -Wl,-z,relro -o libppl_swiprolog.la -rpath /usr/lib/i386-linux-gnu/ppl swi_efli.lo ppl_swiprolog.lo ppl_prolog_common.lo ppl_prolog_Polyhedron.lo ppl_prolog_Grid.lo ppl_prolog_Rational_Box.lo ppl_prolog_BD_Shape_mpz_class.lo ppl_prolog_BD_Shape_mpq_class.lo ppl_prolog_Octagonal_Shape_mpz_class.lo ppl_prolog_Octagonal_Shape_mpq_class.lo ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo ppl_prolog_Pointset_Powerset_C_Polyhedron.lo ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo ppl_prolog_Double_Box.lo ppl_prolog_BD_Shape_double.lo ppl_prolog_Octagonal_Shape_double.lo ../../../src/libppl.la -lgmpxx -lgmp -L/usr/lib/swi-prolog/lib/i686-linux -L/usr/lib/swi-prolog/lib -lswipl libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/crti.o /usr/lib/gcc/i686-linux-gnu/8/crtbeginS.o .libs/swi_efli.o .libs/ppl_swiprolog.o .libs/ppl_prolog_common.o .libs/ppl_prolog_Polyhedron.o .libs/ppl_prolog_Grid.o .libs/ppl_prolog_Rational_Box.o .libs/ppl_prolog_BD_Shape_mpz_class.o .libs/ppl_prolog_BD_Shape_mpq_class.o .libs/ppl_prolog_Octagonal_Shape_mpz_class.o .libs/ppl_prolog_Octagonal_Shape_mpq_class.o .libs/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.o .libs/ppl_prolog_Pointset_Powerset_C_Polyhedron.o .libs/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.o .libs/ppl_prolog_Double_Box.o .libs/ppl_prolog_BD_Shape_double.o .libs/ppl_prolog_Octagonal_Shape_double.o -Wl,-rpath -Wl,/build/ppl-1.2/src/.libs ../../../src/.libs/libppl.so -lgmpxx -lgmp -L/usr/lib/swi-prolog/lib/i686-linux -L/usr/lib/swi-prolog/lib -lswipl -L/usr/lib/gcc/i686-linux-gnu/8 -L/usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu -L/usr/lib/gcc/i686-linux-gnu/8/../../../../lib -L/lib/i386-linux-gnu -L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/i686-linux-gnu/8/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i686-linux-gnu/8/crtendS.o /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/crtn.o -g -O2 -g -O2 -fstack-protector-strong -g -Wl,-z -Wl,relro -Wl,-soname -Wl,libppl_swiprolog.so -o .libs/libppl_swiprolog.so libtool: link: ar cru .libs/libppl_swiprolog.a swi_efli.o ppl_swiprolog.o ppl_prolog_common.o ppl_prolog_Polyhedron.o ppl_prolog_Grid.o ppl_prolog_Rational_Box.o ppl_prolog_BD_Shape_mpz_class.o ppl_prolog_BD_Shape_mpq_class.o ppl_prolog_Octagonal_Shape_mpz_class.o ppl_prolog_Octagonal_Shape_mpq_class.o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.o ppl_prolog_Pointset_Powerset_C_Polyhedron.o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.o ppl_prolog_Double_Box.o ppl_prolog_BD_Shape_double.o ppl_prolog_Octagonal_Shape_double.o ar: `u' modifier ignored since `D' is the default (see `U') libtool: link: ranlib .libs/libppl_swiprolog.a libtool: link: ( cd ".libs" && rm -f "libppl_swiprolog.la" && ln -s "../libppl_swiprolog.la" "libppl_swiprolog.la" ) make[8]: Leaving directory '/build/ppl-1.2/interfaces/Prolog/SWI' make[7]: Leaving directory '/build/ppl-1.2/interfaces/Prolog' make[6]: Leaving directory '/build/ppl-1.2/interfaces/Prolog' make[5]: Leaving directory '/build/ppl-1.2/interfaces' make[4]: Leaving directory '/build/ppl-1.2/interfaces' Making all in demos make[4]: Entering directory '/build/ppl-1.2/demos' Making all in ppl_pips make[5]: Entering directory '/build/ppl-1.2/demos/ppl_pips' Making all in examples make[6]: Entering directory '/build/ppl-1.2/demos/ppl_pips/examples' make[6]: Nothing to be done for 'all'. make[6]: Leaving directory '/build/ppl-1.2/demos/ppl_pips/examples' make[6]: Entering directory '/build/ppl-1.2/demos/ppl_pips' g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../src -I../../utils -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_pips.o ppl_pips.cc In file included from ppl_pips.cc:36: ../../src/ppl.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/ppl.hh:23961:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/ppl.hh:754, from ppl_pips.cc:36: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ppl_pips.cc:36: ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/ppl.hh:42067:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42068:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/ppl.hh:42075:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/ppl.hh:42076:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ppl_pips.cc: In function 'int main(int, char**)': ppl_pips.cc:820:8: warning: 'template class std::auto_ptr' is deprecated [-Wdeprecated-declarations] std::auto_ptr parser; ^~~~~~~~ In file included from /usr/include/c++/8/bits/locale_conv.h:41, from /usr/include/c++/8/locale:43, from /usr/include/c++/8/iomanip:43, from ../../src/ppl.hh:15079, from ppl_pips.cc:36: /usr/include/c++/8/bits/unique_ptr.h:53:28: note: declared here template class auto_ptr; ^~~~~~~~ ppl_pips.cc:841:10: warning: 'template class std::auto_ptr' is deprecated [-Wdeprecated-declarations] std::auto_ptr pip_p; ^~~~~~~~ In file included from /usr/include/c++/8/bits/locale_conv.h:41, from /usr/include/c++/8/locale:43, from /usr/include/c++/8/iomanip:43, from ../../src/ppl.hh:15079, from ppl_pips.cc:36: /usr/include/c++/8/bits/unique_ptr.h:53:28: note: declared here template class auto_ptr; ^~~~~~~~ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o ppl_pips ppl_pips.o ../../src/libppl.la ../../utils/libppl_utils.a -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/ppl_pips ppl_pips.o ../../src/.libs/libppl.so ../../utils/libppl_utils.a -lgmpxx -lgmp make[6]: Leaving directory '/build/ppl-1.2/demos/ppl_pips' make[5]: Leaving directory '/build/ppl-1.2/demos/ppl_pips' make[5]: Entering directory '/build/ppl-1.2/demos' make[5]: Nothing to be done for 'all-am'. make[5]: Leaving directory '/build/ppl-1.2/demos' make[4]: Leaving directory '/build/ppl-1.2/demos' Making all in doc make[4]: Entering directory '/build/ppl-1.2/doc' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/doc' Making all in m4 make[4]: Entering directory '/build/ppl-1.2/m4' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/m4' make[3]: Leaving directory '/build/ppl-1.2' make[2]: Leaving directory '/build/ppl-1.2' save_size=10000 dh_auto_build --builddirectory=doc -- user-configured cd doc && make -j10 user-configured make[2]: Entering directory '/build/ppl-1.2/doc' rm -rf ppl-user-1.2-html TEXINPUTS=/build/ppl-1.2/doc: texmf_casefold_search=0 doxygen user.doxyconf-html rm -rf user-configured-c-interface.latex-dir rm -rf user-configured-prolog-interface.latex-dir /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured C/' -e 's//configured-c-interface/' -e 's///' \ ./user-language-interface.tex \ > user-configured-c-interface.tex /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured Prolog/' -e 's//configured-prolog-interface/' -e 's///' \ ./user-language-interface.tex \ > user-configured-prolog-interface.tex /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured C/' -e 's//configured-c-interface/' -e 's///' -f ./interfaces-latex.sed -e 's///' \ -e 's||'"./gpl.dox ./fdl.dox ./../interfaces/C/C_interface.dox ../interfaces/C/ppl_c.h"'|' \ user-language-interface.doxyconf \ > Doxyfile.user-configured-c-interface-latex /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured Prolog/' -e 's//configured-prolog-interface/' -e 's///' -f ./interfaces-latex.sed -e 's///' \ -e 's||'"./gpl.dox ./fdl.dox ./../interfaces/Prolog/Prolog_configured_interface.dox ./../interfaces/Prolog/Prolog_interface_sysindep.dox ../interfaces/Prolog/Prolog_configured_domains.dox ./../interfaces/Prolog/Prolog_interface_compilation.dox ./../interfaces/Prolog/Prolog_interface_sysdep.dox"'|' \ user-language-interface.doxyconf \ > Doxyfile.user-configured-prolog-interface-latex TEXINPUTS=/build/ppl-1.2/doc: texmf_casefold_search=0 doxygen Doxyfile.user-configured-c-interface-latex TEXINPUTS=/build/ppl-1.2/doc: texmf_casefold_search=0 doxygen Doxyfile.user-configured-prolog-interface-latex warning: doxygen no longer ships with the FreeSans font. You may want to clear or change DOT_FONTNAME. Otherwise you run the risk that the wrong font is being used for dot generated graphs. warning: doxygen no longer ships with the FreeSans font. You may want to clear or change DOT_FONTNAME. Otherwise you run the risk that the wrong font is being used for dot generated graphs. warning: doxygen no longer ships with the FreeSans font. You may want to clear or change DOT_FONTNAME. Otherwise you run the risk that the wrong font is being used for dot generated graphs. GPL:-1: warning: multiple use of section label 'GPL', (first occurrence: /build/ppl-1.2/doc/gpl.dox, line 6) GFDL:-1: warning: multiple use of section label 'GFDL', (first occurrence: /build/ppl-1.2/doc/fdl.dox, line 6) GPL:-1: warning: multiple use of section label 'GPL', (first occurrence: /build/ppl-1.2/doc/gpl.dox, line 6) GFDL:-1: warning: multiple use of section label 'GFDL', (first occurrence: /build/ppl-1.2/doc/fdl.dox, line 6) TEXINPUTS=/build/ppl-1.2/doc: texmf_casefold_search=0 make -C user-configured-prolog-interface.latex-dir \ refman.pdf \ && mv -f user-configured-prolog-interface.latex-dir/refman.pdf ppl-user-configured-prolog-interface-1.2.pdf make[3]: Entering directory '/build/ppl-1.2/doc' make[3]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf pdflatex refman This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode (./refman.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) (/usr/share/texlive/texmf-dist/tex/latex/a4wide/a4wide.sty (/usr/share/texlive/texmf-dist/tex/latex/ntgclass/a4.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu))) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg) (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty))) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty)) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (./doxygen.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty)) (/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)) (/build/ppl-1.2/doc/ppl.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty)) Writing index file refman.idx No file refman.aux. (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty)) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd) [1{/var/lib/texmf/fo nts/map/pdftex/updmap/pdftex.map} ] [2] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd) [3 ] [4] [1] [2] (./index.tex) (./GPL.texpdfTeX warning (ext4) : destination with the same identifier (name{page.1}) has been already used, du plicate ignored \relax l.22 [1]pdfTeX warning (ext4): destination with the same identifier (name{page .2}) has been already used, duplicate ignored \relax l.58 [2]pdfTeX warning (ext4): destination with the same identifier (name{page .3}) has been already used, duplicate ignored \relax l.84 [3]pdfTeX warning (ext4): destination with the same identifier (name{page .4}) has been already used, duplicate ignored \relax l.121 [4] [5] [6] [7] [8]) Overfull \hbox (10.35326pt too wide) in paragraph at lines 291--187 \OT1/ptm/m/n/10 stead of this Li-cense. But first, please read [][]\OT1/pcr/m/n /10 http[]://www.[]gnu.[]org/philosophy/why-not-lgpl.[] [9] (./GFDL.tex [10] [11] [12] Overfull \hbox (7.49895pt too wide) in paragraph at lines 97--98 \OT1/ptm/m/n/10 ments, form-ing one sec-tion En-ti-tled "[]History"; like-wise com-bine any sec-tions En-ti-tled "[]Acknowledgements", [13]) (./PI_SI_Features.tex [14] Underfull \hbox (badness 10000) in paragraph at lines 19--20 Underfull \hbox (badness 10000) in paragraph at lines 21--22 Underfull \hbox (badness 10000) in paragraph at lines 23--24 Overfull \hbox (3.40186pt too wide) in paragraph at lines 28--29 []\OT1/ptm/m/n/10 The prod-uct do-mains con-sist of Direct[][][][]Product[][][] []S[][][]T, Smash[][][][]Product[][][][]S[][][]T, Constraints[][][][]Product[] [15] [16] Underfull \vbox (badness 10000) has occurred while \output is active [17] Underfull \hbox (badness 10000) in paragraph at lines 241--242 Underfull \hbox (badness 10000) in paragraph at lines 246--247 [18] Underfull \hbox (badness 10000) in paragraph at lines 251--252 Underfull \hbox (badness 10000) in paragraph at lines 256--257 Underfull \hbox (badness 10000) in paragraph at lines 261--262 Underfull \hbox (badness 10000) in paragraph at lines 266--267 Underfull \hbox (badness 10000) in paragraph at lines 271--272 Underfull \hbox (badness 10000) in paragraph at lines 276--277 Underfull \hbox (badness 10000) in paragraph at lines 281--282 Underfull \hbox (badness 10000) in paragraph at lines 286--287 Underfull \hbox (badness 10000) in paragraph at lines 291--292 Underfull \hbox (badness 10000) in paragraph at lines 296--297 Underfull \hbox (badness 10000) in paragraph at lines 303--304 Underfull \hbox (badness 10000) in paragraph at lines 308--309 [19] Underfull \hbox (badness 10000) in paragraph at lines 313--314 Underfull \hbox (badness 10000) in paragraph at lines 318--319 Underfull \hbox (badness 10000) in paragraph at lines 323--324 Underfull \hbox (badness 10000) in paragraph at lines 334--335 Overfull \hbox (70.9953pt too wide) in paragraph at lines 339--340 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]M[]I[]P[][][][]Problem(+[]Dimension[][][] []Type, +[]Constraint[][][][]System, +[]Lin[][][][]Expr, +[]Optimization[] Underfull \hbox (badness 10000) in paragraph at lines 339--340 Underfull \hbox (badness 10000) in paragraph at lines 344--345 Underfull \hbox (badness 10000) in paragraph at lines 349--350 Underfull \hbox (badness 10000) in paragraph at lines 354--355 Underfull \hbox (badness 10000) in paragraph at lines 359--360 Underfull \hbox (badness 10000) in paragraph at lines 364--365 Underfull \hbox (badness 10000) in paragraph at lines 369--370 Underfull \hbox (badness 10000) in paragraph at lines 374--375 [20] Underfull \hbox (badness 10000) in paragraph at lines 379--380 Overfull \hbox (7.87047pt too wide) in paragraph at lines 382--383 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Optimization[][][][]Mode \OT1/ptm/m /it/10 with the op-ti-miza-tion mode for the M[]IP Prob-lem ref-er-enced by \OT 1/pcr/m/sl/10 Handle\OT1/ptm/m/it/10 . Underfull \hbox (badness 10000) in paragraph at lines 384--385 Overfull \hbox (9.2138pt too wide) in paragraph at lines 389--390 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]space[][][]di mensions[][][]and[][][]embed( +[]Handle, +[]Dimension[][][][]Type) Underfull \hbox (badness 10000) in paragraph at lines 389--390 Underfull \hbox (badness 10000) in paragraph at lines 389--390 Underfull \hbox (badness 10000) in paragraph at lines 394--395 Underfull \hbox (badness 10000) in paragraph at lines 399--400 Underfull \hbox (badness 10000) in paragraph at lines 404--405 Underfull \hbox (badness 10000) in paragraph at lines 409--410 Overfull \hbox (5.6138pt too wide) in paragraph at lines 414--415 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]set[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Value) Underfull \hbox (badness 10000) in paragraph at lines 414--415 Underfull \hbox (badness 10000) in paragraph at lines 414--415 Overfull \hbox (62.5953pt too wide) in paragraph at lines 419--420 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]get[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Name, ?Control[] Underfull \hbox (badness 10000) in paragraph at lines 419--420 Overfull \hbox (18.68352pt too wide) in paragraph at lines 422--423 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Control[][][][]Parameter[][][][]Val ue \OT1/ptm/m/it/10 with the value of the con-trol pa-ram-e-ter \OT1/pcr/m/sl/1 0 Control[][][][]Parameter[] Underfull \hbox (badness 10000) in paragraph at lines 424--425 Overfull \hbox (41.0819pt too wide) in paragraph at lines 427--428 []\OT1/ptm/m/it/10 Updates the M[]IP Prob-lem ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 so that the op-ti-miza-tion mode is changed to \OT1/pcr /m/sl/10 Optimization[] Underfull \hbox (badness 10000) in paragraph at lines 429--430 Underfull \hbox (badness 10000) in paragraph at lines 434--435 Overfull \hbox (15.46123pt too wide) in paragraph at lines 437--438 []\OT1/ptm/m/it/10 Solves the M[]IP prob-lem ref-er-enced by \OT1/pcr/m/sl/10 H andle \OT1/ptm/m/it/10 and uni-fies \OT1/pcr/m/sl/10 M[]I[]P[][][][]Problem[][] [][]Status \OT1/ptm/m/it/10 with[]: \OT1/pcr/m/sl/10 unfeasible\OT1/ptm/m/it/10 , Underfull \hbox (badness 10000) in paragraph at lines 439--440 [21] Underfull \hbox (badness 10000) in paragraph at lines 444--445 Underfull \hbox (badness 10000) in paragraph at lines 449--450 Overfull \hbox (13.3953pt too wide) in paragraph at lines 454--456 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][]objectiv e[][][]function(+[]Handle, +[]Generator, ?Coeff[] Overfull \hbox (41.48175pt too wide) in paragraph at lines 454--456 \OT1/ptm/m/it/10 Evaluates the ob-jec-tive func-tion of the M[]IP prob-lem ref- er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 at point \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Coefficient[] Underfull \hbox (badness 10000) in paragraph at lines 457--458 Underfull \hbox (badness 10000) in paragraph at lines 462--463 Underfull \hbox (badness 10000) in paragraph at lines 467--468 Underfull \hbox (badness 10000) in paragraph at lines 476--477 Overfull \hbox (4.9953pt too wide) in paragraph at lines 484--485 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]P[]I[]P[][][][]Problem(+[]Dimension[][][] []Type, +[]Constraint[][][][]System, +[]Vars[][][][]List, -[] Underfull \hbox (badness 10000) in paragraph at lines 484--485 [22] Overfull \hbox (62.5953pt too wide) in paragraph at lines 504--505 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]get[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Name, ?Control[] Underfull \hbox (badness 10000) in paragraph at lines 504--505 Overfull \hbox (18.68352pt too wide) in paragraph at lines 507--508 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Control[][][][]Parameter[][][][]Val ue \OT1/ptm/m/it/10 with the value of the con-trol pa-ram-e-ter \OT1/pcr/m/sl/1 0 Control[][][][]Parameter[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 512--514 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]di mensions[][][]and[][][]embed( +[]Handle, +[]Dimension[][][][]Type1, Overfull \hbox (5.6138pt too wide) in paragraph at lines 524--525 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]set[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Value) Underfull \hbox (badness 10000) in paragraph at lines 524--525 Underfull \hbox (badness 10000) in paragraph at lines 524--525 Underfull \hbox (badness 10000) in paragraph at lines 544--545 [23]) (./configured_domains_predicates.tex [24] Overfull \hbox (6.19531pt too wide) in paragraph at lines 34--36 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]space[ ][][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 41--43 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Underfull \hbox (badness 10000) in paragraph at lines 71--72 [25] Overfull \hbox (11.00215pt too wide) in paragraph at lines 104--106 \OT1/ptm/m/it/10 Builds a new N[]NC poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (12.11226pt too wide) in paragraph at lines 110--112 \OT1/ptm/m/it/10 Builds a new N[]NC poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 113--115 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 116--118 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 119--121 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 122--124 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] [26] Overfull \hbox (15.07239pt too wide) in paragraph at lines 137--139 \OT1/ptm/m/it/10 Builds a new C poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm /m/it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 140--142 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][]2) Overfull \hbox (27.2138pt too wide) in paragraph at lines 143--145 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[][ ][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 146--148 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 149--151 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[]N []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (51.2138pt too wide) in paragraph at lines 152--154 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (2.5953pt too wide) in paragraph at lines 155--157 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Grid [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 158--160 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 161--163 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rati onal[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 164--166 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 167--169 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[] [27] Overfull \hbox (13.39532pt too wide) in paragraph at lines 170--172 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (1.39532pt too wide) in paragraph at lines 173--175 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 176--178 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (22.41382pt too wide) in paragraph at lines 179--181 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 182--184 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 185--187 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 188--190 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 191--193 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Doub le[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (27.2138pt too wide) in paragraph at lines 194--196 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (42.81381pt too wide) in paragraph at lines 197--199 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 200--202 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 203--205 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [28] Overfull \hbox (18.81381pt too wide) in paragraph at lines 206--208 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [29] Overfull \hbox (15.79529pt too wide) in paragraph at lines 274--276 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]constraint (+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (28.99063pt too wide) in paragraph at lines 274--276 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (3.79529pt too wide) in paragraph at lines 277--279 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]generator( +[]Handle, +[]Generator, ?Relation[] Overfull \hbox (22.99063pt too wide) in paragraph at lines 277--279 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (15.79529pt too wide) in paragraph at lines 280--282 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]congruence (+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (28.99063pt too wide) in paragraph at lines 280--282 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (16.41379pt too wide) in paragraph at lines 301--303 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]maximize(+[]Handle, +[]Lin[][][][] Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (16.41379pt too wide) in paragraph at lines 306--308 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]minimize(+[]Handle, +[]Lin[][][][] Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (10.9953pt too wide) in paragraph at lines 311--313 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]maximize[][][]with[][][]point(+[]H andle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [30] Overfull \hbox (10.9953pt too wide) in paragraph at lines 316--318 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]minimize[][][]with[][][]point(+[]H andle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [31] Overfull \hbox (2.92062pt too wide) in paragraph at lines 386--388 \OT1/ptm/m/it/10 Transforms the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 H andle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m/s l/10 Lin[][][][]Expr/Coeff Overfull \hbox (14.5953pt too wide) in paragraph at lines 389--391 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][]image(+[] Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 392--394 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][]preimage( +[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (32.0138pt too wide) in paragraph at lines 395--397 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]image (+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (13.3953pt too wide) in paragraph at lines 398--400 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]preim age(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 401--403 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]image [][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] [32] Overfull \hbox (0.19531pt too wide) in paragraph at lines 404--406 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]preim age[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][] Overfull \hbox (44.0138pt too wide) in paragraph at lines 407--409 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]wrap[][][]assign(+[]Handle, +[]Lis t[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Overfull \hbox (29.6138pt too wide) in paragraph at lines 438--440 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]context[] [][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (16.9953pt too wide) in paragraph at lines 441--443 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]linear[][][]partition(+[]Handle[][ ][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] [33] Overfull \hbox (18.19531pt too wide) in paragraph at lines 448--450 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][] assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 451--453 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign[][ ][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 460--462 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[][] []tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 466--468 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 469--471 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 472--474 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapolat ion[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 475--477 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapolat ion[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] [34] Overfull \hbox (2.5953pt too wide) in paragraph at lines 478--480 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (2.5953pt too wide) in paragraph at lines 481--483 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (8.5953pt too wide) in paragraph at lines 484--486 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapolat ion[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 487--489 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapolat ion[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 506--508 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][] []and[][][]project(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (2.0138pt too wide) in paragraph at lines 512--514 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[][][ ]dimensions(+[]Handle, +[]Dimension[][][][]Type) [35] Overfull \hbox (14.0138pt too wide) in paragraph at lines 515--517 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]expand[][][]space[][][]dimension(+ []Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][][]Type) Overfull \hbox (0.19531pt too wide) in paragraph at lines 518--520 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]fold[][][]space[][][]dimensions(+[ ]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[]L[][][] Overfull \hbox (12.19531pt too wide) in paragraph at lines 540--542 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][]space[][][]dimension( +[]Dimension[][][][]Type, +[]Universe[][][]or[][][][]Empty, -[] Underfull \hbox (badness 10000) in paragraph at lines 561--562 [36] Overfull \hbox (2.5953pt too wide) in paragraph at lines 600--602 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 603--605 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Poly hedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 609--611 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][]Box [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 612--614 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, [37] Overfull \hbox (12.81381pt too wide) in paragraph at lines 615--617 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 618--620 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 621--623 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (23.6138pt too wide) in paragraph at lines 624--626 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Box[] [][]with[][][]complexity(+[]Handle, +[]Complexity, -[]Handle) Overfull \hbox (18.19531pt too wide) in paragraph at lines 627--629 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (39.2138pt too wide) in paragraph at lines 630--632 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, [38] Overfull \hbox (7.44052pt too wide) in paragraph at lines 692--694 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Dimension[][][][]Type \OT1/ptm/m/it/1 0 with the di-men-sion of the vec-tor space en-clos-ing the grid ref-er-enced b y \OT1/pcr/m/sl/10 Handle\OT1/ptm/m/it/10 . Overfull \hbox (4.41379pt too wide) in paragraph at lines 698--700 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]constraint(+[]Ha ndle, +[]Constraint, ?Relation[][][][]List) Overfull \hbox (0.56071pt too wide) in paragraph at lines 698--700 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (4.41379pt too wide) in paragraph at lines 704--706 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]congruence(+[]Ha ndle, +[]Congruence, ?Relation[][][][]List) Overfull \hbox (0.56071pt too wide) in paragraph at lines 704--706 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (22.9953pt too wide) in paragraph at lines 707--709 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]grid[][][]genera tor(+[]Handle, +[]Grid[][][][]Generator, ?Relation[] [39] Overfull \hbox (41.6138pt too wide) in paragraph at lines 738--740 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean, Overfull \hbox (41.6138pt too wide) in paragraph at lines 743--745 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean, [40] Overfull \hbox (7.24037pt too wide) in paragraph at lines 785--787 \OT1/ptm/m/it/10 Updates the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT1/pc r/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (13.48053pt too wide) in paragraph at lines 788--790 \OT1/ptm/m/it/10 Updates the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ ptm/m/it/10 to one ob-tained by re-fin-ing its con-gru-ence sys-tem with \OT1/p cr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (6.19531pt too wide) in paragraph at lines 816--818 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]bounded[][][]affine[][][]image(+[]Handle , +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 819--821 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]bounded[][][]affine[][][]preimage(+[]Han dle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[][][] Overfull \hbox (16.9953pt too wide) in paragraph at lines 822--824 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image(+[]Ha ndle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, +[] [41] Overfull \hbox (14.0138pt too wide) in paragraph at lines 825--827 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage(+[ ]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (18.19531pt too wide) in paragraph at lines 828--830 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[]Relation[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 831--833 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[]Relation[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 834--836 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] with[][][]congruence(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 837--839 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]with[][][]congruence(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 840--842 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] lhs[][][]rhs[][][]with[][][]congruence(+[]Handle, +[]Lin[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 843--845 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]lhs[][][]rhs[][][]with[][][]congruence(+[]Handle, +[] Overfull \hbox (8.0138pt too wide) in paragraph at lines 846--848 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]wrap[][][]assign(+[]Handle, +[]List[][][ ]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, [42] Overfull \hbox (6.19531pt too wide) in paragraph at lines 875--877 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[][] []with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 878--880 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[][][ ]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 887--889 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]widening[][][]assign[][][]with[][][]toke ns(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 893--895 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolati on[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 896--898 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolatio n[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 899--901 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolati on[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 902--904 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolatio n[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] [43] Overfull \hbox (0.99101pt too wide) in paragraph at lines 911--913 \OT1/ptm/m/it/10 Assigns to the grid \OT1/pcr/m/sl/10 P \OT1/ptm/m/it/10 ref-er -enced by \OT1/pcr/m/sl/10 Handle[][][]1 \OT1/ptm/m/it/10 the con-cate-na-tion of \OT1/pcr/m/sl/10 P \OT1/ptm/m/it/10 and the grid ref-er-enced by \OT1/pcr/m/ sl/10 Handle[] [44] Overfull \hbox (6.19531pt too wide) in paragraph at lines 955--957 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][]space[ ][][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[] Underfull \hbox (badness 10000) in paragraph at lines 976--977 Overfull \hbox (1.39532pt too wide) in paragraph at lines 1000--1002 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[][][] [45] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1003--1005 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.82297pt too wide) in paragraph at lines 1012--1014 \OT1/ptm/m/it/10 Builds a new ra-tio-nal box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm /m/it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 1015--1017 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[][ ][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 1018--1020 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[]N []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (2.5953pt too wide) in paragraph at lines 1021--1023 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Grid [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 1024--1026 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rati onal[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1027--1029 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1030--1032 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 1033--1035 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (22.41382pt too wide) in paragraph at lines 1036--1038 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, [46] Overfull \hbox (15.2138pt too wide) in paragraph at lines 1039--1041 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Doub le[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (42.81381pt too wide) in paragraph at lines 1042--1044 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 1045--1047 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [47] Overfull \hbox (25.3953pt too wide) in paragraph at lines 1113--1115 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]c onstraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (13.3953pt too wide) in paragraph at lines 1116--1118 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]g enerator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (25.3953pt too wide) in paragraph at lines 1119--1121 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]c ongruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (2.0138pt too wide) in paragraph at lines 1128--1130 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][]c onstraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (2.0138pt too wide) in paragraph at lines 1131--1133 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][]c ongruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (35.6138pt too wide) in paragraph at lines 1134--1136 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]has[][][]upper[][][]bound (+[]Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (35.6138pt too wide) in paragraph at lines 1139--1141 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]has[][][]lower[][][]bound (+[]Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (26.0138pt too wide) in paragraph at lines 1144--1146 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]maximize(+[]Handle, +[]Li n[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) [48] Overfull \hbox (26.0138pt too wide) in paragraph at lines 1149--1151 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]minimize(+[]Handle, +[]Li n[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (20.5953pt too wide) in paragraph at lines 1154--1156 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]maximize[][][]with[][][]p oint(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 1159--1161 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]minimize[][][]with[][][]p oint(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [49] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1217--1219 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[][ ][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var) Overfull \hbox (6.24055pt too wide) in paragraph at lines 1223--1225 \OT1/ptm/m/it/10 Transforms the ra-tio-nal box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (6.19531pt too wide) in paragraph at lines 1226--1228 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][][] image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1229--1231 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][][] preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][] Overfull \hbox (4.9953pt too wide) in paragraph at lines 1232--1234 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 1235--1237 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] [50] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1238--1240 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 1241--1243 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (53.6138pt too wide) in paragraph at lines 1244--1246 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]wrap[][][]assign(+[]Handl e, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Overfull \hbox (39.2138pt too wide) in paragraph at lines 1266--1268 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][][] context[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (26.5953pt too wide) in paragraph at lines 1269--1271 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]linear[][][]partition(+[] Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] [51] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1276--1278 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[][ ][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (45.79532pt too wide) in paragraph at lines 1282--1284 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[][][ ]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1288--1290 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][] []extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1291--1293 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][] []extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] [52] Overfull \hbox (9.2138pt too wide) in paragraph at lines 1310--1312 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dimen sions[][][]and[][][]embed(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (0.19531pt too wide) in paragraph at lines 1313--1315 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dimen sions[][][]and[][][]project(+[]Handle, +[]Dimension[][][] Overfull \hbox (11.6138pt too wide) in paragraph at lines 1319--1321 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][]s pace[][][]dimensions(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (2.5953pt too wide) in paragraph at lines 1322--1324 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]expand[][][]space[][][]di mension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1325--1327 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]fold[][][]space[][][]dime nsions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1347--1349 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1354--1356 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (3.2138pt too wide) in paragraph at lines 1357--1359 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]congruences(+[]Congruence[][][][]System, -[]Handle) [53] Underfull \hbox (badness 10000) in paragraph at lines 1368--1369 Overfull \hbox (28.99533pt too wide) in paragraph at lines 1392--1394 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 1392--1394 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 1395--1397 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 1395--1397 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1404--1406 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] [54] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1407--1409 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1410--1412 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (12.81381pt too wide) in paragraph at lines 1413--1415 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1416--1418 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (11.61383pt too wide) in paragraph at lines 1419--1421 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (11.61383pt too wide) in paragraph at lines 1422--1424 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 1425--1427 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 1428--1430 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (46.41382pt too wide) in paragraph at lines 1431--1433 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 1434--1436 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1437--1439 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] [55] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1480--1482 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strictl y[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, +[] Overfull \hbox (32.59534pt too wide) in paragraph at lines 1483--1485 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][][ ]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][ ]1, +[]Handle[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1505--1507 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1505--1507 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (44.5953pt too wide) in paragraph at lines 1508--1510 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 1508--1510 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . [56] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1511--1513 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1511--1513 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (0.19531pt too wide) in paragraph at lines 1520--1522 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][] []minimized[][][]constraints(+[]Handle, ?Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1523--1525 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][] []minimized[][][]congruences(+[]Handle, ?Congruence[][][] Overfull \hbox (57.2138pt too wide) in paragraph at lines 1526--1528 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (57.2138pt too wide) in paragraph at lines 1531--1533 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (0.81381pt too wide) in paragraph at lines 1536--1538 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, Overfull \hbox (0.81381pt too wide) in paragraph at lines 1541--1543 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, [57] Overfull \hbox (25.80045pt too wide) in paragraph at lines 1577--1579 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (27.2138pt too wide) in paragraph at lines 1583--1585 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine[ ][][]with[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (27.2138pt too wide) in paragraph at lines 1586--1588 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine[ ][][]with[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (3.79532pt too wide) in paragraph at lines 1599--1601 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unconst rain[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 1602--1604 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affine[ ][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) [58] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1605--1607 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affine[ ][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 1608--1610 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounded [][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1611--1613 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounded [][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 1614--1616 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 1617--1619 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1620--1622 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 1623--1625 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1626--1628 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wrap[][ ][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[] [59] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1648--1650 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simplif y[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 1651--1653 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]linear[ ][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, Overfull \hbox (31.39532pt too wide) in paragraph at lines 1658--1660 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H[ ]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Ha ndle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1661--1663 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[] [][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1670--1672 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]widenin g[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 1676--1678 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] [60] Overfull \hbox (25.39532pt too wide) in paragraph at lines 1679--1681 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 1682--1684 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1685--1687 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1688--1690 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 1691--1693 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1710--1712 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] [61] Overfull \hbox (27.79532pt too wide) in paragraph at lines 1713--1715 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 1716--1718 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove[ ][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var s) Overfull \hbox (18.19531pt too wide) in paragraph at lines 1719--1721 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove[ ][][]higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 1722--1724 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expand[ ][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1725--1727 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold[][ ][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1747--1749 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1754--1756 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (3.2138pt too wide) in paragraph at lines 1757--1759 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]congruences(+[]Congruence[][][][]System, -[]Handle) [62] Underfull \hbox (badness 10000) in paragraph at lines 1768--1769 Overfull \hbox (28.99533pt too wide) in paragraph at lines 1792--1794 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 1792--1794 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 1795--1797 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 1795--1797 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1804--1806 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1807--1809 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[] [63] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1810--1812 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (12.81381pt too wide) in paragraph at lines 1813--1815 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1816--1818 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (11.61383pt too wide) in paragraph at lines 1819--1821 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (11.61383pt too wide) in paragraph at lines 1822--1824 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 1825--1827 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 1828--1830 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (46.41382pt too wide) in paragraph at lines 1831--1833 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 1834--1836 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1837--1839 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] [64] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1880--1882 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strictl y[][][]contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, +[] Overfull \hbox (32.59534pt too wide) in paragraph at lines 1883--1885 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][][ ]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][ ]1, +[]Handle[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1905--1907 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1905--1907 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (44.5953pt too wide) in paragraph at lines 1908--1910 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 1908--1910 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . [65] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1911--1913 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1911--1913 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (0.19531pt too wide) in paragraph at lines 1920--1922 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][] []minimized[][][]constraints(+[]Handle, ?Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1923--1925 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][] []minimized[][][]congruences(+[]Handle, ?Congruence[][][] Overfull \hbox (57.2138pt too wide) in paragraph at lines 1926--1928 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (57.2138pt too wide) in paragraph at lines 1931--1933 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (0.81381pt too wide) in paragraph at lines 1936--1938 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, Overfull \hbox (0.81381pt too wide) in paragraph at lines 1941--1943 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, [66] Overfull \hbox (25.80045pt too wide) in paragraph at lines 1977--1979 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (27.2138pt too wide) in paragraph at lines 1983--1985 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine[ ][][]with[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (27.2138pt too wide) in paragraph at lines 1986--1988 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine[ ][][]with[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (3.79532pt too wide) in paragraph at lines 1999--2001 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unconst rain[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 2002--2004 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affine[ ][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) [67] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2005--2007 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affine[ ][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2008--2010 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounded [][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2011--2013 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounded [][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2014--2016 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2017--2019 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2020--2022 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2023--2025 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2026--2028 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wrap[][ ][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[] [68] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2048--2050 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simplif y[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 2051--2053 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]linear[ ][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2058--2060 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H[ ]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Ha ndle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2061--2063 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[] [][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2070--2072 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]widenin g[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2076--2078 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] [69] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2079--2081 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 2082--2084 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2085--2087 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 2088--2090 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 2091--2093 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2110--2112 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] [70] Overfull \hbox (27.79532pt too wide) in paragraph at lines 2113--2115 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2116--2118 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove[ ][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var s) Overfull \hbox (18.19531pt too wide) in paragraph at lines 2119--2121 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove[ ][][]higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 2122--2124 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expand[ ][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2125--2127 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold[][ ][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2147--2149 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2154--2156 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]constraints(+[]Constraint[][][][]System, -[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2157--2159 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]congruences(+[]Congruence[][][][]System, -[] [71] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2160--2162 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]generators(+[]Generator[][][][]System, -[] Underfull \hbox (badness 10000) in paragraph at lines 2168--2169 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2174--2176 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2177--2179 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2183--2185 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Rational[][][][]Box(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2186--2188 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 2186--2188 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2189--2191 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 2189--2191 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2192--2194 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2195--2197 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2201--2203 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] [72] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2204--2206 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 2207--2209 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 2210--2212 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (54.81381pt too wide) in paragraph at lines 2213--2215 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (22.41382pt too wide) in paragraph at lines 2216--2218 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 2219--2221 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 2222--2224 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2225--2227 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2228--2230 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2231--2233 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 2234--2236 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 2237--2239 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity (+[] [73] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2277--2279 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]co ntains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2280--2282 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]st rictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 2283--2285 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]is [][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2286--2288 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]eq uals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][] [74] Overfull \hbox (5.6138pt too wide) in paragraph at lines 2302--2304 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]dimension(+[]Handle, ?Dimension[][][][]Type) Overfull \hbox (29.6138pt too wide) in paragraph at lines 2305--2307 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2308--2310 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (29.6138pt too wide) in paragraph at lines 2311--2313 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2314--2316 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 2317--2319 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (38.5953pt too wide) in paragraph at lines 2320--2322 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]minimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 2323--2325 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]minimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2326--2328 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ma ximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2331--2333 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]mi nimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2336--2338 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ma ximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2341--2343 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]mi nimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] [75] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2346--2348 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ex ternal[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2371--2373 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2374--2376 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2377--2379 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2380--2382 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (32.5953pt too wide) in paragraph at lines 2383--2385 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2386--2388 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]congruences( +[]Handle, +[]Congruence[] [76/build/ppl-1.2/src/ppl.hh:44030: warning: no matching class member found for Parma_Polyhedra_Library::Constraint_System_const_iterator::Constraint_System_const_iterator(const Parma_Polyhedra_Library::Linear_System< Parma_Polyhedra_Library::Constraint >::const_iterator &iter, const Constraint_System &cs) Possible candidates: Parma_Polyhedra_Library::Constraint_System_const_iterator::Constraint_System_const_iterator() Parma_Polyhedra_Library::Constraint_System_const_iterator::Constraint_System_const_iterator(const Constraint_System_const_iterator &y) Parma_Polyhedra_Library::Constraint_System_const_iterator::Constraint_System_const_iterator(const Linear_System< Constraint > ::const_iterator &iter, const Constraint_System &cs) ] Overfull \hbox (2.5953pt too wide) in paragraph at lines 2396--2398 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]un constrain[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 2399--2401 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]un constrain[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2402--2404 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (14.61084pt too wide) in paragraph at lines 2402--2404 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (0.19531pt too wide) in paragraph at lines 2405--2407 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2408--2410 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]bo unded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2411--2413 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]bo unded[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (9.2138pt too wide) in paragraph at lines 2414--2416 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 2417--2419 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2420--2422 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 2423--2425 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, [77] Overfull \hbox (24.81381pt too wide) in paragraph at lines 2426--2428 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]wr ap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2445--2447 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]up per[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2448--2450 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]si mplify[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2451--2453 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li near[][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2458--2460 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[] [78] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2461--2463 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 2464--2466 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]wi dening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.24307pt too wide) in paragraph at lines 2464--2466 \OT1/ptm/m/it/10 Same as pred-i-cate \OT1/pcr/m/sl/10 ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[][][][]H79[][][]widening[][][]assign[][][]with[][] []tokens\OT1/ptm/m/it/10 /4 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2470--2472 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][] Overfull \hbox (19.9953pt too wide) in paragraph at lines 2470--2472 \OT1/pcr/m/n/10 tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]Constraint[][][][ ]System, +[]C[][][]unsigned[][][]1, ?C[][][]unsigned[] Overfull \hbox (37.39532pt too wide) in paragraph at lines 2473--2475 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2476--2478 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2479--2481 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2482--2484 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] C[]C76[][][]narrowing[][][]assign(+[]Handle[][][]1, +[]Handle[] [79] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2498--2500 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2501--2503 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2504--2506 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re move[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2507--2509 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re move[][][]higher[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2510--2512 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ex pand[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2513--2515 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]fo ld[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2535--2537 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] [80] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2542--2544 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]constraints(+[]Constraint[][][][]System, -[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2545--2547 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]congruences(+[]Congruence[][][][]System, -[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2548--2550 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]generators(+[]Generator[][][][]System, -[] Underfull \hbox (badness 10000) in paragraph at lines 2556--2557 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2562--2564 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2565--2567 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2571--2573 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Rational[][][][]Box(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2574--2576 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 2574--2576 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2577--2579 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 2577--2579 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2580--2582 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] [81GPL:-1: warning: multiple use of section label 'GPL', (first occurrence: /build/ppl-1.2/doc/gpl.dox, line 6) GFDL:-1: warning: multiple use of section label 'GFDL', (first occurrence: /build/ppl-1.2/doc/fdl.dox, line 6) ] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2583--2585 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2589--2591 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2592--2594 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 2595--2597 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 2598--2600 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (54.81381pt too wide) in paragraph at lines 2601--2603 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (22.41382pt too wide) in paragraph at lines 2604--2606 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 2607--2609 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 2610--2612 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2613--2615 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2616--2618 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]co mplexity(+[] [82] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2619--2621 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 2622--2624 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 2625--2627 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity (+[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2665--2667 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]co ntains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2668--2670 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]st rictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 2671--2673 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]is [][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2674--2676 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]eq uals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][] [83] Overfull \hbox (5.6138pt too wide) in paragraph at lines 2690--2692 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]dimension(+[]Handle, ?Dimension[][][][]Type) Overfull \hbox (29.6138pt too wide) in paragraph at lines 2693--2695 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2696--2698 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (29.6138pt too wide) in paragraph at lines 2699--2701 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2702--2704 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 2705--2707 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (38.5953pt too wide) in paragraph at lines 2708--2710 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]minimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 2711--2713 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]minimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2714--2716 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ma ximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2719--2721 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]mi nimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [84] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2724--2726 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ma ximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2729--2731 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]mi nimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2734--2736 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ex ternal[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2759--2761 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2762--2764 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2765--2767 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]constraint( +[]Handle, +[]Constraint) [85] Overfull \hbox (23.6138pt too wide) in paragraph at lines 2768--2770 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (32.5953pt too wide) in paragraph at lines 2771--2773 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2774--2776 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 2784--2786 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]un constrain[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 2787--2789 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]un constrain[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2790--2792 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (14.61084pt too wide) in paragraph at lines 2790--2792 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (0.19531pt too wide) in paragraph at lines 2793--2795 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2796--2798 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]bo unded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2799--2801 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]bo unded[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (9.2138pt too wide) in paragraph at lines 2802--2804 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 2805--2807 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] [86] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2808--2810 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 2811--2813 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, Overfull \hbox (24.81381pt too wide) in paragraph at lines 2814--2816 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]wr ap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2833--2835 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]up per[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2836--2838 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]si mplify[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2839--2841 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li near[][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[] [87]TEXINPUTS=/build/ppl-1.2/doc: texmf_casefold_search=0 make -C user-configured-c-interface.latex-dir refman.pdf \ && mv -f user-configured-c-interface.latex-dir/refman.pdf ppl-user-configured-c-interface-1.2.pdf Overfull \hbox (9.79532pt too wide) in paragraph at lines 2846--2848 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2849--2851 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 2852--2854 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]wi dening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.24307pt too wide) in paragraph at lines 2852--2854 \OT1/ptm/m/it/10 Same as pred-i-cate \OT1/pcr/m/sl/10 ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[][][][]H79[][][]widening[][][]assign[][][]with[][] []tokens\OT1/ptm/m/it/10 /4 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2858--2860 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][] Overfull \hbox (19.9953pt too wide) in paragraph at lines 2858--2860 \OT1/pcr/m/n/10 tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]Constraint[][][][ ]System, +[]C[][][]unsigned[][][]1, ?C[][][]unsigned[] Overfull \hbox (37.39532pt too wide) in paragraph at lines 2861--2863 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2864--2866 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2867--2869 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2870--2872 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] C[]C76[][][]narrowing[][][]assign(+[]Handle[][][]1, +[]Handle[] [88make[3]: Entering directory '/build/ppl-1.2/doc' make[3]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf pdflatex refman This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex) restricted \write18 enabled. ]entering extended mode (./refman.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) (/usr/share/texlive/texmf-dist/tex/latex/a4wide/a4wide.sty (/usr/share/texlive/texmf-dist/tex/latex/ntgclass/a4.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty Overfull \hbox (3.79532pt too wide) in paragraph at lines 2886--2888 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2889--2891 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2892--2894 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re move[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2895--2897 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re move[][][]higher[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2898--2900 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ex pand[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2901--2903 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]fo ld[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] [89) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)] (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty Overfull \hbox (39.79532pt too wide) in paragraph at lines 2923--2925 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 2930--2932 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]constraints(+[]Constraint[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 2933--2935 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]congruences(+[]Congruence[] Underfull \hbox (badness 10000) in paragraph at lines 2941--2942 Overfull \hbox (3.79532pt too wide) in paragraph at lines 2947--2949 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2950--2952 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 2953--2955 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Grid(+[]Handle[][][]1, -[]Handle[] [90] (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu))) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg) Overfull \hbox (3.79532pt too wide) in paragraph at lines 2956--2958 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box(+[]Handle[] Overfull \hbox (34.99533pt too wide) in paragraph at lines 2959--2961 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class (+[]Handle[] Overfull \hbox (34.99533pt too wide) in paragraph at lines 2962--2964 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class (+[]Handle[] Overfull \hbox (40.99533pt too wide) in paragraph at lines 2965--2967 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class(+[] Overfull \hbox (40.99533pt too wide) in paragraph at lines 2968--2970 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class(+[] Overfull \hbox (0.86227pt too wide) in paragraph at lines 2968--2970 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2971--2973 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box(+[]Handle[][][]1, - [] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2974--2976 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Hand le[] Overfull \hbox (8.36278pt too wide) in paragraph at lines 2974--2976 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the bd[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2977--2979 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[ ] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2980--2982 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][] Overfull \hbox (58.99533pt too wide) in paragraph at lines 2983--2985 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]co mplexity(+[] Overfull \hbox (70.99533pt too wide) in paragraph at lines 2986--2988 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[] [][]complexity(+[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2989--2991 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexity(+[] Overfull \hbox (58.99533pt too wide) in paragraph at lines 2992--2994 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]co mplexity(+[] [91 (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty)])) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty Overfull \hbox (14.59534pt too wide) in paragraph at lines 2995--2997 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]with[] Overfull \hbox (14.59534pt too wide) in paragraph at lines 2998--3000 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]with[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 3001--3003 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 3004--3006 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[] Overfull \hbox (0.86227pt too wide) in paragraph at lines 3004--3006 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 3007--3009 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]comp lexity(+[] Overfull \hbox (2.59534pt too wide) in paragraph at lines 3010--3012 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]wi th[][][] Overfull \hbox (13.39532pt too wide) in paragraph at lines 3013--3015 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3016--3018 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][] [92])) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def Overfull \hbox (15.2138pt too wide) in paragraph at lines 3041--3043 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]is[][][]topologically[][][]closed(+[]Handle) Overfull \hbox (0.19531pt too wide) in paragraph at lines 3047--3049 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounds[][][]from[][][]above(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3050--3052 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounds[][][]from[][][]below(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3053--3055 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 3056--3058 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3059--3061 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][][] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3062--3064 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C[][][] Overfull \hbox (44.5953pt too wide) in paragraph at lines 3075--3077 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (50.5953pt too wide) in paragraph at lines 3078--3080 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3081--3083 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]constraint(+[]Handle, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3084--3086 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]generator(+[]Handle, [93)] (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def Overfull \hbox (21.2138pt too wide) in paragraph at lines 3087--3089 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]congruence(+[]Handle, Overfull \hbox (44.5953pt too wide) in paragraph at lines 3090--3092 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (44.5953pt too wide) in paragraph at lines 3095--3097 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3100--3102 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]maximize[][][]with[][][]point(+[]Handle, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3105--3107 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]minimize[][][]with[][][]point(+[]Handle, +[] Overfull \hbox (18.81381pt too wide) in paragraph at lines 3110--3112 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, Overfull \hbox (0.81381pt too wide) in paragraph at lines 3113--3115 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, [94] Overfull \hbox (41.6138pt too wide) in paragraph at lines 3129--3131 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]constraint(+[]Handle, +[]Constraint) Overfull \hbox (41.6138pt too wide) in paragraph at lines 3132--3134 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (56.5953pt too wide) in paragraph at lines 3135--3137 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 3138--3140 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3141--3143 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]constraint( +[]Handle, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3144--3146 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]congruence( +[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3147--3149 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]constraints( +[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3150--3152 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]congruences( +[]Handle, Overfull \hbox (0.19531pt too wide) in paragraph at lines 3157--3159 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]topological[][][]closure[][][]assign(+[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 3160--3162 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension(+[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3163--3165 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]unconstrain[][][]space[][][]dimensions(+[] [95] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3166--3168 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3169--3171 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3172--3174 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounded[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3175--3177 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounded[][][]affine[][][]preimage(+[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3178--3180 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]image(+[]Handle, Overfull \hbox (6.19531pt too wide) in paragraph at lines 3181--3183 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]preimage(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3184--3186 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3187--3189 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3194--3196 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]intersection[][][]assign(+[]Handle[][][] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3197--3199 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3200--3202 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]difference[][][]assign(+[]Handle[][][]1, +[] [96) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def)] (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (./doxygen.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty) Overfull \hbox (15.79532pt too wide) in paragraph at lines 3203--3205 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3206--3208 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 3213--3215 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3216--3218 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]widening[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3225--3227 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]concatenate[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3232--3234 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 3235--3237 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3238--3240 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]remove[][][]space[][][]dimensions(+[]Handle, [97) (/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty]) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)) (/build/ppl-1.2/doc/ppl.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty) Overfull \hbox (21.79532pt too wide) in paragraph at lines 3241--3243 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions(+[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3244--3246 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]expand[][][]space[][][]dimension(+[]Handle, Overfull \hbox (3.2138pt too wide) in paragraph at lines 3247--3249 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]fold[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (18.19531pt too wide) in paragraph at lines 3250--3252 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]map[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3269--3271 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3276--3278 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]constraints(+[]Constraint[][][][]System, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3279--3281 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]congruences(+[]Congruence[][][][]System, [98]) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty Underfull \hbox (badness 10000) in paragraph at lines 3287--3288 Overfull \hbox (31.39532pt too wide) in paragraph at lines 3293--3295 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron (+[] Overfull \hbox (10.35161pt too wide) in paragraph at lines 3293--3295 \OT1/ptm/m/it/10 Builds a new pointset pow-er-set \OT1/pcr/m/sl/10 P[][][]1 \OT 1/ptm/m/it/10 from the pointset[][][]powerset[][][]c[][][]polyhedron ref-er-enc ed by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 3296--3298 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3299--3301 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron [] Overfull \hbox (10.35161pt too wide) in paragraph at lines 3299--3301 \OT1/ptm/m/it/10 Builds a new pointset pow-er-set \OT1/pcr/m/sl/10 P[][][]1 \OT 1/ptm/m/it/10 from the pointset[][][]powerset[][][]c[][][]polyhedron ref-er-enc ed by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3302--3304 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 3336--3338 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounds[][][]from[][][]above(+[]Handle, +[]Lin[][][][]Expr) Overfull \hbox (3.2138pt too wide) in paragraph at lines 3339--3341 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounds[][][]from[][][]below(+[]Handle, +[]Lin[][][][]Expr) [99)]) Writing index file refman.idx No file refman.aux. (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg Overfull \hbox (33.79532pt too wide) in paragraph at lines 3342--3344 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron(+[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3345--3347 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3348--3350 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3351--3353 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3354--3356 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3357--3359 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron(+[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3370--3372 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (10.9953pt too wide) in paragraph at lines 3373--3375 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3376--3378 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]constraint(+[]Handle, +[] Overfull \hbox (47.6138pt too wide) in paragraph at lines 3379--3381 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3382--3384 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]congruence(+[]Handle, +[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3385--3387 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] [100)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty])) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd) Overfull \hbox (4.9953pt too wide) in paragraph at lines 3390--3392 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3395--3397 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3400--3402 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, Overfull \hbox (33.2138pt too wide) in paragraph at lines 3405--3407 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (15.2138pt too wide) in paragraph at lines 3408--3410 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (2.0138pt too wide) in paragraph at lines 3427--3429 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]constraint(+[]Handle, +[]Constraint) [101 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd) [1{/var/lib/texmf/fo nts/map/pdftex/updmap/pdftex.map}] ] [2] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd) [3 ] [4] [1] [2] (./index.tex Overfull \hbox (2.0138pt too wide) in paragraph at lines 3430--3432 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (16.9953pt too wide) in paragraph at lines 3433--3435 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3436--3438 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (53.6138pt too wide) in paragraph at lines 3439--3441 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (53.6138pt too wide) in paragraph at lines 3442--3444 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (2.5953pt too wide) in paragraph at lines 3445--3447 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]constraints( +[]Handle, +[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3448--3450 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]congruences( +[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3464--3466 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]unconstrain[][][]space[][][]dimension(+[]Handle, +[] Overfull \hbox (5.6138pt too wide) in paragraph at lines 3467--3469 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]unconstrain[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (8.5953pt too wide) in paragraph at lines 3470--3472 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (19.06027pt too wide) in paragraph at lines 3470--3472 \OT1/ptm/m/it/10 Transforms the pointset pow-er-set ref-er-enced by \OT1/pcr/m/ sl/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/ m/sl/10 Lin[][][][]Expr/Coeff [102 Underfull \hbox (badness 10000) detected at line 9 [][][] pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored \relax l.25 [1]]) (./GPL.texpdfTeX warning (ext4): destination with the same identifie r (name{page.2}) has been already used, duplicate ignored \relax l.37 ` `Copyright'' also means copyright-\/like laws that apply to other kind... [2] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3473--3475 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3476--3478 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3479--3481 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounded[][][]affine[][][]preimage(+[]Handle, +[]P[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3482--3484 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3485--3487 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]preimage(+[]Handle, +[] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3488--3490 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, Overfull \hbox (9.79532pt too wide) in paragraph at lines 3491--3493 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3498--3500 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]intersection[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3501--3503 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3504--3506 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]difference[][][]assign(+[]Handle[][][]1, +[]Handle[] [103]pdfTeX warning (ext4): destination with the same identifier (name{page.3}) h as been already used, duplicate ignored \relax l.68 [3]pdfTeX warning (ext4): destination with the same identifier (name{page .4}) has been already used, duplicate ignored \relax l.104 [4] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3507--3509 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3510--3512 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3513--3515 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]simplify[][][]using[][][]context[][][]assign(+[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3520--3522 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][]a ssign(+[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3523--3525 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3526--3528 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3529--3531 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3538--3540 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]concatenate[][][]assign(+[]Handle[][][]1, +[]Handle[] [104 [5]] [6] [7] [8 Overfull \hbox (12.81381pt too wide) in paragraph at lines 3545--3547 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, Overfull \hbox (24.81381pt too wide) in paragraph at lines 3548--3550 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, Overfull \hbox (20.5953pt too wide) in paragraph at lines 3551--3553 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]remove[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3554--3556 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]remove[][][]higher[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3557--3559 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]expand[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3560--3562 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]fold[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (1.7817pt too wide) in paragraph at lines 3560--3562 \OT1/ptm/m/it/10 Modifies the pointset pow-er-set ref-er-enced by \OT1/pcr/m/sl /10 Handle \OT1/ptm/m/it/10 by fold-ing the space di-men-sions con-tained in \O T1/pcr/m/sl/10 List[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3563--3565 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]map[][][]space[][][]dimensions(+[]Handle, +[]P[][][][]Func) Overfull \hbox (6.19531pt too wide) in paragraph at lines 3570--3572 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]from[][][]iterator(+[]Iterator[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3579--3581 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]iterator[][][]equals[][][]iterator(+[]Iterator[][][] [105]] Overfull \hbox (29.6138pt too wide) in paragraph at lines 3588--3590 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]iterator[][][]get[][][]disjunct(+[]Iterator, -[]Handle) Overfull \hbox (20.5953pt too wide) in paragraph at lines 3600--3602 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]drop[][][]disjuncts(+[]Handle, +[]Iterator[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3619--3621 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3626--3628 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]constraints(+[]Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3629--3631 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]congruences(+[]Congruence[][][] [106] [9]) Overfull \hbox (10.35326pt too wide) in paragraph at lines 291--187 \OT1/ptm/m/n/10 stead of this Li-cense. But first, please read [][]\OT1/pcr/m/n /10 http[]://www.[]gnu.[]org/philosophy/why-not-lgpl.[] (./GFDL.tex [10 Underfull \hbox (badness 10000) in paragraph at lines 3637--3638 Overfull \hbox (55.39532pt too wide) in paragraph at lines 3643--3645 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] []Polyhedron(+[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3646--3648 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, - [] Overfull \hbox (43.39532pt too wide) in paragraph at lines 3649--3651 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] []Polyhedron[] Overfull \hbox (43.39532pt too wide) in paragraph at lines 3652--3654 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]comp lexity(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3686--3688 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounds[][][]from[][][]above(+[]Handle, +[]Lin[][][][]Expr) [107]] [11] [12] [13] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3689--3691 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounds[][][]from[][][]below(+[]Handle, +[]Lin[][][][]Expr) Overfull \hbox (57.79532pt too wide) in paragraph at lines 3692--3694 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron(+[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3695--3697 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 3698--3700 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3701--3703 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3704--3706 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[] Overfull \hbox (45.79532pt too wide) in paragraph at lines 3707--3709 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyh edron(+[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3720--3722 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 3723--3725 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3726--3728 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]constraint(+[]Handle, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3729--3731 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]generator(+[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3732--3734 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]congruence(+[]Handle, +[] [108 Overfull \hbox (7.49895pt too wide) in paragraph at lines 97--98 \OT1/ptm/m/n/10 ments, form-ing one sec-tion En-ti-tled "[]History"; like-wise com-bine any sec-tions En-ti-tled "[]Acknowledgements", Underfull \vbox (badness 1377) has occurred while \output is active [14]]) (./modules.tex LaTeX Warning: Reference `group__PPL__C__interface' on page 15 undefined on inp ut line 3. LaTeX Warning: Reference `group__Init' on page 15 undefined on input line 4. LaTeX Warning: Reference `group__Version' on page 15 undefined on input line 5. LaTeX Warning: Reference `group__Error' on page 15 undefined on input line 6. LaTeX Warning: Reference `group__Timeout' on page 15 undefined on input line 7. LaTeX Warning: Reference `group__Datatypes' on page 15 undefined on input line 8. ) (./annotated.tex Overfull \hbox (16.9953pt too wide) in paragraph at lines 3735--3737 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3740--3742 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3745--3747 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3750--3752 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[] Overfull \hbox (45.2138pt too wide) in paragraph at lines 3755--3757 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (27.2138pt too wide) in paragraph at lines 3758--3760 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) [109 LaTeX Warning: Reference `interfaceppl__Artificial__Parameter__Sequence__const_ _iterator__tag' on page 15 undefined on input line 3. LaTeX Warning: Reference `interfaceppl__Artificial__Parameter__tag' on page 15 undefined on input line 4. LaTeX Warning: Reference `interfaceppl__BD__Shape__double__tag' on page 15 unde fined on input line 5. LaTeX Warning: Reference `interfaceppl__BD__Shape__mpq__class__tag' on page 15 undefined on input line 6. [15]] Overfull \hbox (14.0138pt too wide) in paragraph at lines 3777--3779 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]constraint(+[]Handle, +[]Constraint) Overfull \hbox (14.0138pt too wide) in paragraph at lines 3780--3782 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (28.9953pt too wide) in paragraph at lines 3783--3785 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (28.9953pt too wide) in paragraph at lines 3786--3788 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3789--3791 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]constraint( +[]Handle, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3792--3794 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]congruence( +[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3795--3797 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]constraints( +[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3798--3800 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]congruences( +[]Handle, +[] Overfull \hbox (5.6138pt too wide) in paragraph at lines 3805--3807 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]topological[][][]closure[][][]assign(+[]Handle) Overfull \hbox (11.6138pt too wide) in paragraph at lines 3814--3816 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]unconstrain[][][]space[][][]dimension(+[]Handle, Overfull \hbox (17.6138pt too wide) in paragraph at lines 3817--3819 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]unconstrain[][][]space[][][]dimensions(+[]Handle, [110 LaTeX Warning: Reference `interfaceppl__BD__Shape__mpz__class__tag' on page 16 undefined on input line 7. LaTeX Warning: Reference `interfaceppl__Coefficient__tag' on page 16 undefined on input line 8. LaTeX Warning: Reference `interfaceppl__Congruence__System__const__iterator__ta g' on page 16 undefined on input line 9. LaTeX Warning: Reference `interfaceppl__Congruence__System__tag' on page 16 und efined on input line 10. LaTeX Warning: Reference `interfaceppl__Congruence__tag' on page 16 undefined o n input line 11. LaTeX Warning: Reference `interfaceppl__Constraint__System__const__iterator__ta g' on page 16 undefined on input line 12. LaTeX Warning: Reference `interfaceppl__Constraint__System__tag' on page 16 und efined on input line 13. LaTeX Warning: Reference `interfaceppl__Constraint__tag' on page 16 undefined o n input line 14. LaTeX Warning: Reference `interfaceppl__Constraints__Product__C__Polyhedron__Gr id__tag' on page 16 undefined on input line 15. LaTeX Warning: Reference `interfaceppl__Double__Box__tag' on page 16 undefined on input line 16. LaTeX Warning: Reference `interfaceppl__Generator__System__const__iterator__tag ' on page 16 undefined on input line 17. LaTeX Warning: Reference `interfaceppl__Generator__System__tag' on page 16 unde fined on input line 18. LaTeX Warning: Reference `interfaceppl__Generator__tag' on page 16 undefined on input line 19. LaTeX Warning: Reference `interfaceppl__Grid__Generator__System__const__iterato r__tag' on page 16 undefined on input line 20. LaTeX Warning: Reference `interfaceppl__Grid__Generator__System__tag' on page 1 6 undefined on input line 21. LaTeX Warning: Reference `interfaceppl__Grid__Generator__tag' on page 16 undefi ned on input line 22. LaTeX Warning: Reference `interfaceppl__Grid__tag' on page 16 undefined on inpu t line 23. LaTeX Warning: Reference `interfaceppl__Linear__Expression__tag' on page 16 und efined on input line 24. LaTeX Warning: Reference `interfaceppl__MIP__Problem__tag' on page 16 undefined on input line 25. [16]] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3820--3822 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.06027pt too wide) in paragraph at lines 3820--3822 \OT1/ptm/m/it/10 Transforms the pointset pow-er-set ref-er-enced by \OT1/pcr/m/ sl/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/ m/sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (20.5953pt too wide) in paragraph at lines 3823--3825 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3826--3828 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounded[][][]affine[][][]image(+[]Handle, +[]P[]P[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3829--3831 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounded[][][]affine[][][]preimage(+[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3832--3834 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 3835--3837 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]preimage(+[]Handle, Overfull \hbox (3.79532pt too wide) in paragraph at lines 3838--3840 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3841--3843 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 3848--3850 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]intersection[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3851--3853 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3854--3856 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]difference[][][]assign(+[]Handle[][][]1, +[]Handle[] [111 LaTeX Warning: Reference `interfaceppl__Octagonal__Shape__double__tag' on page 17 undefined on input line 26. LaTeX Warning: Reference `interfaceppl__Octagonal__Shape__mpq__class__tag' on p age 17 undefined on input line 27. LaTeX Warning: Reference `interfaceppl__Octagonal__Shape__mpz__class__tag' on p age 17 undefined on input line 28. LaTeX Warning: Reference `interfaceppl__PIP__Decision__Node__tag' on page 17 un defined on input line 29. LaTeX Warning: Reference `interfaceppl__PIP__Problem__tag' on page 17 undefined on input line 30. LaTeX Warning: Reference `interfaceppl__PIP__Solution__Node__tag' on page 17 un defined on input line 31. LaTeX Warning: Reference `interfaceppl__PIP__Tree__Node__tag' on page 17 undefi ned on input line 32. LaTeX Warning: Reference `interfaceppl__Pointset__Powerset__C__Polyhedron__cons t__iterator__tag' on page 17 undefined on input line 33. LaTeX Warning: Reference `interfaceppl__Pointset__Powerset__C__Polyhedron__iter ator__tag' on page 17 undefined on input line 34. Overfull \hbox (20.64815pt too wide) in paragraph at lines 34--34 \OT1/ptm/b/n/10 Types and func-tions for it-er-at-ing on the dis-juncts of a [ ][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] LaTeX Warning: Reference `interfaceppl__Pointset__Powerset__C__Polyhedron__tag' on page 17 undefined on input line 35. LaTeX Warning: Reference `interfaceppl__Pointset__Powerset__NNC__Polyhedron__co nst__iterator__tag' on page 17 undefined on input line 36. LaTeX Warning: Reference `interfaceppl__Pointset__Powerset__NNC__Polyhedron__it erator__tag' on page 17 undefined on input line 37. LaTeX Warning: Reference `interfaceppl__Pointset__Powerset__NNC__Polyhedron__ta g' on page 17 undefined on input line 38. LaTeX Warning: Reference `interfaceppl__Polyhedron__tag' on page 17 undefined o n input line 39. LaTeX Warning: Reference `interfaceppl__Rational__Box__tag' on page 17 undefine d on input line 40. ) (./group__PPL__C__interface.tex) Underfull \vbox (badness 7740) has occurred while \output is active [17] [18] (./group__Init.tex] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3857--3859 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3860--3862 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3863--3865 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]simplify[][][]using[][][]context[][][]assign(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3870--3872 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[ ][][]assign(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3873--3875 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign(+[]Han dle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3876--3878 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign(+[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3879--3881 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (26.5953pt too wide) in paragraph at lines 3888--3890 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]concatenate[][][]assign(+[]Handle[][][]1, +[]Handle[] [112 Underfull \hbox (badness 10000) detected at line 35 [][][] Underfull \hbox (badness 10000) detected at line 48 [][][] [19]]) [20 Overfull \hbox (24.81381pt too wide) in paragraph at lines 3895--3897 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, Overfull \hbox (3.79532pt too wide) in paragraph at lines 3898--3900 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3901--3903 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]remove[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 3904--3906 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]remove[][][]higher[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3907--3909 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]expand[][][]space[][][]dimension(+[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3910--3912 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]fold[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (1.7817pt too wide) in paragraph at lines 3910--3912 \OT1/ptm/m/it/10 Modifies the pointset pow-er-set ref-er-enced by \OT1/pcr/m/sl /10 Handle \OT1/ptm/m/it/10 by fold-ing the space di-men-sions con-tained in \O T1/pcr/m/sl/10 List[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3913--3915 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]map[][][]space[][][]dimensions(+[]Handle, +[]P[][][] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3920--3922 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]from[][][]iterator(+[]Iterator[] Overfull \hbox (2.0138pt too wide) in paragraph at lines 3923--3925 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]begin[][][]iterator(+[]Handle, -[]Iterator) [113] (./group__Version.tex] [21 Overfull \hbox (8.5953pt too wide) in paragraph at lines 3929--3931 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]iterator[][][]equals[][][]iterator(+[]Iterator[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3938--3940 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]iterator[][][]get[][][]disjunct(+[]Iterator, -[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3950--3952 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]drop[][][]disjuncts(+[]Handle, +[]Iterator[] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3969--3971 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][]space[][ ][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[][][][]Empty, [114]) [22]] (./group__Error.tex (/usr/share/texlive/texmf-dist/tex/latex/psnfss/omsptm.fd) Underfull \hbox (badness 10000) in paragraph at lines 3990--3991 Overfull \hbox (17.45279pt too wide) in paragraph at lines 4014--4016 \OT1/ptm/m/it/10 Builds a new dou-ble box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/ it/10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (4.96313pt too wide) in paragraph at lines 4026--4028 \OT1/ptm/m/it/10 Builds a new dou-ble box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/ it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1/pc r/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 4029--4031 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][][ ][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, [115] Overfull \hbox (27.2138pt too wide) in paragraph at lines 4032--4034 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[] C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (23.6138pt too wide) in paragraph at lines 4035--4037 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Grid[] [][]with[][][]complexity(+[]Handle, +[]Complexity, -[]Handle) Overfull \hbox (15.2138pt too wide) in paragraph at lines 4038--4040 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ration al[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (46.41382pt too wide) in paragraph at lines 4041--4043 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (46.41382pt too wide) in paragraph at lines 4044--4046 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (10.41382pt too wide) in paragraph at lines 4047--4049 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (10.41382pt too wide) in paragraph at lines 4050--4052 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (3.2138pt too wide) in paragraph at lines 4053--4055 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Double [][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (30.81381pt too wide) in paragraph at lines 4056--4058 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (15.79532pt too wide) in paragraph at lines 4059--4061 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[] [116] Overfull \hbox (13.3953pt too wide) in paragraph at lines 4127--4129 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]con straint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (27.45073pt too wide) in paragraph at lines 4127--4129 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (1.3953pt too wide) in paragraph at lines 4130--4132 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]gen erator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (21.45073pt too wide) in paragraph at lines 4130--4132 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (13.3953pt too wide) in paragraph at lines 4133--4135 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]con gruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (27.45073pt too wide) in paragraph at lines 4133--4135 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . [117] Overfull \hbox (23.6138pt too wide) in paragraph at lines 4148--4150 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]has[][][]upper[][][]bound(+ []Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (23.6138pt too wide) in paragraph at lines 4153--4155 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]has[][][]lower[][][]bound(+ []Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (14.0138pt too wide) in paragraph at lines 4158--4160 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]maximize(+[]Handle, +[]Lin[ ][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (14.0138pt too wide) in paragraph at lines 4163--4165 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]minimize(+[]Handle, +[]Lin[ ][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (8.5953pt too wide) in paragraph at lines 4168--4170 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]maximize[][][]with[][][]poi nt(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 4173--4175 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]minimize[][][]with[][][]poi nt(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [118] [119] Overfull \hbox (1.38072pt too wide) in paragraph at lines 4237--4239 \OT1/ptm/m/it/10 Transforms the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Ha ndle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m/sl /10 Lin[][][][]Expr/Coeff Overfull \hbox (12.19531pt too wide) in paragraph at lines 4240--4242 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][]im age(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4243--4245 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][]pr eimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (29.6138pt too wide) in paragraph at lines 4246--4248 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (10.9953pt too wide) in paragraph at lines 4249--4251 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4252--4254 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 4255--4257 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, Overfull \hbox (41.6138pt too wide) in paragraph at lines 4258--4260 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]wrap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Underfull \vbox (badness 3503) has occurred while \output is active [120 Overfull \hbox (1.62299pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]O[]U[]T[][][][]O[]F[][] [][]M[]E[]M[]O[]RY[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[] I[]D[][][][]A[]R[]G[]U[]M[]E[]NT[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]D []O[]M[] Overfull \hbox (1.35289pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]A[]R[]I[]T[]H[]M[]E[]T[]I[]C[][][][]O[]V[]E[ ]R[]F[]L[]OW[][], [][]P[]P[]L[][][][]S[]T[]D[]I[]O[][][][]E[]R[]R[]OR[][], [][] P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]T[]E[]R[]N[]A[]L[][][][]E[]R[]R[]OR[] [], [][]P[] Package longtable Warning: Column widths have changed (longtable) in table 1 on input line 88. [23] Overfull \hbox (27.2138pt too wide) in paragraph at lines 4280--4282 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][]co ntext[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (14.5953pt too wide) in paragraph at lines 4283--4285 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]linear[][][]partition(+[]Ha ndle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4290--4292 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][][ ]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 4296--4298 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][][]w ith[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4302--4304 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][] extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] [121]]) [24] (./group__Timeout.tex Overfull \hbox (12.19531pt too wide) in paragraph at lines 4305--4307 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][] extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 4327--4329 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimensi ons[][][]and[][][]project(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (11.6138pt too wide) in paragraph at lines 4336--4338 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]expand[][][]space[][][]dime nsion(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][][]Type) Overfull \hbox (12.81381pt too wide) in paragraph at lines 4339--4341 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]fold[][][]space[][][]dimens ions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[]L[][][][]V ar) [122] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4361--4363 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Underfull \hbox (badness 10000) in paragraph at lines 4382--4383 [123] Package longtable Warning: Column widths have changed (longtable) in table 2 on input line 36. Underfull \hbox (badness 10000) detected at line 47 [][][] Overfull \hbox (4.67143pt too wide) in paragraph at lines 48--49 []\OT1/pcr/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[]I[]D[][][] []A[]R[]G[]U[]M[]E[]NT \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 unscaled[][][]weight \OT1/ptm/bc/n/10 is zero or if the com-puted weight thresh- Package longtable Warning: Column widths have changed (longtable) in table 3 on input line 56. [25] Underfull \hbox (badness 10000) detected at line 59 [][][] Underfull \hbox (badness 10000) detected at line 62 [][][] ) [26] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4406--4408 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 4406--4408 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4409--4411 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 4409--4411 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4418--4420 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (42.81381pt too wide) in paragraph at lines 4421--4423 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 4424--4426 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (18.19531pt too wide) in paragraph at lines 4427--4429 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (42.81381pt too wide) in paragraph at lines 4430--4432 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 4433--4435 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 4436--4438 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4439--4441 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4442--4444 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] [124 (./group__Datatypes.tex] Overfull \hbox (30.81381pt too wide) in paragraph at lines 4445--4447 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 4448--4450 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 4451--4453 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, Overfull \hbox (9.79532pt too wide) in paragraph at lines 4494--4496 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][]c ontains[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4497--4499 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoin t[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] [125] Overfull \hbox (40.9953pt too wide) in paragraph at lines 4519--4521 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 4519--4521 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (28.9953pt too wide) in paragraph at lines 4522--4524 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 4522--4524 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (40.9953pt too wide) in paragraph at lines 4525--4527 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 4525--4527 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (17.6138pt too wide) in paragraph at lines 4534--4536 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minimi zed[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 4537--4539 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minimi zed[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (41.6138pt too wide) in paragraph at lines 4540--4542 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize(+[]Han dle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (41.6138pt too wide) in paragraph at lines 4545--4547 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize(+[]Han dle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (36.19531pt too wide) in paragraph at lines 4550--4552 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize[][][]w ith[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [126] Overfull \hbox (36.19531pt too wide) in paragraph at lines 4555--4557 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize[][][]w ith[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (25.80045pt too wide) in paragraph at lines 4591--4593 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (11.6138pt too wide) in paragraph at lines 4597--4599 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wit h[][][]constraints( +[]Handle, +[]Constraint[][][][]System) [127] Overfull \hbox (3.74069pt too wide) in paragraph at lines 43--45 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/ bc/n/10 ppl[][][]const[][][][]Constraint[][][][]System[][][]const[] Overfull \hbox (0.36111pt too wide) in paragraph at lines 61--63 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/b c/n/10 ppl[][][]const[][][][]Generator[][][][]System[][][]const[] [27] Overfull \hbox (11.6138pt too wide) in paragraph at lines 4600--4602 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wit h[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (0.19531pt too wide) in paragraph at lines 4613--4615 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][] []space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 4619--4621 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]affine[][][]pre image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) Overfull \hbox (0.81381pt too wide) in paragraph at lines 4622--4624 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, Overfull \hbox (12.19531pt too wide) in paragraph at lines 4625--4627 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4628--4630 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 4631--4633 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4634--4636 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 4637--4639 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] [128] Overfull \hbox (69.2138pt too wide) in paragraph at lines 4640--4642 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]wrap[][][]assig n(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representa tion, Overfull \hbox (54.81381pt too wide) in paragraph at lines 4662--4664 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][]u sing[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (6.19531pt too wide) in paragraph at lines 4665--4667 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]linear[][][]par tition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4672--4674 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05[ ][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] [129 Overfull \hbox (1.80132pt too wide) in paragraph at lines 76--78 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/1 0 ppl[][][][]Congruence[][][][]System[][][]const[][][]iterator[] Overfull \hbox (16.4409pt too wide) in paragraph at lines 139--141 [][] \OT1/ptm/bc/n/10 type-def struct ppl[][][][]Artificial[][][][]Parameter[][ ][][]Sequence[][][]tag const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][ ][]const[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [28]] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4675--4677 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wide ning[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4684--4686 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][]a ssign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 4690--4692 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 4693--4695 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4696--4698 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 4699--4701 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4702--4704 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4705--4707 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] [130 Overfull \hbox (27.11154pt too wide) in paragraph at lines 190--192 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[] Overfull \hbox (14.85136pt too wide) in paragraph at lines 193--195 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Constraints[][][][]Product[] [29]] Overfull \hbox (0.19531pt too wide) in paragraph at lines 4724--4726 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space[ ][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4727--4729 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space[ ][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 4733--4735 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hig her[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 4736--4738 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][]spa ce[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4739--4741 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]fold[][][]space [][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] [131] Overfull \hbox (18.00154pt too wide) in paragraph at lines 202--204 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/pt m/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[ ] Overfull \hbox (21.60114pt too wide) in paragraph at lines 226--228 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[] Overfull \hbox (9.34096pt too wide) in paragraph at lines 229--231 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.77115pt too wide) in paragraph at lines 244--246 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] $\OMS/cms y/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (8.4811pt too wide) in paragraph at lines 247--249 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] const $\O MS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[] [30] Overfull \hbox (0.19531pt too wide) in paragraph at lines 4761--4763 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] Overfull \hbox (29.6138pt too wide) in paragraph at lines 4768--4770 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (29.6138pt too wide) in paragraph at lines 4771--4773 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]congruences(+[]Congruence[][][][]System, -[]Handle) Overfull \hbox (17.6138pt too wide) in paragraph at lines 4774--4776 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]generators(+[]Generator[][][][]System, -[]Handle) Underfull \hbox (badness 10000) in paragraph at lines 4782--4783 Overfull \hbox (0.81381pt too wide) in paragraph at lines 4791--4793 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][]2) Overfull \hbox (13.39532pt too wide) in paragraph at lines 4800--4802 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 4800--4802 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4803--4805 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 4803--4805 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] [132] Overfull \hbox (19.39532pt too wide) in paragraph at lines 4806--4808 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 4809--4811 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4815--4817 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4818--4820 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (6.81381pt too wide) in paragraph at lines 4821--4823 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (18.81381pt too wide) in paragraph at lines 4824--4826 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (39.2138pt too wide) in paragraph at lines 4827--4829 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 4830--4832 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 4833--4835 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4836--4838 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 4839--4841 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity (+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 4842--4844 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity (+[] [133] [31] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4845--4847 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 4848--4850 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, Overfull \hbox (31.39532pt too wide) in paragraph at lines 4851--4853 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4891--4893 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[] [][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, +[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 4894--4896 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[] [][]contains[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 4897--4899 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]di sjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[] [134] Overfull \hbox (30.19531pt too wide) in paragraph at lines 4900--4902 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][] [][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (14.0138pt too wide) in paragraph at lines 4919--4921 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (2.0138pt too wide) in paragraph at lines 4922--4924 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (14.0138pt too wide) in paragraph at lines 4925--4927 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (2.0138pt too wide) in paragraph at lines 4928--4930 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]c onstraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (2.0138pt too wide) in paragraph at lines 4931--4933 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]c ongruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (22.9953pt too wide) in paragraph at lines 4934--4936 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]m inimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 4937--4939 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]m inimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 4940--4942 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize(+ []Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 4945--4947 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize(+ []Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [135] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4950--4952 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize[] [][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4955--4957 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize[] [][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (8.0138pt too wide) in paragraph at lines 4985--4987 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]c onstraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (8.0138pt too wide) in paragraph at lines 4988--4990 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]c ongruences( +[]Handle, +[]Congruence[][][][]System) [136] Overfull \hbox (8.0138pt too wide) in paragraph at lines 4991--4993 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (8.0138pt too wide) in paragraph at lines 4994--4996 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (16.9953pt too wide) in paragraph at lines 4997--4999 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 5000--5002 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 5010--5012 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstrai n[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var) Overfull \hbox (4.9953pt too wide) in paragraph at lines 5013--5015 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstrai n[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 5016--5018 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][] []image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (14.61084pt too wide) in paragraph at lines 5016--5018 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (5.6138pt too wide) in paragraph at lines 5019--5021 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][] []preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (8.5953pt too wide) in paragraph at lines 5022--5024 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[][ ][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 5025--5027 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[][ ][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 5028--5030 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] [137] Underfull \hbox (badness 10000) detected at line 351 [][][] Overfull \hbox (27.05392pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]io[][][]variable[][][]output[][][]function[][][]typ e[] \OT1/pcr/m/n/8 typedef const char$\OMS/cmsy/m/n/8 ^^C$ \OT1/pcr/m/n/8 ppl[] [][]io[][][]variable[][][]output[][][]function[][][]type([][]ppl[] Package longtable Warning: Column widths have changed (longtable) in table 4 on input line 401. Overfull \vbox (4.91087pt too high) has occurred while \output is active [32 Overfull \hbox (11.6138pt too wide) in paragraph at lines 5031--5033 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (0.19531pt too wide) in paragraph at lines 5034--5036 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 5037--5039 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 5040--5042 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]wrap[][][] assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (15.79532pt too wide) in paragraph at lines 5059--5061 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][][ ]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 5062--5064 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[] [][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] [138]] Overfull \hbox (20.5953pt too wide) in paragraph at lines 5065--5067 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[][] []partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 5072--5074 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M[ ]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, Overfull \hbox (18.19531pt too wide) in paragraph at lines 5078--5080 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[] [][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 5084--5086 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 5087--5089 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 5090--5092 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 5093--5095 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] [139] Overfull \hbox (42.19531pt too wide) in paragraph at lines 5112--5114 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]s pace[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5115--5117 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]s pace[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5118--5120 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][] []space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (44.5953pt too wide) in paragraph at lines 5121--5123 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][] []higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 5124--5126 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][] []space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5127--5129 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][] space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[] ) (./PI_Compilation.tex [140]) (./PI_SD_Features.tex [141] [142] Overfull \hbox (30.3312pt too wide) in paragraph at lines 86--87 []\OT1/ptm/m/n/10 Notice that, for dy-namic link-ing to work, you should have c on-fig-ured the li-brary with the \OT1/pcr/m/n/10 --enable-shared Overfull \hbox (2.20367pt too wide) in paragraph at lines 100--101 \OT1/ptm/m/n/10 e.[]g., [][]\OT1/pcr/m/n/10 http[]://www.[]cs.[]unipr.[]it/pipe rmail/ppl-devel/2006-[]January/007780.[]html[][]\OT1/ptm/m/n/10 ). ) Overfull \hbox (0.40225pt too wide) in paragraph at lines 102--207 []\OT1/ptm/m/n/10 In or-der to dy-nam-i-cally load the li-brary from Y[]AP you should sim-ply load \OT1/pcr/m/n/10 prefix/lib/ppl/ppl[] (./modules.tex LaTeX Warning: Reference `group__PPL__Prolog__interface' on page 143 undefined on input line 3. ) (./group__PPL__Prolog__interface.tex) [143] [144] No file refman.ind. (./refman.aux) Package rerunfilecheck Warning: File `refman.out' has changed. (rerunfilecheck) Rerun to get outlines right (rerunfilecheck) or use package `bookmark'. LaTeX Warning: There were undefined references. LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. ) (see the transcript file for additional information){/usr/share/texlive/texmf-d ist/fonts/enc/dvips/base/8r.enc} Output written on refman.pdf (150 pages, 754169 bytes). Transcript written on refman.log. makeindex refman.idx Package longtable Warning: Column widths have changed (longtable) in table 5 on input line 429. Package longtable Warning: Column widths have changed (longtable) in table 6 on input line 453. Package longtable Warning: Column widths have changed (longtable) in table 7 on input line 485. Overfull \hbox (19.9918pt too wide) in paragraph at lines 490--491 []\OT1/ptm/b/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][][ ][]Representation[] \OT1/pcr/m/n/8 enum [][]ppl[][][]enum[][][][]Bounded[][][][ ]Integer[][][][]Type[][][][]Representation[][] Package longtable Warning: Column widths have changed (longtable) in table 8 on input line 505. Underfull \vbox (badness 3746) has occurred while \output is active [33This is makeindex, version 2.15 [TeX Live 2019/dev] (kpathsea + Thai support). Scanning input file refman.idx....done (1 entries accepted, 0 rejected). Sorting entries...done (0 comparisons). Generating output file refman.ind....done (5 lines written, 0 warnings). Output written in refman.ind. Transcript written in refman.ilg. pdflatex refman This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode (./refman.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) (/usr/share/texlive/texmf-dist/tex/latex/a4wide/a4wide.sty (/usr/share/texlive/texmf-dist/tex/latex/ntgclass/a4.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty] (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu))) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg) (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty))) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty)) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def) Underfull \hbox (badness 10000) detected at line 534 [][][] Package longtable Warning: Column widths have changed (longtable) in table 9 on input line 534. Package longtable Warning: Column widths have changed (longtable) in table 10 on input line 558. Underfull \hbox (badness 10000) detected at line 559 [][][] ) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg [34) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def] (./interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag.tex) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (./doxygen.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty Overfull \hbox (7.82706pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][][]from[][][][]Artificial[][][][]P arameter[][][][]Sequence[] Overfull \hbox (23.68665pt too wide) in paragraph at lines 22--24 [][]\OT1/ptm/bc/n/10 const[][][]iterator[][] ([][]ppl[][][][]Artificial[][][][] Parameter[][][][]Sequence[][][]const[][][]iterator[][][]t[][] dst, [][]ppl[][][ ]const[][][][]Artificial[][][][]Parameter[] Overfull \hbox (26.38684pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Artif icial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (7.21704pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][] Artificial[][][][]Parameter[] Overfull \hbox (17.78696pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Artificial[][ ][][]Parameter[][][][]Sequence[] )) (./interfaceppl__Artificial__Parameter__tag.tex (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty)) (/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty Overfull \hbox (4.9309pt too wide) in paragraph at lines 15--17 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]get[] [][][]Linear[][][][]Expression[][] ([][]ppl[][][]const[][][][]Artificial[][][][ ]Parameter[][][]t[][] ap, [][]ppl[][][][]Linear[] [35) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)) (/build/ppl-1.2/doc/ppl.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty])) Writing index file refman.idx (./refman.aux) (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty)) (./refman.out) (./refman.out) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd) Overfull \hbox (0.85934pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]coeff icient[][] ([][]ppl[][][]const[][][][]Artificial[][][][]Parameter[][][]t[][] ap , [][]ppl[][][]dimension[][][]type[][] var, ) (./interfaceppl__BD__Shape__double__tag.tex (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd) [1{/var/lib/texmf/fo nts/map/pdftex/updmap/pdftex.map} Overfull \hbox (10.32233pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]dimens ion[] Overfull \hbox (28.3727pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Polyhedron[] Overfull \hbox (13.9322pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Rational[] Overfull \hbox (8.07243pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (8.63249pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [36 ] [2] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd) [3 ] [4]] (./refman.toc) [1 ] [2] (./index.tex) (./GPL.texpdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored \relax l.22 [1]pdfTeX warning (ext4): destination with the same identifier (name{page .2}) has been already used, duplicate ignored \relax l.58 [2]pdfTeX warning (ext4): destination with the same identifier (name{page .3}) has been already used, duplicate ignored \relax l.84 [3]pdfTeX warning (ext4): destination with the same identifier (name{page .4}) has been already used, duplicate ignored \relax l.121 [4] [5] [6] [7] Overfull \hbox (10.57239pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.13245pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.03285pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [][][]Double[] Overfull \hbox (10.44244pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]S hape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl [][][]const[] Overfull \hbox (7.61217pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (8.17223pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.78229pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (3.65257pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][] const[] [37 [8]) Overfull \hbox (10.35326pt too wide) in paragraph at lines 291--187 \OT1/ptm/m/n/10 stead of this Li-cense. But first, please read [][]\OT1/pcr/m/n /10 http[]://www.[]gnu.[]org/philosophy/why-not-lgpl.[] [9]] (./GFDL.tex [10] [11 Overfull \hbox (11.66246pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][] []t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (2.7528pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.36253pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.12198pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.46193pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.62196pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.96191pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.51242pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]freque ncy[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.29205pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.90219pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (8.92177pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (1.69191pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (14.99254pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (5.5818pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [38] [12] Overfull \hbox (7.49895pt too wide) in paragraph at lines 97--98 \OT1/ptm/m/n/10 ments, form-ing one sec-tion En-ti-tled "[]History"; like-wise com-bine any sec-tions En-ti-tled "[]Acknowledgements", [13]]) (./PI_SI_Features.tex [14] Underfull \hbox (badness 10000) in paragraph at lines 19--20 Underfull \hbox (badness 10000) in paragraph at lines 21--22 Underfull \hbox (badness 10000) in paragraph at lines 23--24 Overfull \hbox (3.40186pt too wide) in paragraph at lines 28--29 []\OT1/ptm/m/n/10 The prod-uct do-mains con-sist of Direct[][][][]Product[][][] []S[][][]T, Smash[][][][]Product[][][][]S[][][]T, Constraints[][][][]Product[] [15 Overfull \hbox (18.88243pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (15.842pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]inters ection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (9.46228pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]differ ence[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x , [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (16.38219pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]concat enate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.55199pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]time[] [][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t [][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (7.5321pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (11.422pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.26245pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]affine [][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (4.2718pt too wide) in paragraph at lines 167--169 \OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (2.81215pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.57211pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.92154pt too wide) in paragraph at lines 175--177 \OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][ ]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][ ][][]Linear[][][][]Expression[] Overfull \hbox (27.50215pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.612pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (23.6022pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove [][][]higher[][][]space[][]][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] ph, [][]ppl[][][]dimension[] [39 [16] Underfull \vbox (badness 10000) has occurred while \output is active [17] Underfull \hbox (badness 10000) in paragraph at lines 241--242 Underfull \hbox (badness 10000) in paragraph at lines 246--247 [18]] Underfull \hbox (badness 10000) in paragraph at lines 251--252 Underfull \hbox (badness 10000) in paragraph at lines 256--257 Underfull \hbox (badness 10000) in paragraph at lines 261--262 Underfull \hbox (badness 10000) in paragraph at lines 266--267 Underfull \hbox (badness 10000) in paragraph at lines 271--272 Underfull \hbox (badness 10000) in paragraph at lines 276--277 Underfull \hbox (badness 10000) in paragraph at lines 281--282 Underfull \hbox (badness 10000) in paragraph at lines 286--287 Underfull \hbox (badness 10000) in paragraph at lines 291--292 Underfull \hbox (badness 10000) in paragraph at lines 296--297 Underfull \hbox (badness 10000) in paragraph at lines 303--304 Underfull \hbox (badness 10000) in paragraph at lines 308--309 [19] Underfull \hbox (badness 10000) in paragraph at lines 313--314 Underfull \hbox (badness 10000) in paragraph at lines 318--319 Underfull \hbox (badness 10000) in paragraph at lines 323--324 Underfull \hbox (badness 10000) in paragraph at lines 334--335 Overfull \hbox (70.9953pt too wide) in paragraph at lines 339--340 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]M[]I[]P[][][][]Problem(+[]Dimension[][][] []Type, +[]Constraint[][][][]System, +[]Lin[][][][]Expr, +[]Optimization[] Underfull \hbox (badness 10000) in paragraph at lines 339--340 Underfull \hbox (badness 10000) in paragraph at lines 344--345 Underfull \hbox (badness 10000) in paragraph at lines 349--350 Underfull \hbox (badness 10000) in paragraph at lines 354--355 Underfull \hbox (badness 10000) in paragraph at lines 359--360 Underfull \hbox (badness 10000) in paragraph at lines 364--365 Underfull \hbox (badness 10000) in paragraph at lines 369--370 Underfull \hbox (badness 10000) in paragraph at lines 374--375 [20 Overfull \hbox (19.30246pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.86237pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.40245pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.58176pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.3319pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.15248pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C 76[][][]narrowing[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double [][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (26.84183pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][ ][][]Constraint[] Overfull \hbox (23.46225pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape [][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][] [][]Generator[] [40] Underfull \hbox (badness 10000) in paragraph at lines 379--380 Overfull \hbox (7.87047pt too wide) in paragraph at lines 382--383 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Optimization[][][][]Mode \OT1/ptm/m /it/10 with the op-ti-miza-tion mode for the M[]IP Prob-lem ref-er-enced by \OT 1/pcr/m/sl/10 Handle\OT1/ptm/m/it/10 . Underfull \hbox (badness 10000) in paragraph at lines 384--385 Overfull \hbox (9.2138pt too wide) in paragraph at lines 389--390 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]space[][][]di mensions[][][]and[][][]embed( +[]Handle, +[]Dimension[][][][]Type) Underfull \hbox (badness 10000) in paragraph at lines 389--390 Underfull \hbox (badness 10000) in paragraph at lines 389--390 Underfull \hbox (badness 10000) in paragraph at lines 394--395 Underfull \hbox (badness 10000) in paragraph at lines 399--400 Underfull \hbox (badness 10000) in paragraph at lines 404--405 Underfull \hbox (badness 10000) in paragraph at lines 409--410 Overfull \hbox (5.6138pt too wide) in paragraph at lines 414--415 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]set[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Value) Underfull \hbox (badness 10000) in paragraph at lines 414--415 Underfull \hbox (badness 10000) in paragraph at lines 414--415 Overfull \hbox (62.5953pt too wide) in paragraph at lines 419--420 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]get[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Name, ?Control[] Underfull \hbox (badness 10000) in paragraph at lines 419--420 Overfull \hbox (18.68352pt too wide) in paragraph at lines 422--423 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Control[][][][]Parameter[][][][]Val ue \OT1/ptm/m/it/10 with the value of the con-trol pa-ram-e-ter \OT1/pcr/m/sl/1 0 Control[][][][]Parameter[] Underfull \hbox (badness 10000) in paragraph at lines 424--425 Overfull \hbox (41.0819pt too wide) in paragraph at lines 427--428 []\OT1/ptm/m/it/10 Updates the M[]IP Prob-lem ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 so that the op-ti-miza-tion mode is changed to \OT1/pcr /m/sl/10 Optimization[] Underfull \hbox (badness 10000) in paragraph at lines 429--430 Underfull \hbox (badness 10000) in paragraph at lines 434--435 Overfull \hbox (15.46123pt too wide) in paragraph at lines 437--438 []\OT1/ptm/m/it/10 Solves the M[]IP prob-lem ref-er-enced by \OT1/pcr/m/sl/10 H andle \OT1/ptm/m/it/10 and uni-fies \OT1/pcr/m/sl/10 M[]I[]P[][][][]Problem[][] [][]Status \OT1/ptm/m/it/10 with[]: \OT1/pcr/m/sl/10 unfeasible\OT1/ptm/m/it/10 , Underfull \hbox (badness 10000) in paragraph at lines 439--440 [21] Underfull \hbox (badness 10000) in paragraph at lines 444--445 Underfull \hbox (badness 10000) in paragraph at lines 449--450 Overfull \hbox (13.3953pt too wide) in paragraph at lines 454--456 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][]objectiv e[][][]function(+[]Handle, +[]Generator, ?Coeff[] Overfull \hbox (41.48175pt too wide) in paragraph at lines 454--456 \OT1/ptm/m/it/10 Evaluates the ob-jec-tive func-tion of the M[]IP prob-lem ref- er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 at point \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Coefficient[] Underfull \hbox (badness 10000) in paragraph at lines 457--458 Underfull \hbox (badness 10000) in paragraph at lines 462--463 Underfull \hbox (badness 10000) in paragraph at lines 467--468 Underfull \hbox (badness 10000) in paragraph at lines 476--477 Overfull \hbox (4.9953pt too wide) in paragraph at lines 484--485 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]P[]I[]P[][][][]Problem(+[]Dimension[][][] []Type, +[]Constraint[][][][]System, +[]Vars[][][][]List, -[] Underfull \hbox (badness 10000) in paragraph at lines 484--485 [22]] Overfull \hbox (62.5953pt too wide) in paragraph at lines 504--505 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]get[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Name, ?Control[] Underfull \hbox (badness 10000) in paragraph at lines 504--505 Overfull \hbox (18.68352pt too wide) in paragraph at lines 507--508 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Control[][][][]Parameter[][][][]Val ue \OT1/ptm/m/it/10 with the value of the con-trol pa-ram-e-ter \OT1/pcr/m/sl/1 0 Control[][][][]Parameter[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 512--514 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]di mensions[][][]and[][][]embed( +[]Handle, +[]Dimension[][][][]Type1, Overfull \hbox (5.6138pt too wide) in paragraph at lines 524--525 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]set[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Value) Underfull \hbox (badness 10000) in paragraph at lines 524--525 Underfull \hbox (badness 10000) in paragraph at lines 524--525 Underfull \hbox (badness 10000) in paragraph at lines 544--545 [23] Overfull \hbox (1.78282pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[ ][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (5.03233pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.81236pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (4.48201pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.26204pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (20.41179pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] []Shape[][][]double[][][]from[][][]space[][][]dimension [41) (./configured_domains_predicates.tex [24]] Overfull \hbox (6.19531pt too wide) in paragraph at lines 34--36 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]space[ ][][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 41--43 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Underfull \hbox (badness 10000) in paragraph at lines 71--72 [25] Overfull \hbox (4.67235pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]C[][][][]Polyhedron ( Overfull \hbox (19.11229pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]double[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.72226pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]Rational[][][][]Box ( Overfull \hbox (14.10329pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (15.22328pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.74298pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (5.86298pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [42 Overfull \hbox (11.00215pt too wide) in paragraph at lines 104--106 \OT1/ptm/m/it/10 Builds a new N[]NC poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (12.11226pt too wide) in paragraph at lines 110--112 \OT1/ptm/m/it/10 Builds a new N[]NC poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 113--115 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 116--118 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 119--121 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 122--124 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] [26] Overfull \hbox (15.07239pt too wide) in paragraph at lines 137--139 \OT1/ptm/m/it/10 Builds a new C poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm /m/it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 140--142 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][]2) Overfull \hbox (27.2138pt too wide) in paragraph at lines 143--145 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[][ ][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 146--148 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 149--151 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[]N []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (51.2138pt too wide) in paragraph at lines 152--154 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (2.5953pt too wide) in paragraph at lines 155--157 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Grid [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 158--160 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 161--163 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rati onal[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 164--166 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 167--169 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[] [27]] Overfull \hbox (13.39532pt too wide) in paragraph at lines 170--172 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (1.39532pt too wide) in paragraph at lines 173--175 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 176--178 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (22.41382pt too wide) in paragraph at lines 179--181 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 182--184 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 185--187 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 188--190 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 191--193 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Doub le[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (27.2138pt too wide) in paragraph at lines 194--196 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (42.81381pt too wide) in paragraph at lines 197--199 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 200--202 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 203--205 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [28] Overfull \hbox (18.81381pt too wide) in paragraph at lines 206--208 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [29 Overfull \hbox (1.07347pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (37.7932pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]Octagonal[] Overfull \hbox (18.24309pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (10.60301pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (0.9931pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []B[]D[][][][]Shape[][][]double[][][]from[][][][]Grid[] Overfull \hbox (15.293pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (25.41252pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (26.53252pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] [43]] Overfull \hbox (15.79529pt too wide) in paragraph at lines 274--276 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]constraint (+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (28.99063pt too wide) in paragraph at lines 274--276 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (3.79529pt too wide) in paragraph at lines 277--279 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]generator( +[]Handle, +[]Generator, ?Relation[] Overfull \hbox (22.99063pt too wide) in paragraph at lines 277--279 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (15.79529pt too wide) in paragraph at lines 280--282 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]congruence (+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (28.99063pt too wide) in paragraph at lines 280--282 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (16.41379pt too wide) in paragraph at lines 301--303 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]maximize(+[]Handle, +[]Lin[][][][] Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (16.41379pt too wide) in paragraph at lines 306--308 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]minimize(+[]Handle, +[]Lin[][][][] Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (10.9953pt too wide) in paragraph at lines 311--313 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]maximize[][][]with[][][]point(+[]H andle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [30] Overfull \hbox (10.9953pt too wide) in paragraph at lines 316--318 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]minimize[][][]with[][][]point(+[]H andle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [31 Overfull \hbox (23.73222pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (9.18303pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (12.3827pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (10.70241pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.74335pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Constraint[] Overfull \hbox (22.29341pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Congruence[] [44]] Overfull \hbox (2.92062pt too wide) in paragraph at lines 386--388 \OT1/ptm/m/it/10 Transforms the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 H andle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m/s l/10 Lin[][][][]Expr/Coeff Overfull \hbox (14.5953pt too wide) in paragraph at lines 389--391 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][]image(+[] Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 392--394 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][]preimage( +[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (32.0138pt too wide) in paragraph at lines 395--397 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]image (+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (13.3953pt too wide) in paragraph at lines 398--400 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]preim age(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 401--403 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]image [][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] [32] Overfull \hbox (0.19531pt too wide) in paragraph at lines 404--406 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]preim age[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][] Overfull \hbox (44.0138pt too wide) in paragraph at lines 407--409 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]wrap[][][]assign(+[]Handle, +[]Lis t[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Overfull \hbox (29.6138pt too wide) in paragraph at lines 438--440 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]context[] [][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (16.9953pt too wide) in paragraph at lines 441--443 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]linear[][][]partition(+[]Handle[][ ][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] [33] Overfull \hbox (10.26341pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[ ][][][]Shape[][][]double[][][]from[][][][]Generator[] Overfull \hbox (11.51178pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Constraint Overfull \hbox (5.03185pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]relation[][][]with[][][][]Generator Overfull \hbox (17.06184pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Congruence Overfull \hbox (23.1515pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]constraints Overfull \hbox (28.70157pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]congruences [45] Overfull \hbox (18.19531pt too wide) in paragraph at lines 448--450 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][] assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 451--453 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign[][ ][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 460--462 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[][] []tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 466--468 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 469--471 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 472--474 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapolat ion[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 475--477 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapolat ion[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] [34] Overfull \hbox (2.5953pt too wide) in paragraph at lines 478--480 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (2.5953pt too wide) in paragraph at lines 481--483 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (8.5953pt too wide) in paragraph at lines 484--486 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapolat ion[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 487--489 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapolat ion[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 506--508 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][] []and[][][]project(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (2.0138pt too wide) in paragraph at lines 512--514 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[][][ ]dimensions(+[]Handle, +[]Dimension[][][][]Type) [35] Overfull \hbox (14.0138pt too wide) in paragraph at lines 515--517 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]expand[][][]space[][][]dimension(+ []Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][][]Type) Overfull \hbox (0.19531pt too wide) in paragraph at lines 518--520 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]fold[][][]space[][][]dimensions(+[ ]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[]L[][][] Overfull \hbox (12.19531pt too wide) in paragraph at lines 540--542 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][]space[][][]dimension( +[]Dimension[][][][]Type, +[]Universe[][][]or[][][][]Empty, -[] Underfull \hbox (badness 10000) in paragraph at lines 561--562 [36 Overfull \hbox (1.1418pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]contains[][][]integer[][][]point ( Overfull \hbox (5.39171pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]topolo gically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]is[][][]topologically[][][]closed ( Overfull \hbox (3.42314pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]topological[][ ][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]topological[][][]closure[] [46]] Overfull \hbox (2.5953pt too wide) in paragraph at lines 600--602 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 603--605 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Poly hedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 609--611 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][]Box [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 612--614 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, [37] Overfull \hbox (19.51176pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] []B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]contains[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (32.32272pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][] contains[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]double[][][]strictly[][][]contains[] Overfull \hbox (1.39285pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoi nt[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoint[] Overfull \hbox (1.5818pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]equals[][][][] B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]double[][][]equals[][][][]B[]D[][][][]Shape[][][]double [47] Overfull \hbox (12.81381pt too wide) in paragraph at lines 615--617 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 618--620 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 621--623 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (23.6138pt too wide) in paragraph at lines 624--626 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Box[] [][]with[][][]complexity(+[]Handle, +[]Complexity, -[]Handle) Overfull \hbox (18.19531pt too wide) in paragraph at lines 627--629 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (39.2138pt too wide) in paragraph at lines 630--632 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, [38] Overfull \hbox (7.44052pt too wide) in paragraph at lines 692--694 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Dimension[][][][]Type \OT1/ptm/m/it/1 0 with the di-men-sion of the vec-tor space en-clos-ing the grid ref-er-enced b y \OT1/pcr/m/sl/10 Handle\OT1/ptm/m/it/10 . Overfull \hbox (4.41379pt too wide) in paragraph at lines 698--700 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]constraint(+[]Ha ndle, +[]Constraint, ?Relation[][][][]List) Overfull \hbox (0.56071pt too wide) in paragraph at lines 698--700 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (4.41379pt too wide) in paragraph at lines 704--706 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]congruence(+[]Ha ndle, +[]Congruence, ?Relation[][][][]List) Overfull \hbox (0.56071pt too wide) in paragraph at lines 704--706 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (22.9953pt too wide) in paragraph at lines 707--709 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]grid[][][]genera tor(+[]Handle, +[]Grid[][][][]Generator, ?Relation[] [39] Overfull \hbox (5.39195pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]refine[][][]with[][][]congruence ( Overfull \hbox (8.53178pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]constraints ( Overfull \hbox (4.48184pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]congruences [48 Overfull \hbox (41.6138pt too wide) in paragraph at lines 738--740 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean, Overfull \hbox (41.6138pt too wide) in paragraph at lines 743--745 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean, [40] Overfull \hbox (7.24037pt too wide) in paragraph at lines 785--787 \OT1/ptm/m/it/10 Updates the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT1/pc r/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (13.48053pt too wide) in paragraph at lines 788--790 \OT1/ptm/m/it/10 Updates the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ ptm/m/it/10 to one ob-tained by re-fin-ing its con-gru-ence sys-tem with \OT1/p cr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (6.19531pt too wide) in paragraph at lines 816--818 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]bounded[][][]affine[][][]image(+[]Handle , +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 819--821 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]bounded[][][]affine[][][]preimage(+[]Han dle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[][][] Overfull \hbox (16.9953pt too wide) in paragraph at lines 822--824 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image(+[]Ha ndle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, +[] [41]] Overfull \hbox (7.98315pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]upper[][][]bound[][][]assign[] Overfull \hbox (30.80284pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][] using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]simplify[][][]using[][][]context[] Overfull \hbox (9.01286pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]unconstrain[][][]space[] Overfull \hbox (12.90276pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]double[][][]unconstrain[][][]space[] [49 Overfull \hbox (14.0138pt too wide) in paragraph at lines 825--827 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage(+[ ]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (18.19531pt too wide) in paragraph at lines 828--830 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[]Relation[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 831--833 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[]Relation[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 834--836 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] with[][][]congruence(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 837--839 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]with[][][]congruence(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 840--842 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] lhs[][][]rhs[][][]with[][][]congruence(+[]Handle, +[]Lin[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 843--845 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]lhs[][][]rhs[][][]with[][][]congruence(+[]Handle, +[] Overfull \hbox (8.0138pt too wide) in paragraph at lines 846--848 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]wrap[][][]assign(+[]Handle, +[]List[][][ ]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, [42]] Overfull \hbox (6.19531pt too wide) in paragraph at lines 875--877 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[][] []with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 878--880 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[][][ ]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 887--889 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]widening[][][]assign[][][]with[][][]toke ns(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 893--895 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolati on[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 896--898 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolatio n[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 899--901 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolati on[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 902--904 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolatio n[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] [43] Overfull \hbox (9.50198pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]bounded[][][]affine[][][]preimage Overfull \hbox (11.68184pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]generalized[][][]affine[][][]image Overfull \hbox (8.04321pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]generalized[][][]affine[] [50] Overfull \hbox (0.99101pt too wide) in paragraph at lines 911--913 \OT1/ptm/m/it/10 Assigns to the grid \OT1/pcr/m/sl/10 P \OT1/ptm/m/it/10 ref-er -enced by \OT1/pcr/m/sl/10 Handle[][][]1 \OT1/ptm/m/it/10 the con-cate-na-tion of \OT1/pcr/m/sl/10 P \OT1/ptm/m/it/10 and the grid ref-er-enced by \OT1/pcr/m/ sl/10 Handle[] [44] Overfull \hbox (27.10283pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]generalized[][][]affine[] Overfull \hbox (9.6827pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]generalized[] Overfull \hbox (42.03287pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (44.0629pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (10.95177pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]remove[][][]space[][][]dimensions Overfull \hbox (5.2329pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hi gher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]remove[][][]higher[] Overfull \hbox (2.11176pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][]sp ace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]expand[][][]space[][][]dimension [51 Overfull \hbox (6.19531pt too wide) in paragraph at lines 955--957 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][]space[ ][][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[] Underfull \hbox (badness 10000) in paragraph at lines 976--977 Overfull \hbox (1.39532pt too wide) in paragraph at lines 1000--1002 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[][][] [45] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1003--1005 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.82297pt too wide) in paragraph at lines 1012--1014 \OT1/ptm/m/it/10 Builds a new ra-tio-nal box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm /m/it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 1015--1017 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[][ ][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 1018--1020 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[]N []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (2.5953pt too wide) in paragraph at lines 1021--1023 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Grid [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 1024--1026 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rati onal[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1027--1029 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1030--1032 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 1033--1035 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (22.41382pt too wide) in paragraph at lines 1036--1038 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, [46]] Overfull \hbox (27.4932pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]double[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (2.49318pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]drop[][][]some[][][]non[][][] Overfull \hbox (0.96347pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]external[][][] memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]external[][][]memory[][][]in[][][] Overfull \hbox (2.0126pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][] [][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (3.23283pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wid ening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]double[][][][]H79[][][]widening[] Overfull \hbox (9.3417pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]double[][][][]B[]H[]M[]Z05[][][]widening[][][]assign [52 Overfull \hbox (15.2138pt too wide) in paragraph at lines 1039--1041 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Doub le[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (42.81381pt too wide) in paragraph at lines 1042--1044 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 1045--1047 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [47] Overfull \hbox (25.3953pt too wide) in paragraph at lines 1113--1115 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]c onstraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (13.3953pt too wide) in paragraph at lines 1116--1118 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]g enerator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (25.3953pt too wide) in paragraph at lines 1119--1121 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]c ongruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (2.0138pt too wide) in paragraph at lines 1128--1130 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][]c onstraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (2.0138pt too wide) in paragraph at lines 1131--1133 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][]c ongruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (35.6138pt too wide) in paragraph at lines 1134--1136 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]has[][][]upper[][][]bound (+[]Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (35.6138pt too wide) in paragraph at lines 1139--1141 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]has[][][]lower[][][]bound (+[]Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (26.0138pt too wide) in paragraph at lines 1144--1146 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]maximize(+[]Handle, +[]Li n[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) [48]] Overfull \hbox (26.0138pt too wide) in paragraph at lines 1149--1151 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]minimize(+[]Handle, +[]Li n[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (20.5953pt too wide) in paragraph at lines 1154--1156 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]maximize[][][]with[][][]p oint(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 1159--1161 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]minimize[][][]with[][][]p oint(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [49] Overfull \hbox (18.33296pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][] assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]widening[][][]assign[][][]with[] Overfull \hbox (19.372pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr /m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (33.07224pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 in t ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[] Overfull \hbox (3.25226pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (2.08258pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]double[][][]limited[] [53 Overfull \hbox (3.2138pt too wide) in paragraph at lines 1217--1219 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[][ ][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var) Overfull \hbox (6.24055pt too wide) in paragraph at lines 1223--1225 \OT1/ptm/m/it/10 Transforms the ra-tio-nal box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (6.19531pt too wide) in paragraph at lines 1226--1228 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][][] image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1229--1231 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][][] preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][] Overfull \hbox (4.9953pt too wide) in paragraph at lines 1232--1234 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 1235--1237 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] [50]] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1238--1240 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 1241--1243 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (53.6138pt too wide) in paragraph at lines 1244--1246 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]wrap[][][]assign(+[]Handl e, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Overfull \hbox (39.2138pt too wide) in paragraph at lines 1266--1268 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][][] context[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (26.5953pt too wide) in paragraph at lines 1269--1271 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]linear[][][]partition(+[] Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] [51] Overfull \hbox (61.86285pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]limited[][][][]H79[][][]extrapolation[] Overfull \hbox (8.04286pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]limited[][][][]C[]C76[] Overfull \hbox (57.01285pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.24341pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.84216pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][][]C[]C76[][][]narrowing[][][]assign ( Overfull \hbox (40.0231pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Constraint[] [54] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1276--1278 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[][ ][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (45.79532pt too wide) in paragraph at lines 1282--1284 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[][][ ]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1288--1290 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][] []extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1291--1293 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][] []extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] [52 Overfull \hbox (45.57317pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Congruence[] Overfull \hbox (33.54317pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]double[][][]recycle[][][][]Generator[] Overfull \hbox (0.37323pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][]fr om[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]assign[ ][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][] Overfull \hbox (12.06174pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]constraints Overfull \hbox (17.6118pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]congruences Overfull \hbox (2.01312pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (0.3432pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]P[] [55] Overfull \hbox (9.2138pt too wide) in paragraph at lines 1310--1312 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dimen sions[][][]and[][][]embed(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (0.19531pt too wide) in paragraph at lines 1313--1315 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dimen sions[][][]and[][][]project(+[]Handle, +[]Dimension[][][] Overfull \hbox (11.6138pt too wide) in paragraph at lines 1319--1321 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][]s pace[][][]dimensions(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (2.5953pt too wide) in paragraph at lines 1322--1324 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]expand[][][]space[][][]di mension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1325--1327 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]fold[][][]space[][][]dime nsions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1347--1349 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1354--1356 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (3.2138pt too wide) in paragraph at lines 1357--1359 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]congruences(+[]Congruence[][][][]System, -[]Handle) [53]] Underfull \hbox (badness 10000) in paragraph at lines 1368--1369 Overfull \hbox (28.99533pt too wide) in paragraph at lines 1392--1394 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 1392--1394 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 1395--1397 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 1395--1397 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1404--1406 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] [54] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1407--1409 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1410--1412 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (12.81381pt too wide) in paragraph at lines 1413--1415 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1416--1418 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (11.61383pt too wide) in paragraph at lines 1419--1421 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (11.61383pt too wide) in paragraph at lines 1422--1424 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 1425--1427 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 1428--1430 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (46.41382pt too wide) in paragraph at lines 1431--1433 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 1434--1436 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1437--1439 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] [55 Overfull \hbox (1.46292pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][] Overfull \hbox (4.593pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][][]P[] Overfull \hbox (2.93312pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (1.2632pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (7.18292pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (5.513pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] [56] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1480--1482 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strictl y[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, +[] Overfull \hbox (32.59534pt too wide) in paragraph at lines 1483--1485 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][][ ]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][ ]1, +[]Handle[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1505--1507 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1505--1507 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (44.5953pt too wide) in paragraph at lines 1508--1510 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 1508--1510 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . [56]]) (./interfaceppl__BD__Shape__mpq__class__tag.tex Overfull \hbox (56.5953pt too wide) in paragraph at lines 1511--1513 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1511--1513 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (0.19531pt too wide) in paragraph at lines 1520--1522 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][] []minimized[][][]constraints(+[]Handle, ?Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1523--1525 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][] []minimized[][][]congruences(+[]Handle, ?Congruence[][][] Overfull \hbox (57.2138pt too wide) in paragraph at lines 1526--1528 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (57.2138pt too wide) in paragraph at lines 1531--1533 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (0.81381pt too wide) in paragraph at lines 1536--1538 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, Overfull \hbox (0.81381pt too wide) in paragraph at lines 1541--1543 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, [57] Overfull \hbox (5.86221pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (3.64197pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (10.56195pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.12201pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] [57 Overfull \hbox (25.80045pt too wide) in paragraph at lines 1577--1579 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (27.2138pt too wide) in paragraph at lines 1583--1585 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine[ ][][]with[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (27.2138pt too wide) in paragraph at lines 1586--1588 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine[ ][][]with[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (3.79532pt too wide) in paragraph at lines 1599--1601 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unconst rain[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 1602--1604 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affine[ ][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) [58] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1605--1607 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affine[ ][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 1608--1610 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounded [][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1611--1613 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounded [][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 1614--1616 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 1617--1619 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1620--1622 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 1623--1625 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1626--1628 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wrap[][ ][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[] [59]] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1648--1650 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simplif y[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 1651--1653 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]linear[ ][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, Overfull \hbox (31.39532pt too wide) in paragraph at lines 1658--1660 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H[ ]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Ha ndle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1661--1663 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[] [][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1670--1672 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]widenin g[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 1676--1678 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] [60 Overfull \hbox (0.95065pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pph, Overfull \hbox (5.40195pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.93196pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] Overfull \hbox (3.1817pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.77185pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (12.33191pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (18.1617pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.14209pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.49162pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.2818pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]const[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (25.56108pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [58] Overfull \hbox (25.39532pt too wide) in paragraph at lines 1679--1681 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 1682--1684 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1685--1687 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1688--1690 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 1691--1693 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1710--1712 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] [61]] Overfull \hbox (27.79532pt too wide) in paragraph at lines 1713--1715 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 1716--1718 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove[ ][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var s) Overfull \hbox (18.19531pt too wide) in paragraph at lines 1719--1721 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove[ ][][]higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 1722--1724 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expand[ ][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1725--1727 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold[][ ][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1747--1749 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1754--1756 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (3.2138pt too wide) in paragraph at lines 1757--1759 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]congruences(+[]Congruence[][][][]System, -[]Handle) [62] Overfull \hbox (1.9613pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.61162pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (0.25233pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.86206pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (6.12149pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (4.46144pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (14.71156pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (14.12123pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.93167pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (12.4822pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (3.07146pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (16.37209pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (28.89116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [59 Underfull \hbox (badness 10000) in paragraph at lines 1768--1769 Overfull \hbox (28.99533pt too wide) in paragraph at lines 1792--1794 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 1792--1794 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 1795--1797 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 1795--1797 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1804--1806 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1807--1809 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[] [63] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1810--1812 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (12.81381pt too wide) in paragraph at lines 1813--1815 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1816--1818 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (11.61383pt too wide) in paragraph at lines 1819--1821 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (11.61383pt too wide) in paragraph at lines 1822--1824 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 1825--1827 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 1828--1830 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (46.41382pt too wide) in paragraph at lines 1831--1833 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 1834--1836 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1837--1839 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] [64]] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1880--1882 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strictl y[][][]contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, +[] Overfull \hbox (32.59534pt too wide) in paragraph at lines 1883--1885 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][][ ]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][ ]1, +[]Handle[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1905--1907 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1905--1907 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (44.5953pt too wide) in paragraph at lines 1908--1910 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 1908--1910 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . [65] Overfull \hbox (12.2214pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.84169pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.7616pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.9314pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.66202pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (5.592pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (18.3619pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.2415pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (30.0114pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.06163pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (15.83153pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (9.43188pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.54173pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (21.65166pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.53194pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] [60 Overfull \hbox (56.5953pt too wide) in paragraph at lines 1911--1913 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1911--1913 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (0.19531pt too wide) in paragraph at lines 1920--1922 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][] []minimized[][][]constraints(+[]Handle, ?Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1923--1925 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][] []minimized[][][]congruences(+[]Handle, ?Congruence[][][] Overfull \hbox (57.2138pt too wide) in paragraph at lines 1926--1928 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (57.2138pt too wide) in paragraph at lines 1931--1933 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (0.81381pt too wide) in paragraph at lines 1936--1938 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, Overfull \hbox (0.81381pt too wide) in paragraph at lines 1941--1943 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, [66] Overfull \hbox (25.80045pt too wide) in paragraph at lines 1977--1979 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (27.2138pt too wide) in paragraph at lines 1983--1985 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine[ ][][]with[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (27.2138pt too wide) in paragraph at lines 1986--1988 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine[ ][][]with[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (3.79532pt too wide) in paragraph at lines 1999--2001 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unconst rain[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 2002--2004 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affine[ ][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) [67]] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2005--2007 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affine[ ][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2008--2010 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounded [][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2011--2013 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounded [][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2014--2016 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2017--2019 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2020--2022 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2023--2025 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2026--2028 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wrap[][ ][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[] [68] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2048--2050 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simplif y[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 2051--2053 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]linear[ ][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2058--2060 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H[ ]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Ha ndle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2061--2063 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[] [][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2070--2072 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]widenin g[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2076--2078 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] [69 Overfull \hbox (16.80182pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []expand[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.07158pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.88039pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] ph, int com- Overfull \hbox (1.2322pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.17146pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ps, size[] Overfull \hbox (4.35188pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.24164pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (2.78186pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.19151pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.70154pt too wide) in paragraph at lines 219--221 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (6.82141pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (9.79172pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpq[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] [61] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2079--2081 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 2082--2084 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2085--2087 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 2088--2090 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 2091--2093 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2110--2112 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] [70]] Overfull \hbox (27.79532pt too wide) in paragraph at lines 2113--2115 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2116--2118 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove[ ][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var s) Overfull \hbox (18.19531pt too wide) in paragraph at lines 2119--2121 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove[ ][][]higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 2122--2124 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expand[ ][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2125--2127 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold[][ ][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2147--2149 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2154--2156 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]constraints(+[]Constraint[][][][]System, -[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2157--2159 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]congruences(+[]Congruence[][][][]System, -[] [71] Overfull \hbox (8.77168pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (15.422pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (7.0819pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.38148pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (15.68144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (28.98207pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (8.45016pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (6.2302pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (7.89984pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (5.67987pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, [62 Overfull \hbox (0.19531pt too wide) in paragraph at lines 2160--2162 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]generators(+[]Generator[][][][]System, -[] Underfull \hbox (badness 10000) in paragraph at lines 2168--2169 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2174--2176 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2177--2179 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2183--2185 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Rational[][][][]Box(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2186--2188 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 2186--2188 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2189--2191 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 2189--2191 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2192--2194 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2195--2197 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2201--2203 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] [72] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2204--2206 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 2207--2209 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 2210--2212 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (54.81381pt too wide) in paragraph at lines 2213--2215 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (22.41382pt too wide) in paragraph at lines 2216--2218 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 2219--2221 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 2222--2224 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2225--2227 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2228--2230 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2231--2233 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 2234--2236 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 2237--2239 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity (+[] [73]] Overfull \hbox (9.94308pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][]space[] Overfull \hbox (21.70216pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (3.84358pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]N[]N[]C[] Overfull \hbox (10.45357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Rational[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (2.49307pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.41278pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [63 Overfull \hbox (9.79532pt too wide) in paragraph at lines 2277--2279 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]co ntains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2280--2282 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]st rictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 2283--2285 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]is [][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2286--2288 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]eq uals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][] [74] Overfull \hbox (5.6138pt too wide) in paragraph at lines 2302--2304 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]dimension(+[]Handle, ?Dimension[][][][]Type) Overfull \hbox (29.6138pt too wide) in paragraph at lines 2305--2307 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2308--2310 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (29.6138pt too wide) in paragraph at lines 2311--2313 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2314--2316 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 2317--2319 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (38.5953pt too wide) in paragraph at lines 2320--2322 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]minimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 2323--2325 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]minimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2326--2328 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ma ximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2331--2333 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]mi nimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2336--2338 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ma ximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2341--2343 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]mi nimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] [75]] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2346--2348 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ex ternal[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2371--2373 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2374--2376 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2377--2379 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2380--2382 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (32.5953pt too wide) in paragraph at lines 2383--2385 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2386--2388 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]congruences( +[]Handle, +[]Congruence[] [76 Overfull \hbox (3.0421pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (0.82327pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]B[]D[] Overfull \hbox (18.34299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (22.7929pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.35281pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (5.54291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (19.8428pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] [64] Overfull \hbox (2.5953pt too wide) in paragraph at lines 2396--2398 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]un constrain[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 2399--2401 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]un constrain[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2402--2404 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (14.61084pt too wide) in paragraph at lines 2402--2404 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (0.19531pt too wide) in paragraph at lines 2405--2407 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2408--2410 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]bo unded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2411--2413 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]bo unded[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (9.2138pt too wide) in paragraph at lines 2414--2416 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 2417--2419 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2420--2422 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 2423--2425 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, [77]] Overfull \hbox (24.81381pt too wide) in paragraph at lines 2426--2428 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]wr ap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2445--2447 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]up per[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2448--2450 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]si mplify[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2451--2453 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li near[][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2458--2460 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[] [78 Overfull \hbox (9.0023pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (13.73283pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.1325pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (43.37317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Constraint[] [65]] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2461--2463 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 2464--2466 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]wi dening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.24307pt too wide) in paragraph at lines 2464--2466 \OT1/ptm/m/it/10 Same as pred-i-cate \OT1/pcr/m/sl/10 ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[][][][]H79[][][]widening[][][]assign[][][]with[][] []tokens\OT1/ptm/m/it/10 /4 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2470--2472 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][] Overfull \hbox (19.9953pt too wide) in paragraph at lines 2470--2472 \OT1/pcr/m/n/10 tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]Constraint[][][][ ]System, +[]C[][][]unsigned[][][]1, ?C[][][]unsigned[] Overfull \hbox (37.39532pt too wide) in paragraph at lines 2473--2475 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2476--2478 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2479--2481 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2482--2484 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] C[]C76[][][]narrowing[][][]assign(+[]Handle[][][]1, +[]Handle[] [79] Overfull \hbox (0.9232pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][] Overfull \hbox (36.89323pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Generator[] Overfull \hbox (38.1416pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (31.66167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (1.79314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[] [66 Overfull \hbox (3.79532pt too wide) in paragraph at lines 2498--2500 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2501--2503 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2504--2506 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re move[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2507--2509 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re move[][][]higher[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2510--2512 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ex pand[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2513--2515 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]fo ld[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2535--2537 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] [80]] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2542--2544 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]constraints(+[]Constraint[][][][]System, -[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2545--2547 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]congruences(+[]Congruence[][][][]System, -[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2548--2550 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]generators(+[]Generator[][][][]System, -[] Underfull \hbox (badness 10000) in paragraph at lines 2556--2557 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2562--2564 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2565--2567 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2571--2573 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Rational[][][][]Box(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2574--2576 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 2574--2576 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2577--2579 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 2577--2579 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2580--2582 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] [81] Overfull \hbox (3.0828pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (8.63286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (0.2731pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]contains[][][]integer[] Overfull \hbox (2.60301pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (30.05296pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]topological[][][]closure[] [67 Overfull \hbox (7.39532pt too wide) in paragraph at lines 2583--2585 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2589--2591 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2592--2594 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 2595--2597 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 2598--2600 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (54.81381pt too wide) in paragraph at lines 2601--2603 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (22.41382pt too wide) in paragraph at lines 2604--2606 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 2607--2609 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 2610--2612 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2613--2615 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2616--2618 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]co mplexity(+[] [82]] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2619--2621 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 2622--2624 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 2625--2627 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity (+[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2665--2667 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]co ntains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2668--2670 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]st rictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 2671--2673 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]is [][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2674--2676 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]eq uals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][] [83 Overfull \hbox (7.81178pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (6.15161pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (1.11285pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contains[][][] Overfull \hbox (31.82233pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strictly[] [68]] Overfull \hbox (5.6138pt too wide) in paragraph at lines 2690--2692 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]dimension(+[]Handle, ?Dimension[][][][]Type) Overfull \hbox (29.6138pt too wide) in paragraph at lines 2693--2695 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2696--2698 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (29.6138pt too wide) in paragraph at lines 2699--2701 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2702--2704 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 2705--2707 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (38.5953pt too wide) in paragraph at lines 2708--2710 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]minimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 2711--2713 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]minimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2714--2716 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ma ximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2719--2721 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]mi nimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [84] Overfull \hbox (0.89246pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] Overfull \hbox (19.66292pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.8717pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (22.42177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]congruence [69] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2724--2726 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ma ximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2729--2731 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]mi nimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2734--2736 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ex ternal[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2759--2761 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2762--2764 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2765--2767 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]constraint( +[]Handle, +[]Constraint) [85] Overfull \hbox (25.5616pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (31.11166pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]congruences Overfull \hbox (2.93295pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]upper[][][]bound[] Overfull \hbox (20.95264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]simplify[][][]using[] [70 Overfull \hbox (23.6138pt too wide) in paragraph at lines 2768--2770 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (32.5953pt too wide) in paragraph at lines 2771--2773 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2774--2776 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 2784--2786 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]un constrain[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 2787--2789 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]un constrain[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2790--2792 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (14.61084pt too wide) in paragraph at lines 2790--2792 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (0.19531pt too wide) in paragraph at lines 2793--2795 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2796--2798 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]bo unded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2799--2801 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]bo unded[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (9.2138pt too wide) in paragraph at lines 2802--2804 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 2805--2807 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] [86]] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2808--2810 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 2811--2813 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, Overfull \hbox (24.81381pt too wide) in paragraph at lines 2814--2816 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]wr ap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2833--2835 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]up per[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2836--2838 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]si mplify[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2839--2841 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li near[][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[] [87 Overfull \hbox (8.76266pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (12.65256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (7.47191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (3.83328pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]bounded[][][]affine[] [71]] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2846--2848 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2849--2851 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 2852--2854 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]wi dening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.24307pt too wide) in paragraph at lines 2852--2854 \OT1/ptm/m/it/10 Same as pred-i-cate \OT1/pcr/m/sl/10 ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[][][][]H79[][][]widening[][][]assign[][][]with[][] []tokens\OT1/ptm/m/it/10 /4 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2858--2860 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][] Overfull \hbox (19.9953pt too wide) in paragraph at lines 2858--2860 \OT1/pcr/m/n/10 tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]Constraint[][][][ ]System, +[]C[][][]unsigned[][][]1, ?C[][][]unsigned[] Overfull \hbox (37.39532pt too wide) in paragraph at lines 2861--2863 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2864--2866 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2867--2869 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2870--2872 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] C[]C76[][][]narrowing[][][]assign(+[]Handle[][][]1, +[]Handle[] [88] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2886--2888 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2889--2891 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2892--2894 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re move[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2895--2897 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re move[][][]higher[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2898--2900 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ex pand[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2901--2903 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]fo ld[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] [89] Overfull \hbox (20.41315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]generalized[][][]affine[] Overfull \hbox (2.99301pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (22.05263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (36.31252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (17.78265pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (19.81268pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (37.58159pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]remove[][][]space[][][]dimensions [72 Overfull \hbox (39.79532pt too wide) in paragraph at lines 2923--2925 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 2930--2932 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]constraints(+[]Constraint[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 2933--2935 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]congruences(+[]Congruence[] Underfull \hbox (badness 10000) in paragraph at lines 2941--2942 Overfull \hbox (3.79532pt too wide) in paragraph at lines 2947--2949 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2950--2952 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 2953--2955 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Grid(+[]Handle[][][]1, -[]Handle[] [90]] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2956--2958 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box(+[]Handle[] Overfull \hbox (34.99533pt too wide) in paragraph at lines 2959--2961 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class (+[]Handle[] Overfull \hbox (34.99533pt too wide) in paragraph at lines 2962--2964 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class (+[]Handle[] Overfull \hbox (40.99533pt too wide) in paragraph at lines 2965--2967 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class(+[] Overfull \hbox (40.99533pt too wide) in paragraph at lines 2968--2970 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class(+[] Overfull \hbox (0.86227pt too wide) in paragraph at lines 2968--2970 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2971--2973 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box(+[]Handle[][][]1, - [] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2974--2976 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Hand le[] Overfull \hbox (8.36278pt too wide) in paragraph at lines 2974--2976 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the bd[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2977--2979 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[ ] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2980--2982 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][] Overfull \hbox (58.99533pt too wide) in paragraph at lines 2983--2985 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]co mplexity(+[] Overfull \hbox (70.99533pt too wide) in paragraph at lines 2986--2988 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[] [][]complexity(+[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2989--2991 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexity(+[] Overfull \hbox (58.99533pt too wide) in paragraph at lines 2992--2994 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]co mplexity(+[] [91] Overfull \hbox (0.1827pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]remove[] Overfull \hbox (28.74158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]expand[][][]space[][][]dimension Overfull \hbox (13.1315pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (10.8016pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (0.36298pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (8.96298pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (12.23328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]external[][][]memory[] [73] Overfull \hbox (14.59534pt too wide) in paragraph at lines 2995--2997 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]with[] Overfull \hbox (14.59534pt too wide) in paragraph at lines 2998--3000 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]with[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 3001--3003 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 3004--3006 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[] Overfull \hbox (0.86227pt too wide) in paragraph at lines 3004--3006 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 3007--3009 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]comp lexity(+[] Overfull \hbox (2.59534pt too wide) in paragraph at lines 3010--3012 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]wi th[][][] Overfull \hbox (13.39532pt too wide) in paragraph at lines 3013--3015 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3016--3018 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][] [92] Overfull \hbox (12.81189pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (1.7624pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[] Overfull \hbox (29.86266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[][][]widening[] Overfull \hbox (13.27301pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (8.39174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (22.88277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]widening[][][]assign[] Overfull \hbox (1.84178pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [74 Overfull \hbox (15.2138pt too wide) in paragraph at lines 3041--3043 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]is[][][]topologically[][][]closed(+[]Handle) Overfull \hbox (0.19531pt too wide) in paragraph at lines 3047--3049 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounds[][][]from[][][]above(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3050--3052 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounds[][][]from[][][]below(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3053--3055 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 3056--3058 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3059--3061 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][][] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3062--3064 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C[][][] Overfull \hbox (44.5953pt too wide) in paragraph at lines 3075--3077 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (50.5953pt too wide) in paragraph at lines 3078--3080 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3081--3083 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]constraint(+[]Handle, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3084--3086 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]generator(+[]Handle, [93]] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3087--3089 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]congruence(+[]Handle, Overfull \hbox (44.5953pt too wide) in paragraph at lines 3090--3092 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (44.5953pt too wide) in paragraph at lines 3095--3097 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3100--3102 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]maximize[][][]with[][][]point(+[]Handle, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3105--3107 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]minimize[][][]with[][][]point(+[]Handle, +[] Overfull \hbox (18.81381pt too wide) in paragraph at lines 3110--3112 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, Overfull \hbox (0.81381pt too wide) in paragraph at lines 3113--3115 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, [94] Overfull \hbox (23.22203pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.00206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (28.7124pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (5.93262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (12.59267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (3.96262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (29.87323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][][]C[]C76[][][]extrapolation[] [75 Overfull \hbox (41.6138pt too wide) in paragraph at lines 3129--3131 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]constraint(+[]Handle, +[]Constraint) Overfull \hbox (41.6138pt too wide) in paragraph at lines 3132--3134 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (56.5953pt too wide) in paragraph at lines 3135--3137 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 3138--3140 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3141--3143 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]constraint( +[]Handle, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3144--3146 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]congruence( +[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3147--3149 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]constraints( +[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3150--3152 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]congruences( +[]Handle, Overfull \hbox (0.19531pt too wide) in paragraph at lines 3157--3159 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]topological[][][]closure[][][]assign(+[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 3160--3162 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension(+[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3163--3165 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]unconstrain[][][]space[][][]dimensions(+[] [95] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3166--3168 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3169--3171 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3172--3174 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounded[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3175--3177 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounded[][][]affine[][][]preimage(+[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3178--3180 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]image(+[]Handle, Overfull \hbox (6.19531pt too wide) in paragraph at lines 3181--3183 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]preimage(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3184--3186 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3187--3189 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3194--3196 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]intersection[][][]assign(+[]Handle[][][] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3197--3199 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3200--3202 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]difference[][][]assign(+[]Handle[][][]1, +[] [96]] Overfull \hbox (1.05347pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][][]C[]C76[][][]narrowing[][][] Overfull \hbox (15.77289pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (21.32295pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (14.09296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (3.71283pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [76 Overfull \hbox (15.79532pt too wide) in paragraph at lines 3203--3205 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3206--3208 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 3213--3215 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3216--3218 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]widening[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3225--3227 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]concatenate[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3232--3234 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 3235--3237 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3238--3240 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]remove[][][]space[][][]dimensions(+[]Handle, [97]] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3241--3243 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions(+[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3244--3246 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]expand[][][]space[][][]dimension(+[]Handle, Overfull \hbox (3.2138pt too wide) in paragraph at lines 3247--3249 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]fold[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (18.19531pt too wide) in paragraph at lines 3250--3252 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]map[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3269--3271 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3276--3278 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]constraints(+[]Constraint[][][][]System, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3279--3281 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]congruences(+[]Congruence[][][][]System, [98] Overfull \hbox (38.69156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (0.4231pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][] Overfull \hbox (6.13176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (4.46184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (8.48293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (6.813pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (12.73273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (11.0628pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (14.11327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [77 Underfull \hbox (badness 10000) in paragraph at lines 3287--3288 Overfull \hbox (31.39532pt too wide) in paragraph at lines 3293--3295 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron (+[] Overfull \hbox (10.35161pt too wide) in paragraph at lines 3293--3295 \OT1/ptm/m/it/10 Builds a new pointset pow-er-set \OT1/pcr/m/sl/10 P[][][]1 \OT 1/ptm/m/it/10 from the pointset[][][]powerset[][][]c[][][]polyhedron ref-er-enc ed by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 3296--3298 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3299--3301 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron [] Overfull \hbox (10.35161pt too wide) in paragraph at lines 3299--3301 \OT1/ptm/m/it/10 Builds a new pointset pow-er-set \OT1/pcr/m/sl/10 P[][][]1 \OT 1/ptm/m/it/10 from the pointset[][][]powerset[][][]c[][][]polyhedron ref-er-enc ed by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3302--3304 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 3336--3338 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounds[][][]from[][][]above(+[]Handle, +[]Lin[][][][]Expr) Overfull \hbox (3.2138pt too wide) in paragraph at lines 3339--3341 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounds[][][]from[][][]below(+[]Handle, +[]Lin[][][][]Expr) [99]] Overfull \hbox (33.79532pt too wide) in paragraph at lines 3342--3344 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron(+[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3345--3347 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3348--3350 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3351--3353 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3354--3356 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3357--3359 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron(+[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3370--3372 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (10.9953pt too wide) in paragraph at lines 3373--3375 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3376--3378 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]constraint(+[]Handle, +[] Overfull \hbox (47.6138pt too wide) in paragraph at lines 3379--3381 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3382--3384 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]congruence(+[]Handle, +[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3385--3387 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] [100] Overfull \hbox (12.44334pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (17.08293pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (15.41301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (21.33273pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (19.66281pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] [78 Overfull \hbox (4.9953pt too wide) in paragraph at lines 3390--3392 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3395--3397 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3400--3402 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, Overfull \hbox (33.2138pt too wide) in paragraph at lines 3405--3407 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (15.2138pt too wide) in paragraph at lines 3408--3410 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (2.0138pt too wide) in paragraph at lines 3427--3429 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]constraint(+[]Handle, +[]Constraint) [101]]) (./interfaceppl__BD__Shape__mpz__class__tag.tex Overfull \hbox (2.0138pt too wide) in paragraph at lines 3430--3432 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (16.9953pt too wide) in paragraph at lines 3433--3435 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3436--3438 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (53.6138pt too wide) in paragraph at lines 3439--3441 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (53.6138pt too wide) in paragraph at lines 3442--3444 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (2.5953pt too wide) in paragraph at lines 3445--3447 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]constraints( +[]Handle, +[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3448--3450 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]congruences( +[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3464--3466 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]unconstrain[][][]space[][][]dimension(+[]Handle, +[] Overfull \hbox (5.6138pt too wide) in paragraph at lines 3467--3469 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]unconstrain[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (8.5953pt too wide) in paragraph at lines 3470--3472 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (19.06027pt too wide) in paragraph at lines 3470--3472 \OT1/ptm/m/it/10 Transforms the pointset pow-er-set ref-er-enced by \OT1/pcr/m/ sl/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/ m/sl/10 Lin[][][][]Expr/Coeff [102] Overfull \hbox (4.7421pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (2.52185pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (9.44183pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (10.00189pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (12.8701pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\ OT1/ptm/bc/n/10 pph, Overfull \hbox (4.28183pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.81184pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] [79 Overfull \hbox (8.5953pt too wide) in paragraph at lines 3473--3475 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3476--3478 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3479--3481 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounded[][][]affine[][][]preimage(+[]Handle, +[]P[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3482--3484 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3485--3487 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]preimage(+[]Handle, +[] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3488--3490 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, Overfull \hbox (9.79532pt too wide) in paragraph at lines 3491--3493 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3498--3500 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]intersection[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3501--3503 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3504--3506 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]difference[][][]assign(+[]Handle[][][]1, +[]Handle[] [103] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3507--3509 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3510--3512 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3513--3515 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]simplify[][][]using[][][]context[][][]assign(+[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3520--3522 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][]a ssign(+[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3523--3525 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3526--3528 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3529--3531 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3538--3540 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]concatenate[][][]assign(+[]Handle[][][]1, +[]Handle[] [104]] Overfull \hbox (12.81381pt too wide) in paragraph at lines 3545--3547 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, Overfull \hbox (24.81381pt too wide) in paragraph at lines 3548--3550 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, Overfull \hbox (20.5953pt too wide) in paragraph at lines 3551--3553 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]remove[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3554--3556 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]remove[][][]higher[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3557--3559 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]expand[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3560--3562 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]fold[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (1.7817pt too wide) in paragraph at lines 3560--3562 \OT1/ptm/m/it/10 Modifies the pointset pow-er-set ref-er-enced by \OT1/pcr/m/sl /10 Handle \OT1/ptm/m/it/10 by fold-ing the space di-men-sions con-tained in \O T1/pcr/m/sl/10 List[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3563--3565 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]map[][][]space[][][]dimensions(+[]Handle, +[]P[][][][]Func) Overfull \hbox (6.19531pt too wide) in paragraph at lines 3570--3572 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]from[][][]iterator(+[]Iterator[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3579--3581 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]iterator[][][]equals[][][]iterator(+[]Iterator[][][] [105] Overfull \hbox (29.6138pt too wide) in paragraph at lines 3588--3590 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]iterator[][][]get[][][]disjunct(+[]Iterator, -[]Handle) Overfull \hbox (20.5953pt too wide) in paragraph at lines 3600--3602 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]drop[][][]disjuncts(+[]Handle, +[]Iterator[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3619--3621 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3626--3628 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]constraints(+[]Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3629--3631 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]congruences(+[]Congruence[][][] [106] Overfull \hbox (2.06158pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.65173pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.21179pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (17.04158pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.02197pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.3715pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (24.44096pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (37.7416pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (0.84119pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (7.4915pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] [80 Underfull \hbox (badness 10000) in paragraph at lines 3637--3638 Overfull \hbox (55.39532pt too wide) in paragraph at lines 3643--3645 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] []Polyhedron(+[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3646--3648 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, - [] Overfull \hbox (43.39532pt too wide) in paragraph at lines 3649--3651 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] []Polyhedron[] Overfull \hbox (43.39532pt too wide) in paragraph at lines 3652--3654 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]comp lexity(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3686--3688 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounds[][][]from[][][]above(+[]Handle, +[]Lin[][][][]Expr) [107]] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3689--3691 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounds[][][]from[][][]below(+[]Handle, +[]Lin[][][][]Expr) Overfull \hbox (57.79532pt too wide) in paragraph at lines 3692--3694 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron(+[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3695--3697 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 3698--3700 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3701--3703 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3704--3706 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[] Overfull \hbox (45.79532pt too wide) in paragraph at lines 3707--3709 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyh edron(+[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3720--3722 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 3723--3725 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3726--3728 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]constraint(+[]Handle, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3729--3731 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]generator(+[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3732--3734 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]congruence(+[]Handle, +[] [108] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3735--3737 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3740--3742 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3745--3747 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3750--3752 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[] Overfull \hbox (45.2138pt too wide) in paragraph at lines 3755--3757 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (27.2138pt too wide) in paragraph at lines 3758--3760 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) [109] Overfull \hbox (5.00137pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (3.34132pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (13.03139pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (13.83092pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []strictly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][] ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.44106pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.2515pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (11.36208pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (1.95134pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (15.25197pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (27.77104pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (11.10129pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.72157pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.64148pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.81128pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.5419pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (10.4113pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] [81 Overfull \hbox (14.0138pt too wide) in paragraph at lines 3777--3779 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]constraint(+[]Handle, +[]Constraint) Overfull \hbox (14.0138pt too wide) in paragraph at lines 3780--3782 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (28.9953pt too wide) in paragraph at lines 3783--3785 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (28.9953pt too wide) in paragraph at lines 3786--3788 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3789--3791 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]constraint( +[]Handle, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3792--3794 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]congruence( +[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3795--3797 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]constraints( +[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3798--3800 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]congruences( +[]Handle, +[] Overfull \hbox (5.6138pt too wide) in paragraph at lines 3805--3807 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]topological[][][]closure[][][]assign(+[]Handle) Overfull \hbox (11.6138pt too wide) in paragraph at lines 3814--3816 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]unconstrain[][][]space[][][]dimension(+[]Handle, Overfull \hbox (17.6138pt too wide) in paragraph at lines 3817--3819 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]unconstrain[][][]space[][][]dimensions(+[]Handle, [110]] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3820--3822 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.06027pt too wide) in paragraph at lines 3820--3822 \OT1/ptm/m/it/10 Transforms the pointset pow-er-set ref-er-enced by \OT1/pcr/m/ sl/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/ m/sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (20.5953pt too wide) in paragraph at lines 3823--3825 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3826--3828 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounded[][][]affine[][][]image(+[]Handle, +[]P[]P[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3829--3831 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounded[][][]affine[][][]preimage(+[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3832--3834 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 3835--3837 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]preimage(+[]Handle, Overfull \hbox (3.79532pt too wide) in paragraph at lines 3838--3840 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3841--3843 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 3848--3850 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]intersection[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3851--3853 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3854--3856 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]difference[][][]assign(+[]Handle[][][]1, +[]Handle[] [111 Overfull \hbox (4.47188pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.24178pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (16.12138pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.89128pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.94151pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.71141pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (8.31177pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (9.42162pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (20.53154pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (4.41182pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.6817pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []expand[][][]]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (6.95146pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (2.76027pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] ph, int com- Overfull \hbox (0.11208pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (2.05135pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ps, size[] [82 Overfull \hbox (24.19531pt too wide) in paragraph at lines 3857--3859 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3860--3862 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3863--3865 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]simplify[][][]using[][][]context[][][]assign(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3870--3872 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[ ][][]assign(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3873--3875 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign(+[]Han dle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3876--3878 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign(+[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3879--3881 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (26.5953pt too wide) in paragraph at lines 3888--3890 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]concatenate[][][]assign(+[]Handle[][][]1, +[]Handle[] [112] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3895--3897 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, Overfull \hbox (3.79532pt too wide) in paragraph at lines 3898--3900 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3901--3903 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]remove[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 3904--3906 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]remove[][][]higher[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3907--3909 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]expand[][][]space[][][]dimension(+[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3910--3912 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]fold[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (1.7817pt too wide) in paragraph at lines 3910--3912 \OT1/ptm/m/it/10 Modifies the pointset pow-er-set ref-er-enced by \OT1/pcr/m/sl /10 Handle \OT1/ptm/m/it/10 by fold-ing the space di-men-sions con-tained in \O T1/pcr/m/sl/10 List[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3913--3915 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]map[][][]space[][][]dimensions(+[]Handle, +[]P[][][] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3920--3922 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]from[][][]iterator(+[]Iterator[] Overfull \hbox (2.0138pt too wide) in paragraph at lines 3923--3925 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]begin[][][]iterator(+[]Handle, -[]Iterator) [113]] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3929--3931 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]iterator[][][]equals[][][]iterator(+[]Iterator[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3938--3940 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]iterator[][][]get[][][]disjunct(+[]Iterator, -[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3950--3952 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]drop[][][]disjuncts(+[]Handle, +[]Iterator[] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3969--3971 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][]space[][ ][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[][][][]Empty, [114] Underfull \hbox (badness 10000) in paragraph at lines 3990--3991 Overfull \hbox (17.45279pt too wide) in paragraph at lines 4014--4016 \OT1/ptm/m/it/10 Builds a new dou-ble box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/ it/10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (4.96313pt too wide) in paragraph at lines 4026--4028 \OT1/ptm/m/it/10 Builds a new dou-ble box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/ it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1/pc r/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 4029--4031 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][][ ][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, [115] Overfull \hbox (3.23177pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (7.12152pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (1.66174pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (3.0714pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (5.7013pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.6716pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpz[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] Overfull \hbox (7.65157pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (14.30188pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.96178pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (9.70131pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (14.56133pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (27.86195pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (7.33005pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, [83 Overfull \hbox (27.2138pt too wide) in paragraph at lines 4032--4034 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[] C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (23.6138pt too wide) in paragraph at lines 4035--4037 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Grid[] [][]with[][][]complexity(+[]Handle, +[]Complexity, -[]Handle) Overfull \hbox (15.2138pt too wide) in paragraph at lines 4038--4040 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ration al[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (46.41382pt too wide) in paragraph at lines 4041--4043 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (46.41382pt too wide) in paragraph at lines 4044--4046 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (10.41382pt too wide) in paragraph at lines 4047--4049 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (10.41382pt too wide) in paragraph at lines 4050--4052 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (3.2138pt too wide) in paragraph at lines 4053--4055 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Double [][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (30.81381pt too wide) in paragraph at lines 4056--4058 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (15.79532pt too wide) in paragraph at lines 4059--4061 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[] [116]] Overfull \hbox (13.3953pt too wide) in paragraph at lines 4127--4129 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]con straint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (27.45073pt too wide) in paragraph at lines 4127--4129 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (1.3953pt too wide) in paragraph at lines 4130--4132 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]gen erator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (21.45073pt too wide) in paragraph at lines 4130--4132 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (13.3953pt too wide) in paragraph at lines 4133--4135 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]con gruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (27.45073pt too wide) in paragraph at lines 4133--4135 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . [117] Overfull \hbox (23.6138pt too wide) in paragraph at lines 4148--4150 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]has[][][]upper[][][]bound(+ []Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (23.6138pt too wide) in paragraph at lines 4153--4155 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]has[][][]lower[][][]bound(+ []Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (14.0138pt too wide) in paragraph at lines 4158--4160 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]maximize(+[]Handle, +[]Lin[ ][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (14.0138pt too wide) in paragraph at lines 4163--4165 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]minimize(+[]Handle, +[]Lin[ ][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (8.5953pt too wide) in paragraph at lines 4168--4170 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]maximize[][][]with[][][]poi nt(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 4173--4175 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]minimize[][][]with[][][]poi nt(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [118] Overfull \hbox (5.11008pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (6.77972pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (4.55975pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (8.82309pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][]space[] Overfull \hbox (20.58217pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (2.72359pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]N[]N[]C[] [84 [119] Overfull \hbox (1.38072pt too wide) in paragraph at lines 4237--4239 \OT1/ptm/m/it/10 Transforms the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Ha ndle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m/sl /10 Lin[][][][]Expr/Coeff Overfull \hbox (12.19531pt too wide) in paragraph at lines 4240--4242 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][]im age(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4243--4245 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][]pr eimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (29.6138pt too wide) in paragraph at lines 4246--4248 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (10.9953pt too wide) in paragraph at lines 4249--4251 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4252--4254 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 4255--4257 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, Overfull \hbox (41.6138pt too wide) in paragraph at lines 4258--4260 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]wrap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Underfull \vbox (badness 3503) has occurred while \output is active [120]] Overfull \hbox (27.2138pt too wide) in paragraph at lines 4280--4282 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][]co ntext[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (14.5953pt too wide) in paragraph at lines 4283--4285 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]linear[][][]partition(+[]Ha ndle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4290--4292 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][][ ]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 4296--4298 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][][]w ith[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4302--4304 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][] extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] [121 Overfull \hbox (9.33357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Rational[] Overfull \hbox (0.25308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (8.17279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.9221pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (2.58328pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]B[]D[][][] Overfull \hbox (17.22299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] [85] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4305--4307 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][] extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 4327--4329 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimensi ons[][][]and[][][]project(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (11.6138pt too wide) in paragraph at lines 4336--4338 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]expand[][][]space[][][]dime nsion(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][][]Type) Overfull \hbox (12.81381pt too wide) in paragraph at lines 4339--4341 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]fold[][][]space[][][]dimens ions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[]L[][][][]V ar) [122]] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4361--4363 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Underfull \hbox (badness 10000) in paragraph at lines 4382--4383 [123] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4406--4408 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 4406--4408 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4409--4411 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 4409--4411 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4418--4420 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (42.81381pt too wide) in paragraph at lines 4421--4423 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 4424--4426 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (18.19531pt too wide) in paragraph at lines 4427--4429 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (42.81381pt too wide) in paragraph at lines 4430--4432 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 4433--4435 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 4436--4438 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4439--4441 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4442--4444 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] [124] Overfull \hbox (21.6729pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.23282pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (4.42291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (18.72281pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.76231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [86] Overfull \hbox (30.81381pt too wide) in paragraph at lines 4445--4447 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 4448--4450 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 4451--4453 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, Overfull \hbox (9.79532pt too wide) in paragraph at lines 4494--4496 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][]c ontains[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4497--4499 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoin t[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] [125] Overfull \hbox (1.40201pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (12.61284pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.01251pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (23.73222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (42.25317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Constraint[] Overfull \hbox (47.80324pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Congruence[] Overfull \hbox (35.77324pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Generator[] [87 Overfull \hbox (40.9953pt too wide) in paragraph at lines 4519--4521 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 4519--4521 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (28.9953pt too wide) in paragraph at lines 4522--4524 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 4522--4524 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (40.9953pt too wide) in paragraph at lines 4525--4527 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 4525--4527 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (17.6138pt too wide) in paragraph at lines 4534--4536 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minimi zed[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 4537--4539 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minimi zed[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (41.6138pt too wide) in paragraph at lines 4540--4542 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize(+[]Han dle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (41.6138pt too wide) in paragraph at lines 4545--4547 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize(+[]Han dle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (36.19531pt too wide) in paragraph at lines 4550--4552 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize[][][]w ith[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [126]] Overfull \hbox (36.19531pt too wide) in paragraph at lines 4555--4557 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize[][][]w ith[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (25.80045pt too wide) in paragraph at lines 4591--4593 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (11.6138pt too wide) in paragraph at lines 4597--4599 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wit h[][][]constraints( +[]Handle, +[]Constraint[][][][]System) [127] Overfull \hbox (37.0216pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (30.54167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (0.67314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[] Overfull \hbox (1.9628pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] Overfull \hbox (7.51286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] [88 Overfull \hbox (11.6138pt too wide) in paragraph at lines 4600--4602 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wit h[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (0.19531pt too wide) in paragraph at lines 4613--4615 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][] []space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 4619--4621 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]affine[][][]pre image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) Overfull \hbox (0.81381pt too wide) in paragraph at lines 4622--4624 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, Overfull \hbox (12.19531pt too wide) in paragraph at lines 4625--4627 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4628--4630 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 4631--4633 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4634--4636 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 4637--4639 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] [128]] Overfull \hbox (69.2138pt too wide) in paragraph at lines 4640--4642 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]wrap[][][]assig n(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representa tion, Overfull \hbox (54.81381pt too wide) in paragraph at lines 4662--4664 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][]u sing[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (6.19531pt too wide) in paragraph at lines 4665--4667 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]linear[][][]par tition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4672--4674 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05[ ][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] [129] Overfull \hbox (2.03311pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]contains[][][]integer[][][] Overfull \hbox (1.48302pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (28.93297pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]topological[][][]closure[] [89 Overfull \hbox (1.39532pt too wide) in paragraph at lines 4675--4677 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wide ning[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4684--4686 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][]a ssign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 4690--4692 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 4693--4695 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4696--4698 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 4699--4701 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4702--4704 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4705--4707 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] [130]] Overfull \hbox (0.19531pt too wide) in paragraph at lines 4724--4726 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space[ ][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4727--4729 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space[ ][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 4733--4735 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hig her[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 4736--4738 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][]spa ce[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4739--4741 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]fold[][][]space [][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] [131] Overfull \hbox (6.69179pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (5.03162pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (3.67287pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contains[][][][]B[] Overfull \hbox (29.58234pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strictly[] Overfull \hbox (1.53247pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][][] Overfull \hbox (17.42293pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] [90 Overfull \hbox (0.19531pt too wide) in paragraph at lines 4761--4763 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] Overfull \hbox (29.6138pt too wide) in paragraph at lines 4768--4770 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (29.6138pt too wide) in paragraph at lines 4771--4773 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]congruences(+[]Congruence[][][][]System, -[]Handle) Overfull \hbox (17.6138pt too wide) in paragraph at lines 4774--4776 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]generators(+[]Generator[][][][]System, -[]Handle) Underfull \hbox (badness 10000) in paragraph at lines 4782--4783 Overfull \hbox (0.81381pt too wide) in paragraph at lines 4791--4793 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][]2) Overfull \hbox (13.39532pt too wide) in paragraph at lines 4800--4802 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 4800--4802 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4803--4805 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 4803--4805 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] [132] Overfull \hbox (19.39532pt too wide) in paragraph at lines 4806--4808 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 4809--4811 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4815--4817 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4818--4820 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (6.81381pt too wide) in paragraph at lines 4821--4823 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (18.81381pt too wide) in paragraph at lines 4824--4826 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (39.2138pt too wide) in paragraph at lines 4827--4829 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 4830--4832 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 4833--4835 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4836--4838 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 4839--4841 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity (+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 4842--4844 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity (+[] [133]] Overfull \hbox (15.75171pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (21.30177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]congruence Overfull \hbox (24.4416pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (29.99167pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]congruences [91 Overfull \hbox (15.79532pt too wide) in paragraph at lines 4845--4847 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 4848--4850 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, Overfull \hbox (31.39532pt too wide) in paragraph at lines 4851--4853 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4891--4893 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[] [][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, +[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 4894--4896 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[] [][]contains[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 4897--4899 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]di sjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[] [134] Overfull \hbox (30.19531pt too wide) in paragraph at lines 4900--4902 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][] [][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (14.0138pt too wide) in paragraph at lines 4919--4921 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (2.0138pt too wide) in paragraph at lines 4922--4924 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (14.0138pt too wide) in paragraph at lines 4925--4927 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (2.0138pt too wide) in paragraph at lines 4928--4930 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]c onstraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (2.0138pt too wide) in paragraph at lines 4931--4933 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]c ongruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (22.9953pt too wide) in paragraph at lines 4934--4936 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]m inimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 4937--4939 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]m inimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 4940--4942 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize(+ []Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 4945--4947 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize(+ []Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [135]] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4950--4952 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize[] [][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4955--4957 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize[] [][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (8.0138pt too wide) in paragraph at lines 4985--4987 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]c onstraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (8.0138pt too wide) in paragraph at lines 4988--4990 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]c ongruences( +[]Handle, +[]Congruence[][][][]System) [136] Overfull \hbox (1.81296pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]upper[][][]bound[] Overfull \hbox (19.83264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]simplify[][][]using[] Overfull \hbox (7.64267pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]unconstrain[] [92 Overfull \hbox (8.0138pt too wide) in paragraph at lines 4991--4993 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (8.0138pt too wide) in paragraph at lines 4994--4996 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (16.9953pt too wide) in paragraph at lines 4997--4999 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 5000--5002 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 5010--5012 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstrai n[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var) Overfull \hbox (4.9953pt too wide) in paragraph at lines 5013--5015 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstrai n[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 5016--5018 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][] []image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (14.61084pt too wide) in paragraph at lines 5016--5018 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (5.6138pt too wide) in paragraph at lines 5019--5021 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][] []preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (8.5953pt too wide) in paragraph at lines 5022--5024 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[][ ][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 5025--5027 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[][ ][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 5028--5030 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] [137] Overfull \hbox (11.6138pt too wide) in paragraph at lines 5031--5033 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (0.19531pt too wide) in paragraph at lines 5034--5036 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 5037--5039 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 5040--5042 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]wrap[][][] assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (15.79532pt too wide) in paragraph at lines 5059--5061 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][][ ]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 5062--5064 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[] [][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] [138]] Overfull \hbox (11.53256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]unconstrain[] Overfull \hbox (6.35191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (2.71329pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]bounded[][][]affine[] Overfull \hbox (19.29315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]generalized[][][]affine[] Overfull \hbox (1.87302pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]generalized[] [93 Overfull \hbox (20.5953pt too wide) in paragraph at lines 5065--5067 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[][] []partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 5072--5074 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M[ ]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, Overfull \hbox (18.19531pt too wide) in paragraph at lines 5078--5080 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[] [][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 5084--5086 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 5087--5089 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 5090--5092 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 5093--5095 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] [139]] Overfull \hbox (42.19531pt too wide) in paragraph at lines 5112--5114 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]s pace[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5115--5117 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]s pace[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5118--5120 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][] []space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (44.5953pt too wide) in paragraph at lines 5121--5123 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][] []higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 5124--5126 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][] []space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5127--5129 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][] space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[] ) (./PI_Compilation.tex [140 Overfull \hbox (20.93263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (35.19252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (16.66266pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (18.69269pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (36.4616pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]remove[][][]space[][][]dimensions Overfull \hbox (1.9427pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]remove[][][] Overfull \hbox (27.62158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]expand[][][]space[][][]dimension [94]) (./PI_SD_Features.tex [141] [142]] Overfull \hbox (30.3312pt too wide) in paragraph at lines 86--87 []\OT1/ptm/m/n/10 Notice that, for dy-namic link-ing to work, you should have c on-fig-ured the li-brary with the \OT1/pcr/m/n/10 --enable-shared Overfull \hbox (2.20367pt too wide) in paragraph at lines 100--101 \OT1/ptm/m/n/10 e.[]g., [][]\OT1/pcr/m/n/10 http[]://www.[]cs.[]unipr.[]it/pipe rmail/ppl-devel/2006-[]January/007780.[]html[][]\OT1/ptm/m/n/10 ). ) Overfull \hbox (0.40225pt too wide) in paragraph at lines 102--207 []\OT1/ptm/m/n/10 In or-der to dy-nam-i-cally load the li-brary from Y[]AP you should sim-ply load \OT1/pcr/m/n/10 prefix/lib/ppl/ppl[] (./modules.tex) (./group__PPL__Prolog__interface.tex) [143 Overfull \hbox (12.0115pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (9.68161pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (2.12299pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[][][] Overfull \hbox (7.84299pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[] Overfull \hbox (11.11328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]external[][][]memory[] Overfull \hbox (11.6919pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (0.64241pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[] [95] [144] (./refman.ind [145]) (./refman.aux)] Package rerunfilecheck Warning: File `refman.out' has changed. (rerunfilecheck) Rerun to get outlines right (rerunfilecheck) or use package `bookmark'. ) (see the transcript file for additional information){/usr/share/texlive/texmf-d ist/fonts/enc/dvips/base/8r.enc} Overfull \hbox (28.74266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[][][]widening[] Overfull \hbox (12.15302pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (7.27174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (21.76277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]widening[][][]assign[] Overfull \hbox (0.72179pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.10204pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.88206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [96 Overfull \hbox (27.5924pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (4.81262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (11.47267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (2.84262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (28.75323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (19.75198pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][][]C[]C76[][][]narrowing[][][]assign [97] Overfull \hbox (14.6529pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (20.20296pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (12.97296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (1.47284pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (37.57156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (43.12163pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]congruences Overfull \hbox (5.01176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( [98] Overfull \hbox (3.34184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( Overfull \hbox (7.36293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (5.69301pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (11.61273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (9.94281pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (12.99327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.32335pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.96294pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (14.29301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] [99] Output written on refman.pdf (151 pages, 758968 bytes). Transcript written on refman.log. latex_count=8 ; \ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $latex_count -gt 0 ] ;\ do \ echo "Rerunning latex...." ;\ pdflatex refman ;\ latex_count=`expr $latex_count - 1` ;\ done makeindex refman.idx Overfull \hbox (20.21274pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (18.54282pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Coefficient__tag.tex [100This is makeindex, version 2.15 [TeX Live 2019/dev] (kpathsea + Thai support). Scanning input file refman.idx....done (1 entries accepted, 0 rejected). Sorting entries...done (0 comparisons). Generating output file refman.ind....done (5 lines written, 0 warnings). Output written in refman.ind. Transcript written in refman.ilg. pdflatex refman This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex) restricted \write18 enabled. ]entering extended mode (./refman.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) (/usr/share/texlive/texmf-dist/tex/latex/a4wide/a4wide.sty (/usr/share/texlive/texmf-dist/tex/latex/ntgclass/a4.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (./interfaceppl__Congruence__System__const__iterator__tag.tex) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu [101))) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty] (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg) (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty))) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty Overfull \hbox (1.72762pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[] Overfull \hbox (2.27753pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System [][][]const[][][]iterator[] Overfull \hbox (17.54732pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Congruence[][][ ][]System[][][]const[][][]iterator[] ) (./interfaceppl__Congruence__System__tag.tex)) [102 (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty]) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def Overfull \hbox (7.63844pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Congruence[][][][]System[][][ ]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][]Sys tem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[] Overfull \hbox (9.56808pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][] System[][][]t[][] dst, [][]ppl[] Overfull \hbox (10.67792pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]space[][ ][]dimension[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][][]dimension[] Overfull \hbox (4.96837pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]begin[][ ] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][ ][][]Congruence[][][][]System[] Overfull \hbox (23.98816pt too wide) in paragraph at lines 60--62 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]insert[] [][][]Congruence[][] ([][]ppl[][][][]Congruence[][][][]System[][][]t[][] cs, [] []ppl[][][]const[][][][]Congruence[] [103This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=latex) restricted \write18 enabled. ]) (./interfaceppl__Congruence__tag.texentering extended mode (./_formulas.tex LaTeX2e <2018-12-01> ) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)) Overfull \hbox (15.0983pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][]coefficient[][] ([][]p pl[][][]const[][][][]Congruence[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] [104 (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def)] (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (./doxygen.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty) (./interfaceppl__Constraint__System__const__iterator__tag.tex)) (/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)) (/build/ppl-1.2/doc/ppl.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty) Overfull \hbox (25.10667pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][][] iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (33.69638pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (11.7268pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Constraint[][][][]S ystem[][][]const[][][]iterator[] Overfull \hbox (4.24669pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Constraint[][][ ][]System[][][]const[][][]iterator[] [105) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)]) (./interfaceppl__Constraint__System__tag.tex) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty)) Writing index file refman.idx (./refman.aux) (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) Overfull \hbox (24.61707pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (2.09717pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]end[][] ([][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] cs, [][]ppl[][][ ][]Constraint[][][][]System[][][]const[] [106 (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty)]) (./refman.out) (./refman.out) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/Ustmry.fd)) (./interfaceppl__Constraint__tag.tex (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd) [1{/var/lib/texmf/fo nts/map/pdftex/updmap/pdftex.map} ] [2] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd) [3] ] [4] (./refman.toc) [1 Overfull \hbox (1.79767pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][]coefficient[][] ([][]p pl[][][]const[][][][]Constraint[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] ) (./interfaceppl__Constraints__Product__C__Polyhedron__Grid__tag.tex ] [2] (./index.tex) (./GPL.tex Overfull \hbox (14.4614pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.42136pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension[][] ([][] ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.32178pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (19.76172pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (27.2516pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][] ([][]ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.10153pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] [108pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored \relax l.22 [1]]pdfTeX warning (ext4): destination with the same identifier (name{page .2}) has been already used, duplicate ignored \relax l.58 [2]pdfTeX warning (ext4): destination with the same identifier (name{page .3}) has been already used, duplicate ignored \relax l.84 [3]pdfTeX warning (ext4): destination with the same identifier (name{page .4}) has been already used, duplicate ignored \relax l.121 [4] Overfull \hbox (0.58157pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.2312pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.79126pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (21.69168pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (14.19164pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.26022pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[][] Overfull \hbox (5.4219pt too wide) in paragraph at lines 41--43 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.44136pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.72202pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (2.39153pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexi ty[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (38.22112pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (20.69154pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (21.2516pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (20.90985pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]with[][][]complexity[][] Overfull \hbox (2.55026pt too wide) in paragraph at lines 55--57 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][ [5][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, int Overfull \hbox (21.46991pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]with[][][]complexity[][] Overfull \hbox (3.11032pt too wide) in paragraph at lines 57--59 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, int Overfull \hbox (33.77144pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (7.65198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (7.87029pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][][]with[][][]complexity[][] Overfull \hbox (9.24173pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (16.57161pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 with[][][]complexity[][] ([][]ppl[][][][]Constraints[][][] []Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^ ^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (23.66107pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Constraints[][][][]Product[] [109] [6] [7]] [8]) Overfull \hbox (10.35326pt too wide) in paragraph at lines 291--187 \OT1/ptm/m/n/10 stead of this Li-cense. But first, please read [][]\OT1/pcr/m/n /10 http[]://www.[]gnu.[]org/philosophy/why-not-lgpl.[] [9] (./GFDL.tex Overfull \hbox (26.11101pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[ ][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (25.8513pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.3313pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.29152pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.80093pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][ ][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (31.95103pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.9711pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]topological[][][]closure[][][]assign[][] ([][]ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (9.71191pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (10.32164pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (30.02118pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 97--99 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (28.36113pt too wide) in paragraph at lines 99--101 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 99--101 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (15.58107pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 101--103 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [10] [11] [12] Overfull \hbox (7.49895pt too wide) in paragraph at lines 97--98 \OT1/ptm/m/n/10 ments, form-ing one sec-tion En-ti-tled "[]History"; like-wise com-bine any sec-tions En-ti-tled "[]Acknowledgements", [13]) (./PI_SI_Features.tex [14[][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (13.92102pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 103--105 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (21.13144pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][ ]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (12.5711pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][] Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.18124pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][] [][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.35155pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C [][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (5.02113pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][][]OK[][] ([][]ppl[][][]const[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.35141pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraint[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (30.00172pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruence[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] [110] Underfull \hbox (badness 10000) in paragraph at lines 19--20 Underfull \hbox (badness 10000) in paragraph at lines 21--22 Underfull \hbox (badness 10000) in paragraph at lines 23--24 Overfull \hbox (3.40186pt too wide) in paragraph at lines 28--29 []\OT1/ptm/m/n/10 The prod-uct do-mains con-sist of Direct[][][][]Product[][][] []S[][][]T, Smash[][][][]Product[][][][]S[][][]T, Constraints[][][][]Product[] [15]] [16] Underfull \vbox (badness 10000) has occurred while \output is active [17] Underfull \hbox (badness 10000) in paragraph at lines 241--242 Underfull \hbox (badness 10000) in paragraph at lines 246--247 [18] Underfull \hbox (badness 10000) in paragraph at lines 251--252 Underfull \hbox (badness 10000) in paragraph at lines 256--257 Underfull \hbox (badness 10000) in paragraph at lines 261--262 Underfull \hbox (badness 10000) in paragraph at lines 266--267 Underfull \hbox (badness 10000) in paragraph at lines 271--272 Underfull \hbox (badness 10000) in paragraph at lines 276--277 Underfull \hbox (badness 10000) in paragraph at lines 281--282 Underfull \hbox (badness 10000) in paragraph at lines 286--287 Underfull \hbox (badness 10000) in paragraph at lines 291--292 Underfull \hbox (badness 10000) in paragraph at lines 296--297 Underfull \hbox (badness 10000) in paragraph at lines 303--304 Underfull \hbox (badness 10000) in paragraph at lines 308--309 [19] Overfull \hbox (27.2413pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraints[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (33.89162pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruences[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.62155pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (34.7512pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]difference[][][]assign[][] ([][]ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.84091pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][] Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.1216pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[] [] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (6.42146pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]constrains[][] ([][]ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.63115pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (16.4315pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]image[][] ([][]ppl[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.2014pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]preimage[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26169pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (6.1413pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][] ([][]ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (18.9112pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (2.52121pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][] rhs[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (15.2911pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][ ][]rhs[][] ([][]ppl[][][][]Constraints[] [111 Underfull \hbox (badness 10000) in paragraph at lines 313--314 Underfull \hbox (badness 10000) in paragraph at lines 318--319 Underfull \hbox (badness 10000) in paragraph at lines 323--324 Underfull \hbox (badness 10000) in paragraph at lines 334--335 Overfull \hbox (70.9953pt too wide) in paragraph at lines 339--340 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]M[]I[]P[][][][]Problem(+[]Dimension[][][] []Type, +[]Constraint[][][][]System, +[]Lin[][][][]Expr, +[]Optimization[] Underfull \hbox (badness 10000) in paragraph at lines 339--340 Underfull \hbox (badness 10000) in paragraph at lines 344--345 Underfull \hbox (badness 10000) in paragraph at lines 349--350 Underfull \hbox (badness 10000) in paragraph at lines 354--355 Underfull \hbox (badness 10000) in paragraph at lines 359--360 Underfull \hbox (badness 10000) in paragraph at lines 364--365 Underfull \hbox (badness 10000) in paragraph at lines 369--370 Underfull \hbox (badness 10000) in paragraph at lines 374--375 [20]] Underfull \hbox (badness 10000) in paragraph at lines 379--380 Overfull \hbox (7.87047pt too wide) in paragraph at lines 382--383 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Optimization[][][][]Mode \OT1/ptm/m /it/10 with the op-ti-miza-tion mode for the M[]IP Prob-lem ref-er-enced by \OT 1/pcr/m/sl/10 Handle\OT1/ptm/m/it/10 . Underfull \hbox (badness 10000) in paragraph at lines 384--385 Overfull \hbox (9.2138pt too wide) in paragraph at lines 389--390 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]space[][][]di mensions[][][]and[][][]embed( +[]Handle, +[]Dimension[][][][]Type) Underfull \hbox (badness 10000) in paragraph at lines 389--390 Underfull \hbox (badness 10000) in paragraph at lines 389--390 Underfull \hbox (badness 10000) in paragraph at lines 394--395 Underfull \hbox (badness 10000) in paragraph at lines 399--400 Underfull \hbox (badness 10000) in paragraph at lines 404--405 Underfull \hbox (badness 10000) in paragraph at lines 409--410 Overfull \hbox (5.6138pt too wide) in paragraph at lines 414--415 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]set[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Value) Underfull \hbox (badness 10000) in paragraph at lines 414--415 Underfull \hbox (badness 10000) in paragraph at lines 414--415 Overfull \hbox (62.5953pt too wide) in paragraph at lines 419--420 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]get[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Name, ?Control[] Underfull \hbox (badness 10000) in paragraph at lines 419--420 Overfull \hbox (18.68352pt too wide) in paragraph at lines 422--423 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Control[][][][]Parameter[][][][]Val ue \OT1/ptm/m/it/10 with the value of the con-trol pa-ram-e-ter \OT1/pcr/m/sl/1 0 Control[][][][]Parameter[] Underfull \hbox (badness 10000) in paragraph at lines 424--425 Overfull \hbox (41.0819pt too wide) in paragraph at lines 427--428 []\OT1/ptm/m/it/10 Updates the M[]IP Prob-lem ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 so that the op-ti-miza-tion mode is changed to \OT1/pcr /m/sl/10 Optimization[] Underfull \hbox (badness 10000) in paragraph at lines 429--430 Underfull \hbox (badness 10000) in paragraph at lines 434--435 Overfull \hbox (15.46123pt too wide) in paragraph at lines 437--438 []\OT1/ptm/m/it/10 Solves the M[]IP prob-lem ref-er-enced by \OT1/pcr/m/sl/10 H andle \OT1/ptm/m/it/10 and uni-fies \OT1/pcr/m/sl/10 M[]I[]P[][][][]Problem[][] [][]Status \OT1/ptm/m/it/10 with[]: \OT1/pcr/m/sl/10 unfeasible\OT1/ptm/m/it/10 , Underfull \hbox (badness 10000) in paragraph at lines 439--440 [21] Overfull \hbox (8.89146pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embe d[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.00131pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]proj ect[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.55145pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (4.99152pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.70161pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][] [][]Constraints[][][][]Product[] Overfull \hbox (0.69177pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[ ][][]2[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.97137pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes[][] ([][] ppl[][][]const[][][][]Constraints[] Overfull \hbox (21.40106pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl [][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (22.70122pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens[][] ([ ][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (31.69138pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.85143pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Constraints[][][][]Pro duct[][][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.83125pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Constraints[][][][]P roduct[][][][]C[][][][]Polyhedron[][][][]Grid[][] (char $\OMS/cmsy/m/n/10 ^^C$$ ^^C$\OT1/ptm/bc/n/10 strp, [][]ppl[][][]const[][][][]Constraints[][][][]Product [] Overfull \hbox (35.29124pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.02145pt too wide) in paragraph at lines 199--200 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]load[][] ([][]ppl[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (36.6532pt too wide) in paragraph at lines 211--212 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Constraints[][][][]Product[][][][]C[] [][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3924pt too wide) in paragraph at lines 217--218 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/ 8 int ppl[][][]new[][][][]Constraints[] [112 Underfull \hbox (badness 10000) in paragraph at lines 444--445 Underfull \hbox (badness 10000) in paragraph at lines 449--450 Overfull \hbox (13.3953pt too wide) in paragraph at lines 454--456 []\OT1/pcr/m/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][]objectiv e[][][]function(+[]Handle, +[]Generator, ?Coeff[] Overfull \hbox (41.48175pt too wide) in paragraph at lines 454--456 \OT1/ptm/m/it/10 Evaluates the ob-jec-tive func-tion of the M[]IP prob-lem ref- er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 at point \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Coefficient[] Underfull \hbox (badness 10000) in paragraph at lines 457--458 Underfull \hbox (badness 10000) in paragraph at lines 462--463 Underfull \hbox (badness 10000) in paragraph at lines 467--468 Underfull \hbox (badness 10000) in paragraph at lines 476--477 Overfull \hbox (4.9953pt too wide) in paragraph at lines 484--485 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]P[]I[]P[][][][]Problem(+[]Dimension[][][] []Type, +[]Constraint[][][][]System, +[]Vars[][][][]List, -[] Underfull \hbox (badness 10000) in paragraph at lines 484--485 [22] Overfull \hbox (62.5953pt too wide) in paragraph at lines 504--505 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]get[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Name, ?Control[] Underfull \hbox (badness 10000) in paragraph at lines 504--505 Overfull \hbox (18.68352pt too wide) in paragraph at lines 507--508 []\OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Control[][][][]Parameter[][][][]Val ue \OT1/ptm/m/it/10 with the value of the con-trol pa-ram-e-ter \OT1/pcr/m/sl/1 0 Control[][][][]Parameter[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 512--514 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]di mensions[][][]and[][][]embed( +[]Handle, +[]Dimension[][][][]Type1, Overfull \hbox (5.6138pt too wide) in paragraph at lines 524--525 []\OT1/pcr/m/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]set[][][]control[][][] parameter(+[]Handle, +[]Control[][][][]Parameter[][][][]Value) Underfull \hbox (badness 10000) in paragraph at lines 524--525 Underfull \hbox (badness 10000) in paragraph at lines 524--525 Underfull \hbox (badness 10000) in paragraph at lines 544--545 [23]]) (./configured_domains_predicates.tex [24 Overfull \hbox (7.45296pt too wide) in paragraph at lines 223--224 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (21.8929pt too wide) in paragraph at lines 229--230 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/p cr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.60298pt too wide) in paragraph at lines 235--236 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Constraints[][][][]Product[] Overfull \hbox (4.50287pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (36.70241pt too wide) in paragraph at lines 247--248 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (37.8224pt too wide) in paragraph at lines 253--254 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (11.0221pt too wide) in paragraph at lines 259--260 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (12.14209pt too wide) in paragraph at lines 265--266 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [113]] Overfull \hbox (6.19531pt too wide) in paragraph at lines 34--36 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]space[ ][][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 41--43 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Underfull \hbox (badness 10000) in paragraph at lines 71--72 [25] Overfull \hbox (1.2729pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][] Overfull \hbox (23.67259pt too wide) in paragraph at lines 277--278 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \O T1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (0.87228pt too wide) in paragraph at lines 283--284 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (21.9302pt too wide) in paragraph at lines 289--290 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (7.24219pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (21.68213pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (40.87224pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexity()[] \ OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.2921pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] [114 Overfull \hbox (11.00215pt too wide) in paragraph at lines 104--106 \OT1/ptm/m/it/10 Builds a new N[]NC poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (12.11226pt too wide) in paragraph at lines 110--112 \OT1/ptm/m/it/10 Builds a new N[]NC poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 113--115 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 116--118 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 119--121 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 122--124 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] [26]] Overfull \hbox (15.07239pt too wide) in paragraph at lines 137--139 \OT1/ptm/m/it/10 Builds a new C poly-he-dron \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm /m/it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 140--142 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][]2) Overfull \hbox (27.2138pt too wide) in paragraph at lines 143--145 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[][ ][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 146--148 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 149--151 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[]N []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (51.2138pt too wide) in paragraph at lines 152--154 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (2.5953pt too wide) in paragraph at lines 155--157 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Grid [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 158--160 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 161--163 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rati onal[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 164--166 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 167--169 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[] [27] Overfull \hbox (8.31012pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (9.43011pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (15.90984pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 331--332 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity Overfull \hbox (17.02983pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 337--338 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity Overfull \hbox (1.06213pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (23.46182pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]w ith[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (2.88002pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity()[] Overfull \hbox (8.37407pt too wide) in paragraph at lines 355--356 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity ( [115 Overfull \hbox (13.39532pt too wide) in paragraph at lines 170--172 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (1.39532pt too wide) in paragraph at lines 173--175 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 176--178 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (22.41382pt too wide) in paragraph at lines 179--181 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 182--184 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 185--187 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 188--190 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 191--193 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Doub le[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (27.2138pt too wide) in paragraph at lines 194--196 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (42.81381pt too wide) in paragraph at lines 197--199 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[]D [][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 200--202 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 203--205 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Octa gonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [28]] Overfull \hbox (18.81381pt too wide) in paragraph at lines 206--208 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][] []Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [29] Overfull \hbox (15.79529pt too wide) in paragraph at lines 274--276 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]constraint (+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (28.99063pt too wide) in paragraph at lines 274--276 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (3.79529pt too wide) in paragraph at lines 277--279 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]generator( +[]Handle, +[]Generator, ?Relation[] Overfull \hbox (22.99063pt too wide) in paragraph at lines 277--279 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (15.79529pt too wide) in paragraph at lines 280--282 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][]congruence (+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (28.99063pt too wide) in paragraph at lines 280--282 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (16.41379pt too wide) in paragraph at lines 301--303 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]maximize(+[]Handle, +[]Lin[][][][] Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (16.41379pt too wide) in paragraph at lines 306--308 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]minimize(+[]Handle, +[]Lin[][][][] Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (10.9953pt too wide) in paragraph at lines 311--313 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]maximize[][][]with[][][]point(+[]H andle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [30] Overfull \hbox (10.9953pt too wide) in paragraph at lines 316--318 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]minimize[][][]with[][][]point(+[]H andle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [31 Overfull \hbox (1.85179pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid[] Overfull \hbox (9.12473pt too wide) in paragraph at lines 361--362 [][]\OT1/ptm/b/n/10 with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]fro m[][][][]Constraints[][][][]Product[] Overfull \hbox (27.82246pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (33.37253pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Congruence[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (2.81264pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (0.49269pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]C onstraints[][][][]Product[][][][]C[] Overfull \hbox (26.7724pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.09247pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 in t ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (32.32246pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] [116] Overfull \hbox (2.92062pt too wide) in paragraph at lines 386--388 \OT1/ptm/m/it/10 Transforms the poly-he-dron ref-er-enced by \OT1/pcr/m/sl/10 H andle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m/s l/10 Lin[][][][]Expr/Coeff Overfull \hbox (14.5953pt too wide) in paragraph at lines 389--391 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][]image(+[] Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 392--394 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][]preimage( +[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (32.0138pt too wide) in paragraph at lines 395--397 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]image (+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (13.3953pt too wide) in paragraph at lines 398--400 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]preim age(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 401--403 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]image [][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] [32]] Overfull \hbox (16.91315pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.16286pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (27.49298pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.85233pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (23.39287pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.78227pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.47299pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (5.57285pt too wide) in paragraph at lines 451--452 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (21.08315pt too wide) in paragraph at lines 457--458 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] [117 Overfull \hbox (0.19531pt too wide) in paragraph at lines 404--406 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]preim age[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][] Overfull \hbox (44.0138pt too wide) in paragraph at lines 407--409 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]wrap[][][]assign(+[]Handle, +[]Lis t[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Overfull \hbox (29.6138pt too wide) in paragraph at lines 438--440 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]context[] [][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (16.9953pt too wide) in paragraph at lines 441--443 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]linear[][][]partition(+[]Handle[][ ][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] [33] Overfull \hbox (18.19531pt too wide) in paragraph at lines 448--450 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][] assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 451--453 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign[][ ][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 460--462 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[][] []tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 466--468 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 469--471 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 472--474 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapolat ion[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 475--477 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapolat ion[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] [34]] Overfull \hbox (2.5953pt too wide) in paragraph at lines 478--480 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (2.5953pt too wide) in paragraph at lines 481--483 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][]e xtrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (8.5953pt too wide) in paragraph at lines 484--486 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapolat ion[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 487--489 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapolat ion[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 506--508 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][] []and[][][]project(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (2.0138pt too wide) in paragraph at lines 512--514 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[][][ ]dimensions(+[]Handle, +[]Dimension[][][][]Type) [35] Overfull \hbox (19.42297pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.84259pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (9.18242pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (15.74998pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (5.10138pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][]Product[ ][][][]C[][][][]Polyhedron[] Overfull \hbox (3.73514pt too wide) in paragraph at lines 487--488 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]strictly[][][]contains[][] [][]Constraints[][][][]Product[] Overfull \hbox (2.97153pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][][][]Prod uct[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.69514pt too wide) in paragraph at lines 493--494 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from [][][][]Constraints[][][][]Product[][][][]C[] [118 Overfull \hbox (14.0138pt too wide) in paragraph at lines 515--517 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]expand[][][]space[][][]dimension(+ []Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][][]Type) Overfull \hbox (0.19531pt too wide) in paragraph at lines 518--520 []\OT1/pcr/m/n/10 ppl[][][][]Polyhedron[][][]fold[][][]space[][][]dimensions(+[ ]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[]L[][][] Overfull \hbox (12.19531pt too wide) in paragraph at lines 540--542 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][]space[][][]dimension( +[]Dimension[][][][]Type, +[]Universe[][][]or[][][][]Empty, -[] Underfull \hbox (badness 10000) in paragraph at lines 561--562 [36]] Overfull \hbox (2.5953pt too wide) in paragraph at lines 600--602 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 603--605 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Poly hedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 609--611 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][]Box [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 612--614 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, [37 Overfull \hbox (7.42003pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C[][][][] Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (17.62337pt too wide) in paragraph at lines 505--506 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][][]O[]K()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][ ][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (43.0329pt too wide) in paragraph at lines 511--512 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.58293pt too wide) in paragraph at lines 517--518 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][] Overfull \hbox (46.92279pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.59282pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[] Overfull \hbox (15.10251pt too wide) in paragraph at lines 535--536 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (20.65257pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] [119] Overfull \hbox (12.81381pt too wide) in paragraph at lines 615--617 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 618--620 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 621--623 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (23.6138pt too wide) in paragraph at lines 624--626 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Box[] [][]with[][][]complexity(+[]Handle, +[]Complexity, -[]Handle) Overfull \hbox (18.19531pt too wide) in paragraph at lines 627--629 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[] [][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (39.2138pt too wide) in paragraph at lines 630--632 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]Sh ape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, [38]] Overfull \hbox (7.44052pt too wide) in paragraph at lines 692--694 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Dimension[][][][]Type \OT1/ptm/m/it/1 0 with the di-men-sion of the vec-tor space en-clos-ing the grid ref-er-enced b y \OT1/pcr/m/sl/10 Handle\OT1/ptm/m/it/10 . Overfull \hbox (4.41379pt too wide) in paragraph at lines 698--700 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]constraint(+[]Ha ndle, +[]Constraint, ?Relation[][][][]List) Overfull \hbox (0.56071pt too wide) in paragraph at lines 698--700 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (4.41379pt too wide) in paragraph at lines 704--706 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]congruence(+[]Ha ndle, +[]Congruence, ?Relation[][][][]List) Overfull \hbox (0.56071pt too wide) in paragraph at lines 704--706 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (22.9953pt too wide) in paragraph at lines 707--709 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]relation[][][]with[][][]grid[][][]genera tor(+[]Handle, +[]Grid[][][][]Generator, ?Relation[] [39] Overfull \hbox (41.6138pt too wide) in paragraph at lines 738--740 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean, Overfull \hbox (41.6138pt too wide) in paragraph at lines 743--745 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean, [40] Overfull \hbox (18.9924pt too wide) in paragraph at lines 547--548 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (24.54247pt too wide) in paragraph at lines 553--554 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (1.13237pt too wide) in paragraph at lines 559--560 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []Constraints[][][][]Product[] Overfull \hbox (7.54259pt too wide) in paragraph at lines 565--566 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (1.40259pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.6827pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Constraints[][][][]Product[] Overfull \hbox (2.6125pt too wide) in paragraph at lines 583--584 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[][][] Overfull \hbox (6.58226pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/ pcr/m/n/8 int ppl[][][][]Constraints[] [120 Overfull \hbox (7.24037pt too wide) in paragraph at lines 785--787 \OT1/ptm/m/it/10 Updates the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT1/pc r/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (13.48053pt too wide) in paragraph at lines 788--790 \OT1/ptm/m/it/10 Updates the grid ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ ptm/m/it/10 to one ob-tained by re-fin-ing its con-gru-ence sys-tem with \OT1/p cr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (6.19531pt too wide) in paragraph at lines 816--818 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]bounded[][][]affine[][][]image(+[]Handle , +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 819--821 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]bounded[][][]affine[][][]preimage(+[]Han dle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[][][] Overfull \hbox (16.9953pt too wide) in paragraph at lines 822--824 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image(+[]Ha ndle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, +[] [41]] Overfull \hbox (14.0138pt too wide) in paragraph at lines 825--827 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage(+[ ]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (18.19531pt too wide) in paragraph at lines 828--830 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[]Relation[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 831--833 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[]Relation[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 834--836 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] with[][][]congruence(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 837--839 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]with[][][]congruence(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 840--842 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][] lhs[][][]rhs[][][]with[][][]congruence(+[]Handle, +[]Lin[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 843--845 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][ ][]lhs[][][]rhs[][][]with[][][]congruence(+[]Handle, +[] Overfull \hbox (8.0138pt too wide) in paragraph at lines 846--848 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]wrap[][][]assign(+[]Handle, +[]List[][][ ]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, [42] Overfull \hbox (23.87296pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[ ][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.49197pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (14.38187pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.02313pt too wide) in paragraph at lines 613--614 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Const raints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (47.28302pt too wide) in paragraph at lines 619--620 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.30272pt too wide) in paragraph at lines 625--626 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (29.5626pt too wide) in paragraph at lines 631--632 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] [121 Overfull \hbox (6.19531pt too wide) in paragraph at lines 875--877 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[][] []with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 878--880 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[][][ ]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 887--889 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]widening[][][]assign[][][]with[][][]toke ns(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 893--895 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolati on[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 896--898 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolatio n[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 899--901 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolati on[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 902--904 []\OT1/pcr/m/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolatio n[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] [43] Overfull \hbox (0.99101pt too wide) in paragraph at lines 911--913 \OT1/ptm/m/it/10 Assigns to the grid \OT1/pcr/m/sl/10 P \OT1/ptm/m/it/10 ref-er -enced by \OT1/pcr/m/sl/10 Handle[][][]1 \OT1/ptm/m/it/10 the con-cate-na-tion of \OT1/pcr/m/sl/10 P \OT1/ptm/m/it/10 and the grid ref-er-enced by \OT1/pcr/m/ sl/10 Handle[] [44]] Overfull \hbox (6.19531pt too wide) in paragraph at lines 955--957 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][]space[ ][][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[] Underfull \hbox (badness 10000) in paragraph at lines 976--977 Overfull \hbox (1.39532pt too wide) in paragraph at lines 1000--1002 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[][][] [45 Overfull \hbox (26.94246pt too wide) in paragraph at lines 637--638 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (4.72232pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (23.78194pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (38.04182pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (31.03197pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \O T1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.062pt too wide) in paragraph at lines 667--668 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] [122]] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1003--1005 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.82297pt too wide) in paragraph at lines 1012--1014 \OT1/ptm/m/it/10 Builds a new ra-tio-nal box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm /m/it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 1015--1017 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[][ ][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (39.2138pt too wide) in paragraph at lines 1018--1020 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[]N []C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (2.5953pt too wide) in paragraph at lines 1021--1023 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Grid [][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 1024--1026 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rati onal[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1027--1029 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1030--1032 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 1033--1035 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (22.41382pt too wide) in paragraph at lines 1036--1038 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, [46] Overfull \hbox (15.2138pt too wide) in paragraph at lines 1039--1041 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Doub le[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (42.81381pt too wide) in paragraph at lines 1042--1044 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[]D [][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 1045--1047 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Octa gonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, [47 Overfull \hbox (31.01239pt too wide) in paragraph at lines 673--674 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.91202pt too wide) in paragraph at lines 679--680 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pc r/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (26.97238pt too wide) in paragraph at lines 685--686 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (16.16231pt too wide) in paragraph at lines 691--692 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (18.63242pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (13.61229pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1 /pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (22.2123pt too wide) in paragraph at lines 709--710 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.1626pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Constraints[][][][]Product[] [123] Overfull \hbox (25.3953pt too wide) in paragraph at lines 1113--1115 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]c onstraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (13.3953pt too wide) in paragraph at lines 1116--1118 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]g enerator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (25.3953pt too wide) in paragraph at lines 1119--1121 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][][]c ongruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (2.0138pt too wide) in paragraph at lines 1128--1130 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][]c onstraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (2.0138pt too wide) in paragraph at lines 1131--1133 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][]c ongruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (35.6138pt too wide) in paragraph at lines 1134--1136 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]has[][][]upper[][][]bound (+[]Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (35.6138pt too wide) in paragraph at lines 1139--1141 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]has[][][]lower[][][]bound (+[]Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (26.0138pt too wide) in paragraph at lines 1144--1146 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]maximize(+[]Handle, +[]Li n[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) [48]] Overfull \hbox (26.0138pt too wide) in paragraph at lines 1149--1151 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]minimize(+[]Handle, +[]Li n[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (20.5953pt too wide) in paragraph at lines 1154--1156 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]maximize[][][]with[][][]p oint(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 1159--1161 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]minimize[][][]with[][][]p oint(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [49] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1217--1219 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[][ ][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var) Overfull \hbox (6.24055pt too wide) in paragraph at lines 1223--1225 \OT1/ptm/m/it/10 Transforms the ra-tio-nal box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (6.19531pt too wide) in paragraph at lines 1226--1228 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][][] image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1229--1231 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][][] preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][] Overfull \hbox (4.9953pt too wide) in paragraph at lines 1232--1234 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 1235--1237 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] [50 Overfull \hbox (17.7627pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (7.33206pt too wide) in paragraph at lines 727--728 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m /n/8 int ppl[][][][]Constraints[] Overfull \hbox (0.60266pt too wide) in paragraph at lines 733--734 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (1.51312pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[][] [][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]pri nt[][][][]Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.96307pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fp rint[][][][]Constraints[][][][]Product[] Overfull \hbox (12.32301pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]a sprint[][][][]Constraints[][][][]Product[] Overfull \hbox (27.48296pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.81302pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] [124] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1238--1240 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 1241--1243 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[] [][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (53.6138pt too wide) in paragraph at lines 1244--1246 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]wrap[][][]assign(+[]Handl e, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Overfull \hbox (39.2138pt too wide) in paragraph at lines 1266--1268 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][][] context[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (26.5953pt too wide) in paragraph at lines 1269--1271 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]linear[][][]partition(+[] Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] [51]]) (./interfaceppl__Double__Box__tag.tex Overfull \hbox (15.79532pt too wide) in paragraph at lines 1276--1278 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[][ ][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (45.79532pt too wide) in paragraph at lines 1282--1284 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[][][ ]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1288--1290 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][] []extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1291--1293 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][] []extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][] [52] Overfull \hbox (7.5225pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (8.08257pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (20.86249pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (2.41263pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (0.19238pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (7.11237pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (7.67242pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (10.54063pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, Overfull \hbox (11.1007pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, [125 Overfull \hbox (9.2138pt too wide) in paragraph at lines 1310--1312 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dimen sions[][][]and[][][]embed(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (0.19531pt too wide) in paragraph at lines 1313--1315 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dimen sions[][][]and[][][]project(+[]Handle, +[]Dimension[][][] Overfull \hbox (11.6138pt too wide) in paragraph at lines 1319--1321 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][]s pace[][][]dimensions(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (2.5953pt too wide) in paragraph at lines 1322--1324 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]expand[][][]space[][][]di mension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1325--1327 []\OT1/pcr/m/n/10 ppl[][][][]Rational[][][][]Box[][][]fold[][][]space[][][]dime nsions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1347--1349 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1354--1356 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (3.2138pt too wide) in paragraph at lines 1357--1359 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][]congruences(+[]Congruence[][][][]System, -[]Handle) [53] Underfull \hbox (badness 10000) in paragraph at lines 1368--1369 Overfull \hbox (28.99533pt too wide) in paragraph at lines 1392--1394 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 1392--1394 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 1395--1397 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 1395--1397 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1404--1406 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] [54]] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1407--1409 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1410--1412 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (12.81381pt too wide) in paragraph at lines 1413--1415 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1416--1418 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (11.61383pt too wide) in paragraph at lines 1419--1421 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (11.61383pt too wide) in paragraph at lines 1422--1424 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 1425--1427 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 1428--1430 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (46.41382pt too wide) in paragraph at lines 1431--1433 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 1434--1436 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1437--1439 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] [55 Overfull \hbox (9.49263pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Congruence[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[ ] Overfull \hbox (3.63234pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]relation[][][]with [][][][]Congruence[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.28996pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]constrain ts[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][ ]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/pt m/bc/n/10 pcs) Overfull \hbox (11.96216pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]minimized [][][]congruences[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] p h, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (4.71272pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]above[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.32245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]below[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.72252pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]upper[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (9.47238pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]lower[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (10.58188pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]maximize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.92183pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]minimize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] [126] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1480--1482 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strictl y[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, +[] Overfull \hbox (32.59534pt too wide) in paragraph at lines 1483--1485 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][][ ]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][ ]1, +[]Handle[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1505--1507 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1505--1507 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (44.5953pt too wide) in paragraph at lines 1508--1510 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 1508--1510 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . [56]] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1511--1513 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relatio n[][][]with[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1511--1513 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (0.19531pt too wide) in paragraph at lines 1520--1522 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][] []minimized[][][]constraints(+[]Handle, ?Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1523--1525 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][] []minimized[][][]congruences(+[]Handle, ?Congruence[][][] Overfull \hbox (57.2138pt too wide) in paragraph at lines 1526--1528 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (57.2138pt too wide) in paragraph at lines 1531--1533 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (0.81381pt too wide) in paragraph at lines 1536--1538 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, Overfull \hbox (0.81381pt too wide) in paragraph at lines 1541--1543 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, [57] Overfull \hbox (25.80045pt too wide) in paragraph at lines 1577--1579 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (27.2138pt too wide) in paragraph at lines 1583--1585 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine[ ][][]with[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (27.2138pt too wide) in paragraph at lines 1586--1588 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine[ ][][]with[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (3.79532pt too wide) in paragraph at lines 1599--1601 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unconst rain[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 1602--1604 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affine[ ][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) [58] Overfull \hbox (5.85234pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]refine[][][]with[] [][]congruences[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]const[][][][]Congruence[][][][]System[] Overfull \hbox (0.82236pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]affine[][][]image[ ][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension[][] []type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (9.33069pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, enum Overfull \hbox (32.23175pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Double[][][][]Box[][][]t [][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.37874pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]remove[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]dimension[][][]type[][] ds[]$ $[], size[] [127 Overfull \hbox (0.19531pt too wide) in paragraph at lines 1605--1607 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affine[ ][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 1608--1610 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounded [][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1611--1613 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounded [][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 1614--1616 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 1617--1619 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1620--1622 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 1623--1625 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]general ized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1626--1628 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wrap[][ ][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[] [59]] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1648--1650 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simplif y[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 1651--1653 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]linear[ ][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, Overfull \hbox (31.39532pt too wide) in paragraph at lines 1658--1660 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H[ ]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Ha ndle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1661--1663 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[] [][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1670--1672 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]widenin g[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 1676--1678 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] [60] Overfull \hbox (25.39532pt too wide) in paragraph at lines 1679--1681 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 1682--1684 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 1685--1687 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1688--1690 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 1691--1693 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 1710--1712 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] [61 Overfull \hbox (8.12848pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]map[][][]space[][] []dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][] dimension[][][]type[][] maps[]$ $[], size[] Overfull \hbox (6.6776pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][] []non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.24174pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[] C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Do uble[][][][]Box[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (13.81174pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Constraint[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[][][][]S ystem[] Overfull \hbox (10.43216pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Generator[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[][][][]Sys tem[] Overfull \hbox (2.53229pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (0.31232pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (8.11209pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.89212pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (6.40175pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] Overfull \hbox (4.18178pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] [128]] Overfull \hbox (27.79532pt too wide) in paragraph at lines 1713--1715 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 1716--1718 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove[ ][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var s) Overfull \hbox (18.19531pt too wide) in paragraph at lines 1719--1721 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove[ ][][]higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 1722--1724 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expand[ ][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 1725--1727 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold[][ ][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 1747--1749 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 1754--1756 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (3.2138pt too wide) in paragraph at lines 1757--1759 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][]congruences(+[]Congruence[][][][]System, -[]Handle) [62 Overfull \hbox (1.9221pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [129] Underfull \hbox (badness 10000) in paragraph at lines 1768--1769 Overfull \hbox (28.99533pt too wide) in paragraph at lines 1792--1794 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 1792--1794 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 1795--1797 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 1795--1797 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1804--1806 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 1807--1809 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[] [63]] Overfull \hbox (13.39532pt too wide) in paragraph at lines 1810--1812 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[ ] Overfull \hbox (12.81381pt too wide) in paragraph at lines 1813--1815 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 1816--1818 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (11.61383pt too wide) in paragraph at lines 1819--1821 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (11.61383pt too wide) in paragraph at lines 1822--1824 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+ []Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 1825--1827 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 1828--1830 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (46.41382pt too wide) in paragraph at lines 1831--1833 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 1834--1836 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 1837--1839 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] [64] Overfull \hbox (3.0421pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class Overfull \hbox (3.4633pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (17.3135pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double [][][][]Box[][][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (29.44342pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][] [][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.60333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[ ]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[]C[] [130 Overfull \hbox (4.99533pt too wide) in paragraph at lines 1880--1882 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strictl y[][][]contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, +[] Overfull \hbox (32.59534pt too wide) in paragraph at lines 1883--1885 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][][ ]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][ ]1, +[]Handle[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1905--1907 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1905--1907 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (44.5953pt too wide) in paragraph at lines 1908--1910 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 1908--1910 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . [65]] Overfull \hbox (56.5953pt too wide) in paragraph at lines 1911--1913 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relatio n[][][]with[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 1911--1913 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (0.19531pt too wide) in paragraph at lines 1920--1922 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][] []minimized[][][]constraints(+[]Handle, ?Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 1923--1925 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][] []minimized[][][]congruences(+[]Handle, ?Congruence[][][] Overfull \hbox (57.2138pt too wide) in paragraph at lines 1926--1928 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (57.2138pt too wide) in paragraph at lines 1931--1933 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimiz e(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (0.81381pt too wide) in paragraph at lines 1936--1938 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, Overfull \hbox (0.81381pt too wide) in paragraph at lines 1941--1943 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimiz e[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, [66] Overfull \hbox (17.61194pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Grid[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][] [][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (9.21332pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ratio nal[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (0.13283pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.25282pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (8.05254pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (9.17253pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (10.78336pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Doubl e[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Double[][][][]Box[][][]from[][][][]Double[][][][]Box[] Overfull \hbox (2.46303pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[][][] [131] Overfull \hbox (25.80045pt too wide) in paragraph at lines 1977--1979 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (27.2138pt too wide) in paragraph at lines 1983--1985 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine[ ][][]with[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (27.2138pt too wide) in paragraph at lines 1986--1988 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine[ ][][]with[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (3.79532pt too wide) in paragraph at lines 1999--2001 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unconst rain[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 2002--2004 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affine[ ][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) [67] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2005--2007 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affine[ ][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2008--2010 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounded [][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2011--2013 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounded [][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2014--2016 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2017--2019 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2020--2022 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2023--2025 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]general ized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2026--2028 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wrap[][ ][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[] [68 Overfull \hbox (17.10274pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.68216pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Const raint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Constraint[][][][]System ( Overfull \hbox (7.23222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Congr uence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Congruence[][][][]System ( [132]] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2048--2050 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simplif y[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 2051--2053 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]linear[ ][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2058--2060 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H[ ]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Ha ndle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2061--2063 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[] [][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2070--2072 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]widenin g[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2076--2078 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] [69] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2079--2081 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 2082--2084 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2085--2087 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 2088--2090 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 2091--2093 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited [][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2110--2112 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] [70 [133]] [134 Overfull \hbox (27.79532pt too wide) in paragraph at lines 2113--2115 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][] []space[][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2116--2118 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove[ ][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var s) Overfull \hbox (18.19531pt too wide) in paragraph at lines 2119--2121 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove[ ][][]higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 2122--2124 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expand[ ][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2125--2127 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold[][ ][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2147--2149 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2154--2156 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]constraints(+[]Constraint[][][][]System, -[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2157--2159 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]congruences(+[]Congruence[][][][]System, -[] [71]] Overfull \hbox (9.26186pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]strictly[][][]contains[][] [][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] strictly[][][]contains[][][][]Double[][][][]Box ( Overfull \hbox (0.412pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]is[][][]disjoint[][][]from [][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[] [][]is[][][]disjoint[][][]from[][][][]Double[][][][]Box ( [135 Overfull \hbox (0.19531pt too wide) in paragraph at lines 2160--2162 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][]generators(+[]Generator[][][][]System, -[] Underfull \hbox (badness 10000) in paragraph at lines 2168--2169 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2174--2176 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2177--2179 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2183--2185 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Rational[][][][]Box(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2186--2188 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 2186--2188 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2189--2191 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 2189--2191 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2192--2194 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2195--2197 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2201--2203 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] [72]] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2204--2206 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 2207--2209 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 2210--2212 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (54.81381pt too wide) in paragraph at lines 2213--2215 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (22.41382pt too wide) in paragraph at lines 2216--2218 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 2219--2221 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 2222--2224 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2225--2227 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2228--2230 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2231--2233 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 2234--2236 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 2237--2239 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity (+[] [73 [136]] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2277--2279 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]co ntains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2280--2282 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]st rictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 2283--2285 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]is [][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2286--2288 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]eq uals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][] [74] Overfull \hbox (0.60197pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]upper[][][]bound[][][]assi gn[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] upper[][][]bound[][][]assign[][][]if[][][]exact ( Overfull \hbox (6.14165pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][]c ontext[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]sim plify[][][]using[][][]context[][][]assign Overfull \hbox (8.35168pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstrai n[][][]space[][][]dimension ( Overfull \hbox (7.44157pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstra in[][][]space[][][]dimensions [137] Overfull \hbox (5.6138pt too wide) in paragraph at lines 2302--2304 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]dimension(+[]Handle, ?Dimension[][][][]Type) Overfull \hbox (29.6138pt too wide) in paragraph at lines 2305--2307 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2308--2310 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (29.6138pt too wide) in paragraph at lines 2311--2313 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re lation[][][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2314--2316 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 2317--2319 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (38.5953pt too wide) in paragraph at lines 2320--2322 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]minimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 2323--2325 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge t[][][]minimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2326--2328 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ma ximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2331--2333 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]mi nimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2336--2338 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ma ximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2341--2343 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]mi nimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] [75] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2346--2348 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ex ternal[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2371--2373 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2374--2376 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2377--2379 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2380--2382 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (32.5953pt too wide) in paragraph at lines 2383--2385 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2386--2388 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re fine[][][]with[][][]congruences( +[]Handle, +[]Congruence[] [76 Overfull \hbox (2.58203pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]generalize d[][][]affine[][][]preimage ( Overfull \hbox (6.62314pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]generalized[][][]affine[][][]image[] Overfull \hbox (35.28304pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]generalized[][][]affine[][][]preimage[] Overfull \hbox (11.95317pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][ ][]add[][][]space[][][]dimensions[][][]and[] Overfull \hbox (13.9832pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]add[][][]space[][][]dimensions[][][]and[] [138]] Overfull \hbox (26.65173pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]higher[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]re move[][][]higher[][][]space[][][]dimensions Overfull \hbox (2.832pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][ ]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (20.41351pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]drop[][][]some[][][]non[][][]integer[][][]points[] [139 Overfull \hbox (2.5953pt too wide) in paragraph at lines 2396--2398 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]un constrain[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 2399--2401 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]un constrain[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2402--2404 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (14.61084pt too wide) in paragraph at lines 2402--2404 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (0.19531pt too wide) in paragraph at lines 2405--2407 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2408--2410 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]bo unded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2411--2413 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]bo unded[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (9.2138pt too wide) in paragraph at lines 2414--2416 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 2417--2419 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2420--2422 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 2423--2425 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ge neralized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, [77]] Overfull \hbox (24.81381pt too wide) in paragraph at lines 2426--2428 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]wr ap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2445--2447 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]up per[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2448--2450 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]si mplify[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2451--2453 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li near[][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2458--2460 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[] [78] Overfull \hbox (1.8932pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][] []assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][] Box[][][][]C[]C76[][][]widening[][][]assign[][][] Overfull \hbox (3.27177pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][][] with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]widen ing[][][]assign[][][]with[][][]tokens ( Overfull \hbox (25.9632pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]limited[][][][]C[]C76[][][]extrapolation[] [140] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2461--2463 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 2464--2466 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]wi dening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.24307pt too wide) in paragraph at lines 2464--2466 \OT1/ptm/m/it/10 Same as pred-i-cate \OT1/pcr/m/sl/10 ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[][][][]H79[][][]widening[][][]assign[][][]with[][] []tokens\OT1/ptm/m/it/10 /4 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2470--2472 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][] Overfull \hbox (19.9953pt too wide) in paragraph at lines 2470--2472 \OT1/pcr/m/n/10 tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]Constraint[][][][ ]System, +[]C[][][]unsigned[][][]1, ?C[][][]unsigned[] Overfull \hbox (37.39532pt too wide) in paragraph at lines 2473--2475 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2476--2478 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2479--2481 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2482--2484 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][] C[]C76[][][]narrowing[][][]assign(+[]Handle[][][]1, +[]Handle[] [79] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2498--2500 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2501--2503 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2504--2506 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re move[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2507--2509 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]re move[][][]higher[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2510--2512 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]ex pand[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2513--2515 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]fo ld[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2535--2537 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] [80] Overfull \hbox (15.36191pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co nstraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Constraint[][][][]System Overfull \hbox (1.09346pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co ngruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Congruence[][][] Overfull \hbox (8.88197pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Ge nerator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][] Box[][][]recycle[][][][]Generator[][][][]System [141] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2542--2544 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]constraints(+[]Constraint[][][][]System, -[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 2545--2547 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]congruences(+[]Congruence[][][][]System, -[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2548--2550 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][]generators(+[]Generator[][][][]System, -[] Underfull \hbox (badness 10000) in paragraph at lines 2556--2557 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2562--2564 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2565--2567 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2571--2573 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Rational[][][][]Box(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2574--2576 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 2574--2576 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 2577--2579 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]H andle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 2577--2579 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2580--2582 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[] [81] Overfull \hbox (7.39532pt too wide) in paragraph at lines 2583--2585 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2589--2591 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2592--2594 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 2595--2597 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (1.39532pt too wide) in paragraph at lines 2598--2600 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (54.81381pt too wide) in paragraph at lines 2601--2603 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (22.41382pt too wide) in paragraph at lines 2604--2606 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (20.59534pt too wide) in paragraph at lines 2607--2609 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (20.59534pt too wide) in paragraph at lines 2610--2612 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complex ity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2613--2615 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]co mplexity(+[] Overfull \hbox (62.59534pt too wide) in paragraph at lines 2616--2618 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]co mplexity(+[] [82 Overfull \hbox (13.21346pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (11.54353pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]P[]R[][][][]Double[] Overfull \hbox (17.46326pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (15.79333pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]P[]R[][][][]Double[] Overfull \hbox (21.81346pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (20.14354pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]P[]R[][][][]Double[] [142]] Overfull \hbox (10.41382pt too wide) in paragraph at lines 2619--2621 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 2622--2624 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 2625--2627 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity (+[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2665--2667 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]co ntains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2668--2670 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]st rictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 2671--2673 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]is [][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2674--2676 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]eq uals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][] [83] Overfull \hbox (5.6138pt too wide) in paragraph at lines 2690--2692 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]dimension(+[]Handle, ?Dimension[][][][]Type) Overfull \hbox (29.6138pt too wide) in paragraph at lines 2693--2695 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2696--2698 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (29.6138pt too wide) in paragraph at lines 2699--2701 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re lation[][][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (17.6138pt too wide) in paragraph at lines 2702--2704 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 2705--2707 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (38.5953pt too wide) in paragraph at lines 2708--2710 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]minimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 2711--2713 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge t[][][]minimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2714--2716 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ma ximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2719--2721 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]mi nimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [84 Overfull \hbox (26.06326pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (24.39334pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]P[]R[][][][]Double[] ) (./interfaceppl__Generator__System__const__iterator__tag.tex] [143 Overfull \hbox (36.19531pt too wide) in paragraph at lines 2724--2726 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ma ximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (36.19531pt too wide) in paragraph at lines 2729--2731 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]mi nimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2734--2736 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ex ternal[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2759--2761 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]constraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2762--2764 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (23.6138pt too wide) in paragraph at lines 2765--2767 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]constraint( +[]Handle, +[]Constraint) [85]] Overfull \hbox (23.6138pt too wide) in paragraph at lines 2768--2770 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (32.5953pt too wide) in paragraph at lines 2771--2773 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 2774--2776 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re fine[][][]with[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 2784--2786 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]un constrain[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 2787--2789 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]un constrain[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2790--2792 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (14.61084pt too wide) in paragraph at lines 2790--2792 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (0.19531pt too wide) in paragraph at lines 2793--2795 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2796--2798 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]bo unded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 2799--2801 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]bo unded[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (9.2138pt too wide) in paragraph at lines 2802--2804 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 2805--2807 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] [86] Overfull \hbox (20.03731pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][]it erator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (28.62701pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][ ]iterator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (8.34723pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Generator[][][][]Sys tem[][][]const[][][]iterator[] Overfull \hbox (0.86711pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Generator[][][][ ]System[][][]const[][][]iterator[] ) (./interfaceppl__Generator__System__tag.tex Overfull \hbox (15.79532pt too wide) in paragraph at lines 2808--2810 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (12.81381pt too wide) in paragraph at lines 2811--2813 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ge neralized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, Overfull \hbox (24.81381pt too wide) in paragraph at lines 2814--2816 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]wr ap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (31.39532pt too wide) in paragraph at lines 2833--2835 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]up per[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2836--2838 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]si mplify[][][]using[][][]context[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2839--2841 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li near[][][]partition(+[]Handle[][][]1, +[]Handle[][][]2, -[] [87] Overfull \hbox (18.41797pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][] ([][]ppl[][][][]Generator[][][][]System[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (7.88792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Generator[][][][]System [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[] [144] Overfull \hbox (9.79532pt too wide) in paragraph at lines 2846--2848 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2849--2851 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] B[]H[]M[]Z05[][][]widening[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 2852--2854 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]wi dening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.24307pt too wide) in paragraph at lines 2852--2854 \OT1/ptm/m/it/10 Same as pred-i-cate \OT1/pcr/m/sl/10 ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[][][][]H79[][][]widening[][][]assign[][][]with[][] []tokens\OT1/ptm/m/it/10 /4 Overfull \hbox (1.39532pt too wide) in paragraph at lines 2858--2860 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][] Overfull \hbox (19.9953pt too wide) in paragraph at lines 2858--2860 \OT1/pcr/m/n/10 tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]Constraint[][][][ ]System, +[]C[][][]unsigned[][][]1, ?C[][][]unsigned[] Overfull \hbox (37.39532pt too wide) in paragraph at lines 2861--2863 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2864--2866 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2867--2869 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]li mited[][][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 2870--2872 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][] C[]C76[][][]narrowing[][][]assign(+[]Handle[][][]1, +[]Handle[] [88] Overfull \hbox (5.21785pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]begin[][] ([][]ppl[][][]const[][][][]Generator[][][][]System[][][]t[][] gs, [][]ppl[][][ ][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Generator__tag.tex [145 Overfull \hbox (3.79532pt too wide) in paragraph at lines 2886--2888 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, +[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2889--2891 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ad d[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2892--2894 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re move[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 2895--2897 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]re move[][][]higher[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 2898--2900 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]ex pand[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2901--2903 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]fo ld[][][]space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] [89]] Overfull \hbox (39.79532pt too wide) in paragraph at lines 2923--2925 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 2930--2932 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]constraints(+[]Constraint[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 2933--2935 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][]congruences(+[]Congruence[] Underfull \hbox (badness 10000) in paragraph at lines 2941--2942 Overfull \hbox (3.79532pt too wide) in paragraph at lines 2947--2949 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 2950--2952 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 2953--2955 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Grid(+[]Handle[][][]1, -[]Handle[] [90] Overfull \hbox (3.79532pt too wide) in paragraph at lines 2956--2958 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box(+[]Handle[] Overfull \hbox (34.99533pt too wide) in paragraph at lines 2959--2961 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class (+[]Handle[] Overfull \hbox (34.99533pt too wide) in paragraph at lines 2962--2964 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class (+[]Handle[] Overfull \hbox (40.99533pt too wide) in paragraph at lines 2965--2967 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class(+[] Overfull \hbox (40.99533pt too wide) in paragraph at lines 2968--2970 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class(+[] Overfull \hbox (0.86227pt too wide) in paragraph at lines 2968--2970 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2971--2973 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box(+[]Handle[][][]1, - [] Overfull \hbox (19.39532pt too wide) in paragraph at lines 2974--2976 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Hand le[] Overfull \hbox (8.36278pt too wide) in paragraph at lines 2974--2976 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the bd[][][]shape[][][]double ref-er-enced by han-dle \OT1 /pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (25.39532pt too wide) in paragraph at lines 2977--2979 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[ ] Overfull \hbox (1.39532pt too wide) in paragraph at lines 2980--2982 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][] Overfull \hbox (58.99533pt too wide) in paragraph at lines 2983--2985 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]co mplexity(+[] Overfull \hbox (70.99533pt too wide) in paragraph at lines 2986--2988 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[] [][]complexity(+[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 2989--2991 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexity(+[] Overfull \hbox (58.99533pt too wide) in paragraph at lines 2992--2994 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]co mplexity(+[] [91 [146]) (./interfaceppl__Grid__Generator__System__const__iterator__tag.tex] Overfull \hbox (14.59534pt too wide) in paragraph at lines 2995--2997 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]with[] Overfull \hbox (14.59534pt too wide) in paragraph at lines 2998--3000 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]with[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 3001--3003 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[] Overfull \hbox (28.99533pt too wide) in paragraph at lines 3004--3006 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[] Overfull \hbox (0.86227pt too wide) in paragraph at lines 3004--3006 \OT1/ptm/m/it/10 Builds a new con-straints prod-uct \OT1/pcr/m/sl/10 P[][][]1 \ OT1/ptm/m/it/10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 3007--3009 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]comp lexity(+[] Overfull \hbox (2.59534pt too wide) in paragraph at lines 3010--3012 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]wi th[][][] Overfull \hbox (13.39532pt too wide) in paragraph at lines 3013--3015 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3016--3018 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][] [92] Overfull \hbox (20.31735pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][][]S ystem[][][]const[][][]iterator[][] ([][]ppl[] Overfull \hbox (2.36742pt too wide) in paragraph at lines 19--21 [][][]\OT1/ptm/bc/n/10 Grid[][][][]Generator[][][][]System[][][]const[][][]iter ator[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgit, [][]ppl[][][]const [][][][]Grid[][][][]Generator[][][][]System[][][]const[][][]iterator[] Overfull \hbox (1.91568pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][] []System[][][]const[][][]iterator[][] Overfull \hbox (10.18723pt too wide) in paragraph at lines 22--24 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Grid[][][][]Generator[][][][]System[][][]const [][][]iterator[][][]t[][] dst, [][]ppl[][][]const[][][][]Grid[][][][]Generator[ ][][][]System[][][]const[][][]iterator[] Overfull \hbox (20.85709pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Grid[][][][]Generator [][][][]System[][][]const[][][]iterator[] Overfull \hbox (12.24728pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Grid [][][][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Grid__Generator__System__tag.tex [147] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3041--3043 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]is[][][]topologically[][][]closed(+[]Handle) Overfull \hbox (0.19531pt too wide) in paragraph at lines 3047--3049 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounds[][][]from[][][]above(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3050--3052 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounds[][][]from[][][]below(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3053--3055 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 3056--3058 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3059--3061 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][][] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3062--3064 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C[][][] Overfull \hbox (44.5953pt too wide) in paragraph at lines 3075--3077 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (50.5953pt too wide) in paragraph at lines 3078--3080 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3081--3083 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]constraint(+[]Handle, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3084--3086 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]generator(+[]Handle, [93] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3087--3089 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]relation[][][]with[][][]congruence(+[]Handle, Overfull \hbox (44.5953pt too wide) in paragraph at lines 3090--3092 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (44.5953pt too wide) in paragraph at lines 3095--3097 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3100--3102 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]maximize[][][]with[][][]point(+[]Handle, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3105--3107 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]minimize[][][]with[][][]point(+[]Handle, +[] Overfull \hbox (18.81381pt too wide) in paragraph at lines 3110--3112 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, Overfull \hbox (0.81381pt too wide) in paragraph at lines 3113--3115 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, [94] Overfull \hbox (4.49792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][][][ ]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.08763pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][] [][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.24803pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]begin[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][] []t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (5.61804pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]end[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][][] t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (2.72562pt too wide) in paragraph at lines 73--75 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][] System[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) [148 Overfull \hbox (41.6138pt too wide) in paragraph at lines 3129--3131 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]constraint(+[]Handle, +[]Constraint) Overfull \hbox (41.6138pt too wide) in paragraph at lines 3132--3134 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (56.5953pt too wide) in paragraph at lines 3135--3137 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (56.5953pt too wide) in paragraph at lines 3138--3140 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3141--3143 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]constraint( +[]Handle, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3144--3146 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]congruence( +[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3147--3149 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]constraints( +[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3150--3152 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]refine[][][]with[][][]congruences( +[]Handle, Overfull \hbox (0.19531pt too wide) in paragraph at lines 3157--3159 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]topological[][][]closure[][][]assign(+[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 3160--3162 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension(+[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3163--3165 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]unconstrain[][][]space[][][]dimensions(+[] [95]]) (./interfaceppl__Grid__Generator__tag.tex Overfull \hbox (9.2138pt too wide) in paragraph at lines 3166--3168 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3169--3171 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]affine[][][]preimage(+[]Handle, +[]P[]P[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3172--3174 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounded[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3175--3177 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]bounded[][][]affine[][][]preimage(+[]Handle, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3178--3180 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]image(+[]Handle, Overfull \hbox (6.19531pt too wide) in paragraph at lines 3181--3183 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]preimage(+[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3184--3186 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3187--3189 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3194--3196 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]intersection[][][]assign(+[]Handle[][][] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3197--3199 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3200--3202 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]difference[][][]assign(+[]Handle[][][]1, +[] [96] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3203--3205 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3206--3208 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 3213--3215 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3216--3218 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]widening[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3225--3227 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]concatenate[][][]assign(+[]Handle[][][]1, +[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3232--3234 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[] Overfull \hbox (31.39532pt too wide) in paragraph at lines 3235--3237 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3238--3240 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]remove[][][]space[][][]dimensions(+[]Handle, [97 [149]]) (./interfaceppl__Grid__tag.tex Overfull \hbox (21.79532pt too wide) in paragraph at lines 3241--3243 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions(+[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3244--3246 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]expand[][][]space[][][]dimension(+[]Handle, Overfull \hbox (3.2138pt too wide) in paragraph at lines 3247--3249 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]fold[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (18.19531pt too wide) in paragraph at lines 3250--3252 []\OT1/pcr/m/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[][][][]Grid[][][]map[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3269--3271 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (21.2138pt too wide) in paragraph at lines 3276--3278 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]constraints(+[]Constraint[][][][]System, Overfull \hbox (21.2138pt too wide) in paragraph at lines 3279--3281 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][]congruences(+[]Congruence[][][][]System, [98] Overfull \hbox (3.80247pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][ ][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron [] [150 Underfull \hbox (badness 10000) in paragraph at lines 3287--3288 Overfull \hbox (31.39532pt too wide) in paragraph at lines 3293--3295 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron (+[] Overfull \hbox (10.35161pt too wide) in paragraph at lines 3293--3295 \OT1/ptm/m/it/10 Builds a new pointset pow-er-set \OT1/pcr/m/sl/10 P[][][]1 \OT 1/ptm/m/it/10 from the pointset[][][]powerset[][][]c[][][]polyhedron ref-er-enc ed by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 3296--3298 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3299--3301 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron [] Overfull \hbox (10.35161pt too wide) in paragraph at lines 3299--3301 \OT1/ptm/m/it/10 Builds a new pointset pow-er-set \OT1/pcr/m/sl/10 P[][][]1 \OT 1/ptm/m/it/10 from the pointset[][][]powerset[][][]c[][][]polyhedron ref-er-enc ed by han-dle \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 3302--3304 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[] Overfull \hbox (3.2138pt too wide) in paragraph at lines 3336--3338 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounds[][][]from[][][]above(+[]Handle, +[]Lin[][][][]Expr) Overfull \hbox (3.2138pt too wide) in paragraph at lines 3339--3341 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounds[][][]from[][][]below(+[]Handle, +[]Lin[][][][]Expr) [99]] Overfull \hbox (33.79532pt too wide) in paragraph at lines 3342--3344 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron(+[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3345--3347 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3348--3350 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3351--3353 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3354--3356 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3357--3359 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron(+[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3370--3372 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (10.9953pt too wide) in paragraph at lines 3373--3375 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3376--3378 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]constraint(+[]Handle, +[] Overfull \hbox (47.6138pt too wide) in paragraph at lines 3379--3381 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3382--3384 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]relation[][][]with[][][]congruence(+[]Handle, +[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3385--3387 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] [100 Overfull \hbox (1.55243pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][] []Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[] [][][]Shape[] Overfull \hbox (27.93198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[ ][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (6.9618pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][] []Generator[][][][]System[][] ([][]ppl[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid[][][][]Generator[][][ ][]System[] Overfull \hbox (3.21011pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][ ][]Congruence[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p cs) Overfull \hbox (7.22137pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]grid[][ ][]generators[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (28.41115pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]maximize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (26.7511pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]minimize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] [151] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3390--3392 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3395--3397 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, Overfull \hbox (15.2138pt too wide) in paragraph at lines 3400--3402 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, Overfull \hbox (33.2138pt too wide) in paragraph at lines 3405--3407 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (15.2138pt too wide) in paragraph at lines 3408--3410 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (2.0138pt too wide) in paragraph at lines 3427--3429 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]constraint(+[]Handle, +[]Constraint) [101]] Overfull \hbox (2.0138pt too wide) in paragraph at lines 3430--3432 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (16.9953pt too wide) in paragraph at lines 3433--3435 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3436--3438 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (53.6138pt too wide) in paragraph at lines 3439--3441 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (53.6138pt too wide) in paragraph at lines 3442--3444 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (2.5953pt too wide) in paragraph at lines 3445--3447 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]constraints( +[]Handle, +[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3448--3450 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]refine[][][]with[][][]congruences( +[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3464--3466 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]unconstrain[][][]space[][][]dimension(+[]Handle, +[] Overfull \hbox (5.6138pt too wide) in paragraph at lines 3467--3469 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]unconstrain[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (8.5953pt too wide) in paragraph at lines 3470--3472 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (19.06027pt too wide) in paragraph at lines 3470--3472 \OT1/ptm/m/it/10 Transforms the pointset pow-er-set ref-er-enced by \OT1/pcr/m/ sl/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/ m/sl/10 Lin[][][][]Expr/Coeff [102] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3473--3475 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3476--3478 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounded[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3479--3481 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]bounded[][][]affine[][][]preimage(+[]Handle, +[]P[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3482--3484 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3485--3487 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]preimage(+[]Handle, +[] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3488--3490 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, Overfull \hbox (9.79532pt too wide) in paragraph at lines 3491--3493 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3498--3500 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]intersection[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3501--3503 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3504--3506 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]difference[][][]assign(+[]Handle[][][]1, +[]Handle[] [103 Overfull \hbox (24.14204pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]bounded[][][]affine[][][]image[ ][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] va r, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.17998pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum Overfull \hbox (4.87045pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]dimension[][][]type[][] var, enum Overfull \hbox (1.3616pt too wide) in paragraph at lines 187--189 [][]\OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]c onst[][][][]Coefficient[][][]t[][] d, [][]ppl[] [152]] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3507--3509 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 3510--3512 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3513--3515 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]simplify[][][]using[][][]context[][][]assign(+[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3520--3522 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][]a ssign(+[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3523--3525 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign(+[]Handle[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3526--3528 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign(+[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3529--3531 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3538--3540 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]concatenate[][][]assign(+[]Handle[][][]1, +[]Handle[] [104] Overfull \hbox (5.27174pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]pr eimage[][][]lhs[][][]rhs[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][] []t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.88818pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]fold[][][]space[][][]dimensions [][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] d s[]$ $[], size[][][]t n, [][]ppl[][][]dimension[] Overfull \hbox (9.77875pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]wrap[][][]assign[][] ([][]ppl[] [][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], size[ ][][]t n, enum [][]ppl[][][]enum[][][][]Bounded[] Overfull \hbox (8.82231pt too wide) in paragraph at lines 237--239 [][][]\OT1/ptm/bc/n/10 Bounded[][][][]Integer[][][][]Type[][][][]Overflow[][] o , const [][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cms y/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, un-signed complexity[] [153 Overfull \hbox (12.81381pt too wide) in paragraph at lines 3545--3547 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, Overfull \hbox (24.81381pt too wide) in paragraph at lines 3548--3550 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[]Handle, Overfull \hbox (20.5953pt too wide) in paragraph at lines 3551--3553 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]remove[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3554--3556 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]remove[][][]higher[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3557--3559 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]expand[][][]space[][][]dimension(+[]Handle, +[]P[]P[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3560--3562 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]fold[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (1.7817pt too wide) in paragraph at lines 3560--3562 \OT1/ptm/m/it/10 Modifies the pointset pow-er-set ref-er-enced by \OT1/pcr/m/sl /10 Handle \OT1/ptm/m/it/10 by fold-ing the space di-men-sions con-tained in \O T1/pcr/m/sl/10 List[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 3563--3565 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]map[][][]space[][][]dimensions(+[]Handle, +[]P[][][][]Func) Overfull \hbox (6.19531pt too wide) in paragraph at lines 3570--3572 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]from[][][]iterator(+[]Iterator[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3579--3581 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]iterator[][][]equals[][][]iterator(+[]Iterator[][][] [105]] Overfull \hbox (29.6138pt too wide) in paragraph at lines 3588--3590 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]iterator[][][]get[][][]disjunct(+[]Iterator, -[]Handle) Overfull \hbox (20.5953pt too wide) in paragraph at lines 3600--3602 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]drop[][][]disjuncts(+[]Handle, +[]Iterator[][][]1, +[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3619--3621 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]space[][][]dimension(+[]Dimension[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3626--3628 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]constraints(+[]Constraint[][][] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3629--3631 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][]congruences(+[]Congruence[][][] [106] Overfull \hbox (4.96187pt too wide) in paragraph at lines 269--271 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.7419pt too wide) in paragraph at lines 271--273 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (4.41154pt too wide) in paragraph at lines 273--275 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.19157pt too wide) in paragraph at lines 275--277 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] [154 Underfull \hbox (badness 10000) in paragraph at lines 3637--3638 Overfull \hbox (55.39532pt too wide) in paragraph at lines 3643--3645 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] []Polyhedron(+[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 3646--3648 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, - [] Overfull \hbox (43.39532pt too wide) in paragraph at lines 3649--3651 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] []Polyhedron[] Overfull \hbox (43.39532pt too wide) in paragraph at lines 3652--3654 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]comp lexity(+[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3686--3688 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounds[][][]from[][][]above(+[]Handle, +[]Lin[][][][]Expr) [107]] Overfull \hbox (15.2138pt too wide) in paragraph at lines 3689--3691 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounds[][][]from[][][]below(+[]Handle, +[]Lin[][][][]Expr) Overfull \hbox (57.79532pt too wide) in paragraph at lines 3692--3694 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron(+[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3695--3697 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 3698--3700 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3701--3703 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3704--3706 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[] Overfull \hbox (45.79532pt too wide) in paragraph at lines 3707--3709 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyh edron(+[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3720--3722 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]space[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 3723--3725 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]dimension(+[]Handle, ?Dimension[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3726--3728 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]constraint(+[]Handle, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3729--3731 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]generator(+[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3732--3734 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]relation[][][]with[][][]congruence(+[]Handle, +[] [108] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3735--3737 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]maximize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 3740--3742 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]minimize(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3745--3747 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]maximize[][][]with[][][]point(+[]Handle, +[]Lin[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3750--3752 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]minimize[][][]with[][][]point(+[]Handle, +[]Lin[] Overfull \hbox (45.2138pt too wide) in paragraph at lines 3755--3757 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]external[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) Overfull \hbox (27.2138pt too wide) in paragraph at lines 3758--3760 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]total[][][]memory[][][]in[][][]bytes(+[]Handle, ?Number) [109] Overfull \hbox (8.37189pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class Overfull \hbox (9.49188pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class Overfull \hbox (36.272pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Pol yhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Gr id[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[] [155 Overfull \hbox (14.0138pt too wide) in paragraph at lines 3777--3779 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]constraint(+[]Handle, +[]Constraint) Overfull \hbox (14.0138pt too wide) in paragraph at lines 3780--3782 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]congruence(+[]Handle, +[]Congruence) Overfull \hbox (28.9953pt too wide) in paragraph at lines 3783--3785 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (28.9953pt too wide) in paragraph at lines 3786--3788 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3789--3791 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]constraint( +[]Handle, +[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3792--3794 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]congruence( +[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3795--3797 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]constraints( +[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3798--3800 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]refine[][][]with[][][]congruences( +[]Handle, +[] Overfull \hbox (5.6138pt too wide) in paragraph at lines 3805--3807 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]topological[][][]closure[][][]assign(+[]Handle) Overfull \hbox (11.6138pt too wide) in paragraph at lines 3814--3816 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]unconstrain[][][]space[][][]dimension(+[]Handle, Overfull \hbox (17.6138pt too wide) in paragraph at lines 3817--3819 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]unconstrain[][][]space[][][]dimensions(+[]Handle, [110]] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3820--3822 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (19.06027pt too wide) in paragraph at lines 3820--3822 \OT1/ptm/m/it/10 Transforms the pointset pow-er-set ref-er-enced by \OT1/pcr/m/ sl/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/ m/sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (20.5953pt too wide) in paragraph at lines 3823--3825 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 3826--3828 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounded[][][]affine[][][]image(+[]Handle, +[]P[]P[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3829--3831 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]bounded[][][]affine[][][]preimage(+[]Handle, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 3832--3834 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]image(+[]Handle, +[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 3835--3837 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]preimage(+[]Handle, Overfull \hbox (3.79532pt too wide) in paragraph at lines 3838--3840 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3841--3843 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[] Overfull \hbox (32.5953pt too wide) in paragraph at lines 3848--3850 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]intersection[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3851--3853 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]upper[][][]bound[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3854--3856 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]difference[][][]assign(+[]Handle[][][]1, +[]Handle[] [111] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3857--3859 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]time[][][]elapse[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 3860--3862 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]upper[][][]bound[][][]assign[][][]if[][][]exact(+[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 3863--3865 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]simplify[][][]using[][][]context[][][]assign(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3870--3872 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[ ][][]assign(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 3873--3875 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign(+[]Han dle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 3876--3878 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign(+[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 3879--3881 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (26.5953pt too wide) in paragraph at lines 3888--3890 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]concatenate[][][]assign(+[]Handle[][][]1, +[]Handle[] [112 Overfull \hbox (33.32191pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][]Bo x[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity Overfull \hbox (2.50291pt too wide) in paragraph at lines 399--400 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.7429pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.06262pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (20.18262pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (17.61194pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Box[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity [156] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3895--3897 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed(+[]Handle, Overfull \hbox (3.79532pt too wide) in paragraph at lines 3898--3900 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project(+[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3901--3903 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]remove[][][]space[][][]dimensions(+[]Handle, +[] Overfull \hbox (27.2138pt too wide) in paragraph at lines 3904--3906 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]remove[][][]higher[][][]space[][][]dimensions(+[]Handle, Overfull \hbox (2.5953pt too wide) in paragraph at lines 3907--3909 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]expand[][][]space[][][]dimension(+[]Handle, +[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 3910--3912 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]fold[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (1.7817pt too wide) in paragraph at lines 3910--3912 \OT1/ptm/m/it/10 Modifies the pointset pow-er-set ref-er-enced by \OT1/pcr/m/sl /10 Handle \OT1/ptm/m/it/10 by fold-ing the space di-men-sions con-tained in \O T1/pcr/m/sl/10 List[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 3913--3915 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]map[][][]space[][][]dimensions(+[]Handle, +[]P[][][] Overfull \hbox (18.19531pt too wide) in paragraph at lines 3920--3922 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]from[][][]iterator(+[]Iterator[] Overfull \hbox (2.0138pt too wide) in paragraph at lines 3923--3925 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]begin[][][]iterator(+[]Handle, -[]Iterator) [113]] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3929--3931 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]iterator[][][]equals[][][]iterator(+[]Iterator[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 3938--3940 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]iterator[][][]get[][][]disjunct(+[]Iterator, -[] Overfull \hbox (4.9953pt too wide) in paragraph at lines 3950--3952 []\OT1/pcr/m/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]drop[][][]disjuncts(+[]Handle, +[]Iterator[] Overfull \hbox (24.81381pt too wide) in paragraph at lines 3969--3971 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][]space[][ ][]dimension(+[]Dimension[][][][]Type, +[]Universe[][][]or[][][][]Empty, [114 Overfull \hbox (0.9931pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (6.0328pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Grid[][][]from[][][][]Octagonal[] [157] Underfull \hbox (badness 10000) in paragraph at lines 3990--3991 Overfull \hbox (17.45279pt too wide) in paragraph at lines 4014--4016 \OT1/ptm/m/it/10 Builds a new dou-ble box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/ it/10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (4.96313pt too wide) in paragraph at lines 4026--4028 \OT1/ptm/m/it/10 Builds a new dou-ble box \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/ it/10 from the octagonal[][][]shape[][][]double ref-er-enced by han-dle \OT1/pc r/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (15.2138pt too wide) in paragraph at lines 4029--4031 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][][ ][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, [115]] Overfull \hbox (27.2138pt too wide) in paragraph at lines 4032--4034 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[] C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (23.6138pt too wide) in paragraph at lines 4035--4037 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Grid[] [][]with[][][]complexity(+[]Handle, +[]Complexity, -[]Handle) Overfull \hbox (15.2138pt too wide) in paragraph at lines 4038--4040 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ration al[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (46.41382pt too wide) in paragraph at lines 4041--4043 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (46.41382pt too wide) in paragraph at lines 4044--4046 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (10.41382pt too wide) in paragraph at lines 4047--4049 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (10.41382pt too wide) in paragraph at lines 4050--4052 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle, Overfull \hbox (3.2138pt too wide) in paragraph at lines 4053--4055 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Double [][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (30.81381pt too wide) in paragraph at lines 4056--4058 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[] [][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (15.79532pt too wide) in paragraph at lines 4059--4061 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octago nal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[] [116 [158]] Overfull \hbox (13.3953pt too wide) in paragraph at lines 4127--4129 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]con straint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (27.45073pt too wide) in paragraph at lines 4127--4129 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (1.3953pt too wide) in paragraph at lines 4130--4132 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]gen erator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (21.45073pt too wide) in paragraph at lines 4130--4132 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (13.3953pt too wide) in paragraph at lines 4133--4135 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][]con gruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (27.45073pt too wide) in paragraph at lines 4133--4135 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Handle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . [117 [159] Overfull \hbox (23.6138pt too wide) in paragraph at lines 4148--4150 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]has[][][]upper[][][]bound(+ []Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (23.6138pt too wide) in paragraph at lines 4153--4155 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]has[][][]lower[][][]bound(+ []Handle, +[]Var, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (14.0138pt too wide) in paragraph at lines 4158--4160 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]maximize(+[]Handle, +[]Lin[ ][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (14.0138pt too wide) in paragraph at lines 4163--4165 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]minimize(+[]Handle, +[]Lin[ ][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (8.5953pt too wide) in paragraph at lines 4168--4170 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]maximize[][][]with[][][]poi nt(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 4173--4175 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]minimize[][][]with[][][]poi nt(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [118]] [119 [160] Overfull \hbox (1.38072pt too wide) in paragraph at lines 4237--4239 \OT1/ptm/m/it/10 Transforms the dou-ble box ref-er-enced by \OT1/pcr/m/sl/10 Ha ndle \OT1/ptm/m/it/10 sub-sti-tut-ing the affine ex-pres-sion for \OT1/pcr/m/sl /10 Lin[][][][]Expr/Coeff Overfull \hbox (12.19531pt too wide) in paragraph at lines 4240--4242 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][]im age(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[]Lin[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4243--4245 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][]pr eimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (29.6138pt too wide) in paragraph at lines 4246--4248 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[][][][]Symbol, Overfull \hbox (10.9953pt too wide) in paragraph at lines 4249--4251 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4252--4254 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, +[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 4255--4257 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][] []preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[][][]1, Overfull \hbox (41.6138pt too wide) in paragraph at lines 4258--4260 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]wrap[][][]assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representation, Underfull \vbox (badness 3503) has occurred while \output is active [120]] Overfull \hbox (27.2138pt too wide) in paragraph at lines 4280--4282 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][]co ntext[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (14.5953pt too wide) in paragraph at lines 4283--4285 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]linear[][][]partition(+[]Ha ndle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[]Handle[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4290--4292 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][][ ]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 4296--4298 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][][]w ith[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[]C[][][]unsigned[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4302--4304 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][] extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[] [121] [161 Overfull \hbox (12.19531pt too wide) in paragraph at lines 4305--4307 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][] extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 4327--4329 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimensi ons[][][]and[][][]project(+[]Handle, +[]Dimension[][][][]Type) Overfull \hbox (11.6138pt too wide) in paragraph at lines 4336--4338 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]expand[][][]space[][][]dime nsion(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[][][][]Type) Overfull \hbox (12.81381pt too wide) in paragraph at lines 4339--4341 []\OT1/pcr/m/n/10 ppl[][][][]Double[][][][]Box[][][]fold[][][]space[][][]dimens ions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[]P[]P[]L[][][][]V ar) [122]] [162 Overfull \hbox (6.19531pt too wide) in paragraph at lines 4361--4363 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][]space[][][]dimension(+[]Dimension[][][][]Type, +[]Universe[] Underfull \hbox (badness 10000) in paragraph at lines 4382--4383 [123]] Overfull \hbox (3.7116pt too wide) in paragraph at lines 807--808 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[][][]a ffine[][][]preimage[][][]lhs[][][]rhs Overfull \hbox (13.20297pt too wide) in paragraph at lines 813--814 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[] [][]affine[][][]image[][][]with[] [163 Overfull \hbox (13.39532pt too wide) in paragraph at lines 4406--4408 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 4406--4408 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4409--4411 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 4409--4411 \OT1/ptm/m/it/10 Builds a new bd shape \OT1/pcr/m/sl/10 P[][][]1 \OT1/ptm/m/it/ 10 from the octagonal[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \O T1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4418--4420 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (42.81381pt too wide) in paragraph at lines 4421--4423 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (54.81381pt too wide) in paragraph at lines 4424--4426 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, +[]Complex ity, Overfull \hbox (18.19531pt too wide) in paragraph at lines 4427--4429 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, -[] Overfull \hbox (42.81381pt too wide) in paragraph at lines 4430--4432 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (16.99533pt too wide) in paragraph at lines 4433--4435 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (16.99533pt too wide) in paragraph at lines 4436--4438 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[]Handle , +[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4439--4441 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4442--4444 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] [124]] Overfull \hbox (30.81381pt too wide) in paragraph at lines 4445--4447 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (1.39532pt too wide) in paragraph at lines 4448--4450 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 4451--4453 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, Overfull \hbox (9.79532pt too wide) in paragraph at lines 4494--4496 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][]c ontains[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4497--4499 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoin t[][][]from[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] [125] Overfull \hbox (19.78285pt too wide) in paragraph at lines 819--820 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalize d[][][]affine[][][]preimage[] Overfull \hbox (0.44244pt too wide) in paragraph at lines 825--826 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[ ][][]generalized[][][]affine[][][] Overfull \hbox (11.82233pt too wide) in paragraph at lines 831--832 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Gr id[][][]generalized[][][]affine[] [164] Overfull \hbox (40.9953pt too wide) in paragraph at lines 4519--4521 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]constraint(+[]Handle, +[]Constraint, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 4519--4521 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (28.9953pt too wide) in paragraph at lines 4522--4524 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]generator(+[]Handle, +[]Generator, ?Relation[] Overfull \hbox (13.12079pt too wide) in paragraph at lines 4522--4524 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Generator\OT1/ptm/m/it/10 . Overfull \hbox (40.9953pt too wide) in paragraph at lines 4525--4527 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][]w ith[][][]congruence(+[]Handle, +[]Congruence, ?Relation[] Overfull \hbox (19.12079pt too wide) in paragraph at lines 4525--4527 \OT1/ptm/m/it/10 Unifies \OT1/pcr/m/sl/10 Relation[][][][]List \OT1/ptm/m/it/10 with the list of re-la-tions the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Han dle \OT1/ptm/m/it/10 has with \OT1/pcr/m/sl/10 Congruence\OT1/ptm/m/it/10 . Overfull \hbox (17.6138pt too wide) in paragraph at lines 4534--4536 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minimi zed[][][]constraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (17.6138pt too wide) in paragraph at lines 4537--4539 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minimi zed[][][]congruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (41.6138pt too wide) in paragraph at lines 4540--4542 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize(+[]Han dle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (41.6138pt too wide) in paragraph at lines 4545--4547 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize(+[]Han dle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[][][]2, ?Boolean) Overfull \hbox (36.19531pt too wide) in paragraph at lines 4550--4552 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize[][][]w ith[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [126] Overfull \hbox (36.19531pt too wide) in paragraph at lines 4555--4557 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize[][][]w ith[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (25.80045pt too wide) in paragraph at lines 4591--4593 \OT1/ptm/m/it/10 Updates the bd shape ref-er-enced by \OT1/pcr/m/sl/10 Handle \ OT1/ptm/m/it/10 to one ob-tained by re-fin-ing its con-straint sys-tem with \OT 1/pcr/m/sl/10 Constraint\OT1/ptm/m/it/10 . Overfull \hbox (11.6138pt too wide) in paragraph at lines 4597--4599 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wit h[][][]constraints( +[]Handle, +[]Constraint[][][][]System) [127] Overfull \hbox (17.18285pt too wide) in paragraph at lines 903--904 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[][ ][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]congruence[][][ ]widening[][][]assign[][][]with[] Overfull \hbox (5.15298pt too wide) in paragraph at lines 909--910 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generator[][][]w idening[][][]assign[][][]with[] [165] Overfull \hbox (11.6138pt too wide) in paragraph at lines 4600--4602 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wit h[][][]congruences( +[]Handle, +[]Congruence[][][][]System) Overfull \hbox (0.19531pt too wide) in paragraph at lines 4613--4615 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][] []space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 4619--4621 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]affine[][][]pre image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[]Coeff) Overfull \hbox (0.81381pt too wide) in paragraph at lines 4622--4624 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]af fine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[][][]1, Overfull \hbox (12.19531pt too wide) in paragraph at lines 4625--4627 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]af fine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4628--4630 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (38.5953pt too wide) in paragraph at lines 4631--4633 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Relation[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4634--4636 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 4637--4639 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][] []affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[]Lin[][][][]Expr[] [128] Overfull \hbox (69.2138pt too wide) in paragraph at lines 4640--4642 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]wrap[][][]assig n(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, +[]Representa tion, Overfull \hbox (54.81381pt too wide) in paragraph at lines 4662--4664 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][]u sing[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[][][]2, ?Boolean) Overfull \hbox (6.19531pt too wide) in paragraph at lines 4665--4667 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]linear[][][]par tition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[][][]3, -[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4672--4674 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05[ ][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] [129 Overfull \hbox (10.54222pt too wide) in paragraph at lines 939--940 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][ ][]limited[][][]congruence[] Overfull \hbox (1.39236pt too wide) in paragraph at lines 945--946 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][] []limited[][][]generator[][][] Overfull \hbox (22.05283pt too wide) in paragraph at lines 951--952 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]congru ence[][][]extrapolation[] Overfull \hbox (10.02296pt too wide) in paragraph at lines 957--958 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]generat or[][][]extrapolation[] [166]] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4675--4677 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wide ning[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4684--4686 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][]a ssign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[][][]2, +[] Overfull \hbox (27.79532pt too wide) in paragraph at lines 4690--4692 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (9.79532pt too wide) in paragraph at lines 4693--4695 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] H79[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4696--4698 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[]Handle[] Overfull \hbox (24.19531pt too wide) in paragraph at lines 4699--4701 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4702--4704 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] H79[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4705--4707 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][] C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[]Handle[] [130] Overfull \hbox (7.5717pt too wide) in paragraph at lines 981--982 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Grid[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]recyc le[][][][]Grid[][][][]Generator[][][][]System ( [167 Overfull \hbox (0.19531pt too wide) in paragraph at lines 4724--4726 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space[ ][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] Overfull \hbox (12.19531pt too wide) in paragraph at lines 4727--4729 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space[ ][][]dimensions[][][]and[][][]project(+[]Handle, +[]Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 4733--4735 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hig her[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 4736--4738 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][]spa ce[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Dimension[] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4739--4741 []\OT1/pcr/m/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]fold[][][]space [][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Vars, +[] [131]] Overfull \hbox (0.19531pt too wide) in paragraph at lines 4761--4763 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]space[][][]dimension(+[]Dimension[][][][]Type, +[] Overfull \hbox (29.6138pt too wide) in paragraph at lines 4768--4770 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]constraints(+[]Constraint[][][][]System, -[]Handle) Overfull \hbox (29.6138pt too wide) in paragraph at lines 4771--4773 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]congruences(+[]Congruence[][][][]System, -[]Handle) Overfull \hbox (17.6138pt too wide) in paragraph at lines 4774--4776 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][]generators(+[]Generator[][][][]System, -[]Handle) Underfull \hbox (badness 10000) in paragraph at lines 4782--4783 Overfull \hbox (0.81381pt too wide) in paragraph at lines 4791--4793 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron(+[]Handle[][][]1, -[]Handle[][][]2) Overfull \hbox (13.39532pt too wide) in paragraph at lines 4800--4802 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (9.12285pt too wide) in paragraph at lines 4800--4802 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpz[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] Overfull \hbox (13.39532pt too wide) in paragraph at lines 4803--4805 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[]Handle[] Overfull \hbox (10.23296pt too wide) in paragraph at lines 4803--4805 \OT1/ptm/m/it/10 Builds a new oc-tag-o-nal shape \OT1/pcr/m/sl/10 P[][][]1 \OT1 /ptm/m/it/10 from the bd[][][]shape[][][]mpq[][][]class ref-er-enced by han-dle \OT1/pcr/m/sl/10 Handle[][][]1\OT1/ptm/m/it/10 . \OT1/pcr/m/sl/10 Handle[] [132] [168 Overfull \hbox (19.39532pt too wide) in paragraph at lines 4806--4808 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class(+[]Handle[][][]1, -[] Overfull \hbox (19.39532pt too wide) in paragraph at lines 4809--4811 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class(+[]Handle[][][]1, -[] Overfull \hbox (1.39532pt too wide) in paragraph at lines 4815--4817 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]double(+[]Handle[][][]1, -[]Handle[][][] Overfull \hbox (3.79532pt too wide) in paragraph at lines 4818--4820 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, -[] Overfull \hbox (6.81381pt too wide) in paragraph at lines 4821--4823 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (18.81381pt too wide) in paragraph at lines 4824--4826 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity(+[]Handle, Overfull \hbox (39.2138pt too wide) in paragraph at lines 4827--4829 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Grid[][][]with[][][]complexity(+[]Handle, +[]Complexity, Overfull \hbox (6.81381pt too wide) in paragraph at lines 4830--4832 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Rational[][][][]Box[][][]with[][][]complexity(+[]Handle, Overfull \hbox (4.99533pt too wide) in paragraph at lines 4833--4835 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (4.99533pt too wide) in paragraph at lines 4836--4838 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity(+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 4839--4841 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity (+[] Overfull \hbox (46.99533pt too wide) in paragraph at lines 4842--4844 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity (+[] [133] Overfull \hbox (15.79532pt too wide) in paragraph at lines 4845--4847 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Double[][][][]Box[][][]with[][][]complexity(+[]Handle, +[] Overfull \hbox (22.41382pt too wide) in paragraph at lines 4848--4850 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity(+[]Handle, Overfull \hbox (31.39532pt too wide) in paragraph at lines 4851--4853 []\OT1/pcr/m/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][]f rom[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity(+[] Overfull \hbox (6.19531pt too wide) in paragraph at lines 4891--4893 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[] [][][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, +[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 4894--4896 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[] [][]contains[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 4897--4899 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]di sjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]double(+[]Handle[] [134]] Overfull \hbox (30.19531pt too wide) in paragraph at lines 4900--4902 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][] [][]Octagonal[][][][]Shape[][][]double(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (14.0138pt too wide) in paragraph at lines 4919--4921 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]constraint(+[]Handle, +[]Constraint, Overfull \hbox (2.0138pt too wide) in paragraph at lines 4922--4924 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]generator(+[]Handle, +[]Generator, Overfull \hbox (14.0138pt too wide) in paragraph at lines 4925--4927 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[] [][]with[][][]congruence(+[]Handle, +[]Congruence, Overfull \hbox (2.0138pt too wide) in paragraph at lines 4928--4930 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]c onstraints(+[]Handle, ?Constraint[][][][]System) Overfull \hbox (2.0138pt too wide) in paragraph at lines 4931--4933 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]c ongruences(+[]Handle, ?Congruence[][][][]System) Overfull \hbox (22.9953pt too wide) in paragraph at lines 4934--4936 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]m inimized[][][]constraints(+[]Handle, ?Constraint[] Overfull \hbox (22.9953pt too wide) in paragraph at lines 4937--4939 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][]m inimized[][][]congruences(+[]Handle, ?Congruence[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 4940--4942 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize(+ []Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 4945--4947 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize(+ []Handle, +[]Lin[][][][]Expr, ?Coeff[][][]1, ?Coeff[] [135] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4950--4952 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize[] [][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (20.5953pt too wide) in paragraph at lines 4955--4957 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize[] [][]with[][][]point(+[]Handle, +[]Lin[][][][]Expr, ?Coeff[] Overfull \hbox (8.0138pt too wide) in paragraph at lines 4985--4987 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]c onstraints( +[]Handle, +[]Constraint[][][][]System) Overfull \hbox (8.0138pt too wide) in paragraph at lines 4988--4990 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]c ongruences( +[]Handle, +[]Congruence[][][][]System) [136]) (./interfaceppl__Linear__Expression__tag.tex Overfull \hbox (8.0138pt too wide) in paragraph at lines 4991--4993 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]constraint( +[]Handle, +[]Constraint) Overfull \hbox (8.0138pt too wide) in paragraph at lines 4994--4996 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]congruence( +[]Handle, +[]Congruence) Overfull \hbox (16.9953pt too wide) in paragraph at lines 4997--4999 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]constraints( +[]Handle, +[]Constraint[] Overfull \hbox (16.9953pt too wide) in paragraph at lines 5000--5002 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][] []with[][][]congruences( +[]Handle, +[]Congruence[] Overfull \hbox (11.6138pt too wide) in paragraph at lines 5010--5012 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstrai n[][][]space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var) Overfull \hbox (4.9953pt too wide) in paragraph at lines 5013--5015 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstrai n[][][]space[][][]dimensions(+[]Handle, +[]List[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 5016--5018 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][] []image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, +[] Overfull \hbox (14.61084pt too wide) in paragraph at lines 5016--5018 \OT1/ptm/m/it/10 Transforms the oc-tag-o-nal shape ref-er-enced by \OT1/pcr/m/s l/10 Handle \OT1/ptm/m/it/10 as-sign-ing the affine ex-pres-sion for \OT1/pcr/m /sl/10 Lin[][][][]Expr/Coeff Overfull \hbox (5.6138pt too wide) in paragraph at lines 5019--5021 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][] []preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[][][][]Expr, Overfull \hbox (8.5953pt too wide) in paragraph at lines 5022--5024 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[][ ][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[]Lin[] Overfull \hbox (8.5953pt too wide) in paragraph at lines 5025--5027 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[][ ][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (14.5953pt too wide) in paragraph at lines 5028--5030 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]image(+[]Handle, +[]P[]P[]L[][][][]Var, +[] [137] [169 Overfull \hbox (11.6138pt too wide) in paragraph at lines 5031--5033 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]preimage(+[]Handle, +[]P[]P[]L[][][][]Var, Overfull \hbox (0.19531pt too wide) in paragraph at lines 5034--5036 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]image[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 5037--5039 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generalize d[][][]affine[][][]preimage[][][]lhs[][][]rhs(+[]Handle, +[] Overfull \hbox (9.2138pt too wide) in paragraph at lines 5040--5042 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]wrap[][][] assign(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[][][][]Var, +[]Width, Overfull \hbox (15.79532pt too wide) in paragraph at lines 5059--5061 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][][ ]bound[][][]assign[][][]if[][][]exact(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (30.19531pt too wide) in paragraph at lines 5062--5064 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[] [][]using[][][]context[][][]assign(+[]Handle[][][]1, +[]Handle[] [138]] Overfull \hbox (20.5953pt too wide) in paragraph at lines 5065--5067 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[][] []partition(+[]Handle[][][]1, +[]Handle[][][]2, -[]Handle[] Overfull \hbox (0.81381pt too wide) in paragraph at lines 5072--5074 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M[ ]Z05[][][]widening[][][]assign[][][]with[][][]tokens(+[]Handle[][][]1, Overfull \hbox (18.19531pt too wide) in paragraph at lines 5078--5080 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[] [][]assign[][][]with[][][]tokens(+[]Handle[][][]1, +[]Handle[] Overfull \hbox (33.79532pt too wide) in paragraph at lines 5084--5086 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (21.79532pt too wide) in paragraph at lines 5087--5089 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens(+[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 5090--5092 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign(+[]Handle[] Overfull \hbox (18.19531pt too wide) in paragraph at lines 5093--5095 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[][ ][][]C[]C76[][][]extrapolation[][][]assign(+[]Handle[][][]1, +[] [139] Overfull \hbox (22.34773pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (18.96815pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Generator[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Generator [] Overfull \hbox (15.40788pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]inhomoge neous[][][]term[][] ([][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[ ][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (2.65662pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le , [][]ppl[][][]dimension[][][]type[][] var, [170] Overfull \hbox (42.19531pt too wide) in paragraph at lines 5112--5114 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]s pace[][][]dimensions[][][]and[][][]embed(+[]Handle, +[]Dimension[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5115--5117 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][]s pace[][][]dimensions[][][]and[][][]project(+[]Handle, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5118--5120 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][] []space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[] Overfull \hbox (44.5953pt too wide) in paragraph at lines 5121--5123 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][] []higher[][][]space[][][]dimensions(+[]Handle, +[]Dimension[] Overfull \hbox (2.5953pt too wide) in paragraph at lines 5124--5126 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][] []space[][][]dimension(+[]Handle, +[]P[]P[]L[][][][]Var, +[] Overfull \hbox (0.19531pt too wide) in paragraph at lines 5127--5129 []\OT1/pcr/m/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][] space[][][]dimensions(+[]Handle, +[]List[][][]of[][][][]P[]P[]L[] ) (./PI_Compilation.tex [140]) Overfull \hbox (22.89804pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]inhomogeneous[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (25.43753pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]multiply[][][][]Linear[][][][]Expression [][][]by[][][][]Coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t [][] le, [][]ppl[][][]const[][][][]Coefficient[] ) (./interfaceppl__MIP__Problem__tag.tex (./PI_SD_Features.tex [141 [171] [142]] Overfull \hbox (30.3312pt too wide) in paragraph at lines 86--87 []\OT1/ptm/m/n/10 Notice that, for dy-namic link-ing to work, you should have c on-fig-ured the li-brary with the \OT1/pcr/m/n/10 --enable-shared Overfull \hbox (2.20367pt too wide) in paragraph at lines 100--101 \OT1/ptm/m/n/10 e.[]g., [][]\OT1/pcr/m/n/10 http[]://www.[]cs.[]unipr.[]it/pipe rmail/ppl-devel/2006-[]January/007780.[]html[][]\OT1/ptm/m/n/10 ). ) Overfull \hbox (0.40225pt too wide) in paragraph at lines 102--207 []\OT1/ptm/m/n/10 In or-der to dy-nam-i-cally load the li-brary from Y[]AP you should sim-ply load \OT1/pcr/m/n/10 prefix/lib/ppl/ppl[] (./modules.tex) (./group__PPL__Prolog__interface.tex) [143] [144] (./refman.ind [145]) (./refman.aux) ) (see the transcript file for additional information){/usr/share/texlive/texmf-d ist/fonts/enc/dvips/base/8r.enc} Overfull \hbox (14.92802pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][] ([ ][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pmip, [][]ppl[][][]dimension[][][]type[][] d, [][]ppl[][][]const[][][][ ]Constraint[] Overfull \hbox (20.14798pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][][]f rom[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pmip, [][]ppl[][][]const[][][][ ]M[]I[]P[][][][]Problem[] Overfull \hbox (14.84767pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]M[]I[]P[][][][]Problem[][] []from[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[] Overfull \hbox (1.62802pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]number[][] []of[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[] I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[] Overfull \hbox (0.81778pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]integer[][ ][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (28.59772pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]objective[ ][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [172 Overfull \hbox (11.228pt too wide) in paragraph at lines 97--99 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]s pace[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]M[]I[]P[][][][]Pro blem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (5.5279pt too wide) in paragraph at lines 100--102 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]t o[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][][]M[]I[]P[][][][]Pr oblem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (18.59772pt too wide) in paragraph at lines 109--111 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]set[][][]o bjective[][][]function[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] mi p, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (28.95757pt too wide) in paragraph at lines 124--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][ ]objective[][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]const[][][][]Generator[] [173] Output written on refman.pdf (151 pages, 759051 bytes). Transcript written on refman.log. make[3]: Leaving directory '/build/ppl-1.2/doc/user-configured-prolog-interface.latex-dir' pdftops ppl-user-configured-prolog-interface-1.2.pdf ppl-user-configured-prolog-interface-1.2.ps Underfull \hbox (badness 10000) detected at line 188 [][][] Overfull \hbox (2.87207pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][]objecti ve[][][]function()[] \OT1/pcr/m/n/8 int ppl[][][][]M[]I[]P[][][][]Problem[][][] evaluate[][][]objective[][][]function Package longtable Warning: Column widths have changed (longtable) in table 11 on input line 211. Underfull \vbox (badness 10000) has occurred while \output is active [174] Package longtable Warning: Column widths have changed (longtable) in table 12 on input line 230. ) (./interfaceppl__Octagonal__Shape__double__tag.tex Overfull \hbox (8.3726pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (6.15236pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (19.41191pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (19.97197pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.70268pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (0.96109pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , Overfull \hbox (6.37234pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (1.80223pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.24217pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] [175] Overfull \hbox (3.17188pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (18.17213pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.342pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (2.93048pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (9.5808pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (1.24069pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (7.51181pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][] double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.2519pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][] [][]Shape[][][]double[] Overfull \hbox (2.76273pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] [176] Overfull \hbox (3.37245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.63188pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m aximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.97183pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m inimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.18202pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]e quals[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (26.40169pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][] t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (30.29158pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (8.17241pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] x, [][]ppl[] [177] Overfull \hbox (14.04181pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]s implify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (7.54207pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.75189pt too wide) in paragraph at lines 165--167 \OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Linear[ ][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expres sion[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (0.3125pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 169--171 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (11.962pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.4618pt too wide) in paragraph at lines 173--175 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.47182pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (3.46184pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel -sym, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.07217pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[] Overfull \hbox (2.18202pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (3.60226pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]r emove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.11154pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]t otal[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] ps, size[] [178] Overfull \hbox (2.2523pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (10.75203pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (29.17184pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] x, [][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (11.14146pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (19.01163pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (3.4617pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (2.10213pt too wide) in paragraph at lines 217--219 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.62177pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l inear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][ ]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (12.21039pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (10.5206pt too wide) in paragraph at lines 229--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (14.96205pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (4.28249pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]recycled[][][]congruences[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.76215pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (15.54218pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.21182pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] [179] Overfull \hbox (14.99185pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (2.71152pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.49155pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.83298pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octag onal[][][][]Shape[][][]double[][][] Overfull \hbox (9.09355pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (1.45348pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]double[] [180] Overfull \hbox (6.14346pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (16.26299pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.38298pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.23317pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.55287pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[] [181] Overfull \hbox (1.20277pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[] Overfull \hbox (15.64272pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (20.43282pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.13269pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][] Overfull \hbox (30.45222pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [182] Overfull \hbox (1.0919pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (19.02274pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.42241pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.3421pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \O T1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (7.38304pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (12.9331pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (5.70311pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (8.91173pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]space[][][]dimension ( [183] Overfull \hbox (4.67178pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]affine[][][]dimension Overfull \hbox (11.13298pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (9.45305pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]relation[] Overfull \hbox (16.68304pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (1.67188pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]constraints ( Overfull \hbox (7.22194pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]congruences ( Overfull \hbox (40.05272pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][]minimized[] Overfull \hbox (2.40276pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][] [184] Overfull \hbox (0.763pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]contains[] Overfull \hbox (36.69293pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]t opologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]is[][][]topologically[] Overfull \hbox (30.54286pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topologic al[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]topological[] Overfull \hbox (2.31358pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] Overfull \hbox (2.41344pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] [185] Overfull \hbox (17.28319pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]maximize[][][]with[] Overfull \hbox (15.62302pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]minimize[][][]with[] Overfull \hbox (9.77266pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (11.68211pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[ ][][]contains[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.55226pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]d isjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [186] Overfull \hbox (1.4427pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][ ][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[] Overfull \hbox (1.88202pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]double [][][]add[][][]congruence ( Overfull \hbox (5.02185pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]constraints ( Overfull \hbox (0.97191pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]congruences Overfull \hbox (11.9431pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (17.49316pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (15.833pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][]with[] Overfull \hbox (2.18304pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][] [187] Overfull \hbox (4.69296pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]intersect ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]intersection[] Overfull \hbox (4.38318pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]upper[][][]bound[] Overfull \hbox (10.38168pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]differenc e[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]dou ble[][][]difference[][][]assign Overfull \hbox (0.44328pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]concatena te[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]do uble[][][]concatenate[] Overfull \hbox (19.2716pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]time[][][ ]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]time[][][]elapse[][][]assign Overfull \hbox (13.02286pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]double[][][]upper[] Overfull \hbox (31.04254pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[ ][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]simplify[] Overfull \hbox (45.73259pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]unconstrain[] [188] Overfull \hbox (49.62248pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]unconstrain[] Overfull \hbox (5.38208pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]affine[][][]preimage ( Overfull \hbox (26.54332pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]bounded[][][]affine[] Overfull \hbox (9.12318pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]bounded[] Overfull \hbox (25.70305pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]generalized[] Overfull \hbox (39.96294pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]generalized[] [189] Overfull \hbox (3.34251pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (17.6024pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (10.59254pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (12.62257pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (5.77296pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]remove[] Overfull \hbox (5.4726pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (1.73296pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]expand[] [190] Overfull \hbox (8.2029pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][ ]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]fold[][][]space[] Overfull \hbox (5.873pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]map[][][]space[] Overfull \hbox (15.25288pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[][][]drop[] Overfull \hbox (1.77287pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.52318pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]external[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]external[] Overfull \hbox (19.40329pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[][] []memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]total[][][]memory[] Overfull \hbox (2.2523pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int pp l[][][][]Octagonal[][][][]Shape[][][] [191] Overfull \hbox (8.9629pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]double[][][][]B[]H[]M[]Z05[] Overfull \hbox (28.17267pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]widening[] Overfull \hbox (6.70175pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]widening[][][]assign ( Overfull \hbox (24.4117pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.29196pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.40228pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.08257pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (1.57251pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl [][][][]Octagonal[][][][]Shape[] [192] Overfull \hbox (1.56311pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][][]C[]C76[] Overfull \hbox (35.14339pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][][]C[]C76[][][]narrowing[] Overfull \hbox (9.26175pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[][ ][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]linear[][][]partition ( Overfull \hbox (16.26279pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (21.81285pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58286pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]double[] [193] Overfull \hbox (0.85263pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]assign[][][][]Octagonal[][][] Overfull \hbox (28.96295pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (34.51302pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (10.80316pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.13324pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (24.33284pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (22.66292pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (28.58264pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (26.91272pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] [194] Overfull \hbox (19.40317pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.73325pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (32.93285pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (31.26292pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (37.18265pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (35.51273pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] [195]) (./interfaceppl__Octagonal__Shape__mpq__class__tag.tex Overfull \hbox (1.09158pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.79044pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (4.43195pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.57019pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (2.1917pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.75175pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.12051pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (6.36191pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.53203pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] [196] Overfull \hbox (15.40186pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.80197pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (13.18161pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (17.33156pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.73193pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.3313pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.64151pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.47102pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.78123pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.00133pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.41159pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (3.98143pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] [197] Overfull \hbox (7.47116pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.2513pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (24.68086pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (23.291pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (13.56143pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.33154pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (13.3314pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (1.11198pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] x, [][]ppl[] [198] Overfull \hbox (4.79182pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.66122pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.96138pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.30138pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.19127pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (21.97142pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (14.74185pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.60994pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (3.58142pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (11.6315pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.23186pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[] Overfull \hbox (6.3417pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (1.33191pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[] Overfull \hbox (2.17026pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (11.47173pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] [199] Overfull \hbox (6.07129pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.44176pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.37144pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (24.74109pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (9.19116pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.79141pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.62138pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.29158pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11128pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (20.00146pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.22195pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.34146pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pq[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.05pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, [200] Overfull \hbox (0.54193pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][ ]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.52112pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.30115pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.14194pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.92197pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.59161pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.37164pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.06079pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (2.50148pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.58278pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][] Overfull \hbox (13.64336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] [201] Overfull \hbox (1.20328pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (9.49188pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]from[][][][]Grid Overfull \hbox (10.69327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.61278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (2.73277pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (1.85248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.97247pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] [202] Overfull \hbox (2.98297pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.35258pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (29.79253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.9026pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.4025pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [203] Overfull \hbox (11.24171pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (12.36171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.29253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.0919pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (7.13284pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (12.6829pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] [204] Overfull \hbox (5.45291pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (25.94154pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]space[][][]dimension Overfull \hbox (31.3016pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]affine[][][]dimension Overfull \hbox (37.7628pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (36.08287pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (2.03284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (18.70169pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]constraints Overfull \hbox (24.25175pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]congruences Overfull \hbox (3.3225pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] [205] Overfull \hbox (8.87256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (27.39282pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]contains[] Overfull \hbox (0.92271pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]is[][][] Overfull \hbox (1.49265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.86339pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] Overfull \hbox (6.96324pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] [206] Overfull \hbox (21.833pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]maximize[] Overfull \hbox (20.17282pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]minimize[] Overfull \hbox (6.39226pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] [207] Overfull \hbox (13.10172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.97186pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.9423pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.36177pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]constraint Overfull \hbox (18.91183pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]congruence Overfull \hbox (22.05167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]constraints Overfull \hbox (27.60173pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]congruences Overfull \hbox (16.4929pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] [208] Overfull \hbox (22.04297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (20.3828pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (25.93286pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (31.32278pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]intersection[] Overfull \hbox (4.13298pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]upper[] Overfull \hbox (14.31299pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]difference[] Overfull \hbox (27.0731pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpq[][][]class[][][]concatenate[] Overfull \hbox (23.20291pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]time[][][]elapse[] [209] Overfull \hbox (12.77266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.39233pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.68237pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (20.57227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.352pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]affine[][][]image ( Overfull \hbox (22.4119pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]affine[][][]preimage Overfull \hbox (21.49312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]bounded[] [210] Overfull \hbox (2.15298pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][] Overfull \hbox (52.33287pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (10.91272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.09232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (10.34235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpq[] [211] Overfull \hbox (12.37238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (0.72276pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.2224pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (28.36278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]expand[] Overfull \hbox (7.9527pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[][][]fold[] Overfull \hbox (5.6228pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]map[] Overfull \hbox (19.80269pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.52267pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpq[] [212] Overfull \hbox (2.87297pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (14.35309pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]total[] Overfull \hbox (13.52211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.9127pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (13.52246pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.03305pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]widening[] Overfull \hbox (38.56151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [213] Overfull \hbox (22.44177pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (11.67209pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.83237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.72232pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.29317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (26.29156pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]linear[][][]partition [214] Overfull \hbox (1.61258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (4.28264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.33266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (26.27225pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (14.31274pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]add[] Overfull \hbox (2.5828pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.95296pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][] Overfull \hbox (23.28305pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] [215] Overfull \hbox (36.81273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (42.73245pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (41.06253pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (6.67296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (5.00304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (5.80263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.1327pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] [216] Overfull \hbox (5.25243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (3.5825pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] ) (./interfaceppl__Octagonal__Shape__mpz__class__tag.tex [217] Overfull \hbox (10.67032pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (3.31183pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.45007pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (1.63164pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.1917pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.0004pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (5.24179pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.41191pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.8418pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.24191pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (12.62155pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.21144pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.17188pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.17188pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (7.21118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.8615pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.5214pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [218] Overfull \hbox (11.3509pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.66112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.88121pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.53152pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.29147pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (2.86131pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.35104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (23.56075pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (22.17088pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] [219] Overfull \hbox (12.44131pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.21143pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.21129pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.10118pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.6717pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.5411pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.84126pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.18126pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.07115pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (20.8513pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (13.62173pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.61021pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (1.48982pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]t[][] ph, [220] Overfull \hbox (2.4613pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (10.51138pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.11174pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[] Overfull \hbox (5.22159pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (0.21179pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[] Overfull \hbox (1.05014pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (16.10132pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.35161pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.95117pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.8817pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.25133pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.55139pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz [][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (24.18103pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.6311pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.23135pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.50127pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] [221] Overfull \hbox (4.73152pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.99117pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (18.88135pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.10184pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (10.22134pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pz[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.401pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.18103pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.58188pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.36191pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.03156pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.81158pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.94067pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] [222] Overfull \hbox (1.38136pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (25.67891pt too wide) in paragraph at lines 267--269 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) Overfull \hbox (23.4628pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.52336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.37189pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]from[][][][]Grid Overfull \hbox (9.57327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.49278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] [223] Overfull \hbox (1.61278pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (0.73248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.85248pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (3.4633pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.86298pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.23259pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (28.67253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [224] Overfull \hbox (1.78261pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.2825pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (1.40201pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (10.12172pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (11.24171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.17253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] [225] Overfull \hbox (30.45222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (6.01285pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.56291pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.33292pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (24.82155pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]space[][][]dimension Overfull \hbox (30.18161pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]affine[][][]dimension Overfull \hbox (36.6428pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]relation[] [226] Overfull \hbox (34.96288pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]relation[] Overfull \hbox (0.91284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (17.5817pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]constraints Overfull \hbox (23.13176pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]congruences Overfull \hbox (2.2025pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.75256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] [227] Overfull \hbox (26.27283pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]contains[] Overfull \hbox (62.20276pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]is[][][]topologically[] Overfull \hbox (0.37265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.7434pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (5.84325pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (20.713pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]maximize[] [228] Overfull \hbox (19.05283pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]minimize[] Overfull \hbox (4.15227pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (10.86172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.73187pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (13.10233pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]mpz[] [229] Overfull \hbox (12.24178pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]constraint Overfull \hbox (17.79184pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]congruence Overfull \hbox (20.93167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]constraints Overfull \hbox (26.48174pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]congruences Overfull \hbox (15.37291pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (20.92297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (19.2628pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (24.81287pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (30.20279pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]intersection[] [230] Overfull \hbox (3.01299pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]upper[] Overfull \hbox (13.193pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpz[][][]class[][][]difference[] Overfull \hbox (25.95311pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpz[][][]class[][][]concatenate[] Overfull \hbox (22.08292pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]time[][][]elapse[] Overfull \hbox (11.65266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.27234pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.56238pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (19.45227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [231] Overfull \hbox (2.23201pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]affine[][][]image ( Overfull \hbox (21.2919pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]affine[][][]preimage Overfull \hbox (20.37312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]bounded[] Overfull \hbox (1.03299pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (51.21288pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (9.79272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] [232] Overfull \hbox (1.97232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.8322pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (9.22235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.25238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (2.48277pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (4.1024pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (27.24278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]expand[] [233] Overfull \hbox (6.8327pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[][][]fold[] Overfull \hbox (4.5028pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]map[] Overfull \hbox (18.6827pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.40268pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.75298pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.2331pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]total[] Overfull \hbox (12.40211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.79271pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] [234] Overfull \hbox (12.40247pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.79306pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]widening[][][] Overfull \hbox (37.44151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (21.32178pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.5521pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.71237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.60233pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [235] Overfull \hbox (4.99292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.17317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (25.17157pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]linear[][][]partition Overfull \hbox (0.49258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (3.16264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (13.21266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpz[] [236] Overfull \hbox (24.03226pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (13.19275pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]add[] Overfull \hbox (1.4628pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[] Overfull \hbox (23.83298pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (22.16306pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (37.36266pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (35.69273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (41.61246pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (39.94254pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] [237] Overfull \hbox (5.55296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (3.88304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (4.68263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (3.01271pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.13243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (2.46251pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] [238]) (./interfaceppl__PIP__Decision__Node__tag.tex) (./interfaceppl__PIP__Problem__tag.tex [239] Overfull \hbox (4.04826pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]const[][][][ ]P[]I[]P[][][][]Problem[] Overfull \hbox (1.52785pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]P[]I[]P[][][][]Problem[][] []from[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[] Overfull \hbox (5.47821pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][]constraints[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]dimension[][][]type[][] d , [][]ppl[] Overfull \hbox (4.99655pt too wide) in paragraph at lines 56--58 [][][]\OT1/ptm/bc/n/10 Constraint[][][][]System[][][]const[][][]iterator[][][]t [][] first, [][]ppl[][][][]Constraint[][][][]System[][][]const[][][]iterator[][ ][]t[][] last, size[][][]t n, [][]ppl[] Overfull \hbox (1.6448pt too wide) in paragraph at lines 58--58 []\OT1/ptm/m/it/9 Builds a P[]IP prob-lem hav-ing space di-men-sion \OT1/pcr/m/ sl/9 d \OT1/ptm/m/it/9 from the se-quence of con-straints in the range $\OT1/cm r/m/n/9 [[]\OML/cmm/m/it/9 ; []\OT1/cmr/m/n/9 )$\OT1/ptm/m/it/9 ; Overfull \hbox (4.54796pt too wide) in paragraph at lines 68--70 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]number[][] []of[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P []I[]P[][][][]Problem[][][]t[][] pip, [][]ppl[] Overfull \hbox (3.73772pt too wide) in paragraph at lines 71--73 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]parameter[ ][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Proble m[][][]t[][] pip, [][]ppl[][][]dimension[] [240] Overfull \hbox (6.23784pt too wide) in paragraph at lines 74--76 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]get[][][]b ig[][][]parameter[][][]dimension[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] Overfull \hbox (7.51797pt too wide) in paragraph at lines 80--82 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]constraint [][][]at[][][]index[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[][][] t[][] pip, [][]ppl[][][]dimension[][][]type[][] i, [][]ppl[] Overfull \hbox (8.44783pt too wide) in paragraph at lines 101--103 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]t o[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] [241] Overfull \hbox (4.83315pt too wide) in paragraph at lines 180--181 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]d imensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][] Problem[][][]add[][][]space[][][]dimensions[] Package longtable Warning: Column widths have changed (longtable) in table 13 on input line 194. Overfull \vbox (12.41583pt too high) has occurred while \output is active [242] Underfull \hbox (badness 10000) detected at line 205 [][][] ) (./interfaceppl__PIP__Solution__Node__tag.tex Overfull \hbox (28.95125pt too wide) in paragraph at lines 15--16 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][] get[][][]parametric[][][]values[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]S olution[][][][]Node[][][]t[][] pip[][][]sol, [][]ppl[][][]dimension[] Overfull \hbox (0.65196pt too wide) in paragraph at lines 48--49 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][]get[][][ ]parametric[][][]values()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][]Soluti on[][][][]Node[][][]get[][][]parametric[][][]values [243] Package longtable Warning: Column widths have changed (longtable) in table 14 on input line 64. Underfull \hbox (badness 10000) detected at line 65 [][][] ) (./interfaceppl__PIP__Tree__Node__tag.tex Overfull \hbox (0.62167pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]a s[][][]decision[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[ ][][]t[][] spip[][][]tree, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Decision[] Overfull \hbox (17.25174pt too wide) in paragraph at lines 30--32 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]b egin[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pip[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (9.62175pt too wide) in paragraph at lines 33--35 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]e nd[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pi p[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [244]) (./interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag.tex Overfull \hbox (12.70763pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.57777pt too wide) in paragraph at lines 18--19 \OT1/ptm/bc/n/10 Powerset[][][][]C[][][][]Polyhedron[][][]const[][][]iterator[] [][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pit, [][]ppl[][][]const[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[][][]const[] Overfull \hbox (35.44739pt too wide) in paragraph at lines 22--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]end[][] ([][]ppl[][][]const[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.6573pt too wide) in paragraph at lines 30--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][ ][][]Pointset[][][][]Powerset[] Overfull \hbox (36.28717pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] [245] Overfull \hbox (37.94722pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.17719pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]cons t[][][][]Pointset[][][][]Powerset[] Overfull \hbox (31.45328pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3125pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (20.29312pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (12.51323pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.74301pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[ ][][][]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (46.56291pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [246] Underfull \hbox (badness 10000) detected at line 105 [][][] Overfull \hbox (40.09293pt too wide) in paragraph at lines 112--113 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (41.75298pt too wide) in paragraph at lines 122--123 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.88287pt too wide) in paragraph at lines 132--133 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag.tex Overfull \hbox (20.47737pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]iterator[] [247] Overfull \hbox (20.17732pt too wide) in paragraph at lines 24--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.57744pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.23749pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.44711pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.63354pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.95306pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (35.75342pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]iterator[] Overfull \hbox (27.97353pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]iterator[] [248] Overfull \hbox (27.80331pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.74318pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 105 [][][] Underfull \hbox (badness 10000) detected at line 108 [][][] Overfull \hbox (14.2732pt too wide) in paragraph at lines 115--116 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.93324pt too wide) in paragraph at lines 125--126 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.06314pt too wide) in paragraph at lines 135--136 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__tag.tex [249] Overfull \hbox (38.41113pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.16135pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (27.31155pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.16983pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][][]with[][][]complexity[][] Overfull \hbox (20.07114pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]space[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.3812pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.48979pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]t[][] ph) Overfull \hbox (33.96088pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]topological[][][]closure[][][]assign[][] ([][]ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.70169pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.31142pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.85016pt too wide) in paragraph at lines 61--63 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][] Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p optimum) Overfull \hbox (2.16966pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]t[][] ph, [250] Overfull \hbox (37.57085pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (35.9108pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 67--69 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (21.75092pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (15.91096pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (13.97102pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (1.04984pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (15.07112pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72144pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96101pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (25.61133pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.14104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.8517pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.68123pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.85103pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.01141pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]constrains[][] ([][]ppl[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] [251] Overfull \hbox (14.02145pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.00993pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (16.48157pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.25146pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.13107pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 123--125 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (40.90097pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 125--127 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (12.01096pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([] []ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (5.61131pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.72116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]p pl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (32.54123pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71136pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (27.69139pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96115pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.07114pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]map[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.85179pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (8.96167pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.44122pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign[ ][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.9914pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][] ppl[][][][]Pointset[][][][]Powerset[] [252] Overfull \hbox (22.42798pt too wide) in paragraph at lines 174--176 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.6074pt too wide) in paragraph at lines 177--178 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]size[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][ ][][]C[][][][]Polyhedron[][][]t[][] ps, size[] Overfull \hbox (23.49762pt too wide) in paragraph at lines 179--180 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (23.24736pt too wide) in paragraph at lines 181--182 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (15.89742pt too wide) in paragraph at lines 185--186 \OT1/ptm/bc/n/10 t[][] ps, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]t[][] cit, [][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.23778pt too wide) in paragraph at lines 189--190 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[] [253] Underfull \hbox (badness 10000) detected at line 214 [][][] Overfull \hbox (25.52202pt too wide) in paragraph at lines 221--222 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (25.74188pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.22339pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]add[] Overfull \hbox (15.2834pt too wide) in paragraph at lines 251--252 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (19.1733pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (3.18323pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] [254] Overfull \hbox (9.6629pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (37.45274pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (1.60347pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.06046pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] Overfull \hbox (3.57407pt too wide) in paragraph at lines 305--306 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity Overfull \hbox (30.19272pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (19.09297pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.64304pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] [255] Overfull \hbox (5.60315pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (6.16321pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.12292pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.443pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (45.67299pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.08215pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]is[][][]empty Overfull \hbox (25.73187pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]universe Overfull \hbox (22.262pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]is[][][]bounded Overfull \hbox (29.75294pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [256] Overfull \hbox (29.20285pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.96188pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]discrete Overfull \hbox (45.1328pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72368pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]omega[] Overfull \hbox (18.82352pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.92337pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (8.17215pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]maximize Overfull \hbox (6.51198pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]minimize [257] Overfull \hbox (24.19312pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.53294pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.99251pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (6.30196pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (4.1721pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.66255pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (0.70338pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][] [258] Overfull \hbox (3.37344pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71327pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26334pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.45303pt too wide) in paragraph at lines 497--498 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.0031pt too wide) in paragraph at lines 503--504 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.34293pt too wide) in paragraph at lines 509--510 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.89299pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (14.4829pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] [259] Overfull \hbox (20.89311pt too wide) in paragraph at lines 527--528 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.0731pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.03322pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.08302pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.73277pt too wide) in paragraph at lines 551--552 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.47244pt too wide) in paragraph at lines 557--558 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.56197pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]constrains Overfull \hbox (1.76248pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[] [260] Overfull \hbox (5.65237pt too wide) in paragraph at lines 575--576 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (19.49364pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]affine[] Overfull \hbox (2.0735pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.65324pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (42.91313pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.29298pt too wide) in paragraph at lines 605--606 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [261] Overfull \hbox (3.67284pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (15.05244pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.31233pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.30247pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.3325pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (44.36292pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.18253pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] [262] Overfull \hbox (40.3229pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.51283pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.98294pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.8828pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (13.4828pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (46.51312pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.11322pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.15227pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][] assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [263] Overfull \hbox (22.31267pt too wide) in paragraph at lines 701--702 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.85257pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[] \OT1 /pcr/m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (18.69278pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.80214pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron ( Overfull \hbox (6.33209pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (16.69203pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (9.15346pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] Overfull \hbox (2.48352pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] [264]) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__const__iterator__tag.tex Overfull \hbox (11.83833pt too wide) in paragraph at lines 1--1 []\OT1/ptm/b/n/12 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]const[][][]iterator[][][]tag In-ter-face Ref-er-ence Overfull \hbox (30.36118pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.3908pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][] []const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.1415pt too wide) in paragraph at lines 23--25 [][][]\OT1/ptm/bc/n/10 N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][] t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]const[][][]iterator[] Overfull \hbox (10.87091pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.61319pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.75244pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [265] Overfull \hbox (44.33307pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.55318pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44278pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int p pl[][][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (3.65283pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (0.51288pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][] Overfull \hbox (2.44281pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (9.50294pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]d elete[][][][]Pointset[][][][]Powerset[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__iterator__tag.tex [266] Overfull \hbox (5.65144pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (11.31146pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]begin[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68147pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]end[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.23099pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.89104pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.83087pt too wide) in paragraph at lines 31--32 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.6735pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.393pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (18.51334pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.73344pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.10309pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [267] Overfull \hbox (38.31314pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (39.97319pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.78313pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.96323pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__tag.tex Overfull \hbox (5.3514pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.03156pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (0.11113pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.76144pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] [268] Overfull \hbox (4.25085pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.56107pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]con st[][][][]Pointset[][][][]Powerset[] Overfull \hbox (10.90117pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.7413pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.2213pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.18152pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.84103pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89133pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.47177pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.91118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]maximize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 63--65 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (19.25113pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (1.19106pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (14.80135pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (21.47098pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (20.08112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerse t[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (14.15979pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 77--79 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.90953pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 79--81 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [269] Overfull \hbox (7.02145pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][] [][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (14.24141pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraint[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89172pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruence[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.1313pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (24.78162pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruences[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.89159pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.02092pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.73158pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.6412pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]difference[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (32.56111pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.73091pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44106pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.9711pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (7.3215pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.0914pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.7517pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.6313pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[] [270] Overfull \hbox (13.681pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (26.4509pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.05125pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([ ][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (21.1611pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.1513pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.19162pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (3.25156pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][ ]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85156pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.13116pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][ ]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.47151pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.36153pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (14.25142pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjuncts[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.29173pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][] widening[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (23.40161pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assi gn[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (17.43134pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.74142pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [271] Overfull \hbox (26.18124pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.50212pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (24.10284pt too wide) in paragraph at lines 201--202 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.77258pt too wide) in paragraph at lines 207--208 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (27.60335pt too wide) in paragraph at lines 213--214 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.94034pt too wide) in paragraph at lines 219--220 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity()[] Overfull \hbox (22.77408pt too wide) in paragraph at lines 219--220 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity Overfull \hbox (0.51256pt too wide) in paragraph at lines 225--226 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[] [272] Overfull \hbox (33.53291pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.68295pt too wide) in paragraph at lines 237--238 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][] Overfull \hbox (29.6431pt too wide) in paragraph at lines 243--244 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.20316pt too wide) in paragraph at lines 249--250 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68283pt too wide) in paragraph at lines 255--256 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.0029pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (1.55289pt too wide) in paragraph at lines 267--268 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (8.22359pt too wide) in paragraph at lines 273--274 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[][][]is[] [273] Overfull \hbox (4.99329pt too wide) in paragraph at lines 279--280 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.32341pt too wide) in paragraph at lines 285--286 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.91286pt too wide) in paragraph at lines 291--292 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.36276pt too wide) in paragraph at lines 297--298 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.2233pt too wide) in paragraph at lines 303--304 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.0127pt too wide) in paragraph at lines 309--310 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (27.22318pt too wide) in paragraph at lines 315--316 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.8836pt too wide) in paragraph at lines 321--322 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.86346pt too wide) in paragraph at lines 327--328 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.96332pt too wide) in paragraph at lines 333--334 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [274] Overfull \hbox (2.79358pt too wide) in paragraph at lines 339--340 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (1.1334pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (0.23303pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][] Overfull \hbox (46.57289pt too wide) in paragraph at lines 357--358 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.59236pt too wide) in paragraph at lines 363--364 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (7.00032pt too wide) in paragraph at lines 369--370 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int [275] Overfull \hbox (4.87047pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][ ]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int Overfull \hbox (3.82037pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 381--382 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (4.04024pt too wide) in paragraph at lines 387--388 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 387--388 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (34.54243pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Poly hedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (21.86333pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (27.41339pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.75322pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [276] Overfull \hbox (31.30328pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.61295pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.363pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.70284pt too wide) in paragraph at lines 441--442 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (1.4529pt too wide) in paragraph at lines 447--448 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (38.52284pt too wide) in paragraph at lines 453--454 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.93306pt too wide) in paragraph at lines 459--460 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.11305pt too wide) in paragraph at lines 465--466 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [277] Overfull \hbox (39.07317pt too wide) in paragraph at lines 471--472 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.12297pt too wide) in paragraph at lines 477--478 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (12.29271pt too wide) in paragraph at lines 483--484 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (15.91238pt too wide) in paragraph at lines 489--490 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.70338pt too wide) in paragraph at lines 495--496 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (16.20242pt too wide) in paragraph at lines 501--502 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.09232pt too wide) in paragraph at lines 507--508 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85356pt too wide) in paragraph at lines 513--514 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [278] Overfull \hbox (26.11345pt too wide) in paragraph at lines 519--520 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.81316pt too wide) in paragraph at lines 525--526 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (1.67303pt too wide) in paragraph at lines 531--532 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][] Overfull \hbox (3.85289pt too wide) in paragraph at lines 537--538 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (10.43277pt too wide) in paragraph at lines 543--544 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.49239pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [279] Overfull \hbox (2.47224pt too wide) in paragraph at lines 555--556 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.74242pt too wide) in paragraph at lines 561--562 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m /n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.37242pt too wide) in paragraph at lines 567--568 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (0.24281pt too wide) in paragraph at lines 573--574 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (31.62247pt too wide) in paragraph at lines 579--580 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.88281pt too wide) in paragraph at lines 585--586 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.67274pt too wide) in paragraph at lines 591--592 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]N[]N[]C[] [280] Overfull \hbox (0.34285pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (19.32274pt too wide) in paragraph at lines 603--604 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n /8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (27.92274pt too wide) in paragraph at lines 609--610 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.39302pt too wide) in paragraph at lines 615--616 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.27313pt too wide) in paragraph at lines 621--622 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (12.98332pt too wide) in paragraph at lines 633--634 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (17.24333pt too wide) in paragraph at lines 639--640 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [281] Overfull \hbox (21.13322pt too wide) in paragraph at lines 645--646 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.59221pt too wide) in paragraph at lines 651--652 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.75261pt too wide) in paragraph at lines 657--658 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.4125pt too wide) in paragraph at lines 663--664 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[ ] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (33.13272pt too wide) in paragraph at lines 669--670 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.24208pt too wide) in paragraph at lines 675--676 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (30.37204pt too wide) in paragraph at lines 681--682 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][] [][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.71346pt too wide) in paragraph at lines 687--688 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] [282] Overfull \hbox (6.31339pt too wide) in paragraph at lines 693--694 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.52345pt too wide) in paragraph at lines 699--700 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[][][] ) (./interfaceppl__Polyhedron__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Rational[][][][ ]Box[] Overfull \hbox (10.59242pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (11.15248pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (6.71233pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] Overfull \hbox (7.27238pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] [283] Overfull \hbox (11.9928pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[ ][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[ ][][][]Shape[] Overfull \hbox (23.9324pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Octago nal[] Overfull \hbox (3.80247pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid [] Overfull \hbox (3.2623pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedr on[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (10.18228pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (0.8408pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (10.74234pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (1.40086pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (6.25206pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (6.81212pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (11.58266pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl [][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]p pl[] Overfull \hbox (0.57098pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [284] Overfull \hbox (25.27213pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][] Polyhedron[][][]t[][] y, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.6022pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (3.38223pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (20.04214pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.82217pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (11.182pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (8.96204pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (25.62195pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (23.40198pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (26.14159pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (23.92162pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (14.20235pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (11.98238pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (13.65202pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] [285] Overfull \hbox (11.43205pt too wide) in paragraph at lines 157--158 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (10.48825pt too wide) in paragraph at lines 168--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (23.78888pt too wide) in paragraph at lines 172--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (8.35905pt too wide) in paragraph at lines 174--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.46918pt too wide) in paragraph at lines 184--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedro n[] Overfull \hbox (24.92819pt too wide) in paragraph at lines 188--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint [] [286] Overfull \hbox (9.49837pt too wide) in paragraph at lines 190--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[] Overfull \hbox (22.799pt too wide) in paragraph at lines 194--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.72865pt too wide) in paragraph at lines 196--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] dst, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 202--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 204--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 206--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 208--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] [287] Overfull \hbox (2.65869pt too wide) in paragraph at lines 230--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][] Congruence[][][][]System[] Overfull \hbox (2.68785pt too wide) in paragraph at lines 232--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c onstraints[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Constraint[] Overfull \hbox (15.98848pt too wide) in paragraph at lines 234--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c ongruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Congruence[] Overfull \hbox (8.73904pt too wide) in paragraph at lines 250--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]abo ve[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (9.34877pt too wide) in paragraph at lines 252--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]bel ow[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (14.6082pt too wide) in paragraph at lines 254--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (1.86832pt too wide) in paragraph at lines 256--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][] ([][]ppl[][] []const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][] []Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (12.94815pt too wide) in paragraph at lines 258--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.84818pt too wide) in paragraph at lines 260--262 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][] []point[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Linear[][][][]Expression[] [288] Overfull \hbox (11.01836pt too wide) in paragraph at lines 265--266 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]strictly[][][]contains[][ ][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl [][][]const[][][][]Polyhedron[] Overfull \hbox (9.6285pt too wide) in paragraph at lines 267--268 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]fro m[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][ ]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.87866pt too wide) in paragraph at lines 299--300 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]refine[][][]with[][][]con gruences[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][] []Congruence[][][][]System[] [289] Overfull \hbox (2.82346pt too wide) in paragraph at lines 315--316 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][ ][]dimensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimens ion[][][]type[][] ds[]$ $[], Overfull \hbox (4.84868pt too wide) in paragraph at lines 317--318 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]affine[][][]image[][] ([] []ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.24907pt too wide) in paragraph at lines 323--324 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][] preimage[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] var, [][]ppl[] Overfull \hbox (0.58711pt too wide) in paragraph at lines 325--326 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]image[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[ ][][]type[][] var, enum Overfull \hbox (6.12796pt too wide) in paragraph at lines 327--328 \OT1/ptm/bc/n/10 enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-s ym, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] [][]const[][][][]Coefficient[] Overfull \hbox (0.9884pt too wide) in paragraph at lines 331--332 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [] []ppl[][][]const[][][][]Linear[] Overfull \hbox (12.40506pt too wide) in paragraph at lines 343--344 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]remove[][][]space[][][]di mensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] ds[]$ $[], size[] Overfull \hbox (12.1548pt too wide) in paragraph at lines 347--348 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]map[][][]space[][][]dimen sions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][ ]type[][] maps[]$ $[], size[] [290] Overfull \hbox (7.10867pt too wide) in paragraph at lines 371--372 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cm sy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (21.54861pt too wide) in paragraph at lines 375--376 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (6.11879pt too wide) in paragraph at lines 377--378 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[] Overfull \hbox (7.50677pt too wide) in paragraph at lines 379--380 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]generators[][] ( [][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]G enerator[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs) [291] Overfull \hbox (14.67685pt too wide) in paragraph at lines 393--394 [][][]\OT1/ptm/bc/n/10 Integer[][][][]Type[][][][]Overflow[][] o, const [][]ppl [][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 pcs, un-signed complexity[][][]threshold, Overfull \hbox (28.9686pt too wide) in paragraph at lines 395--396 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widen ing[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.51877pt too wide) in paragraph at lines 397--398 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][] assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]p pl[][][]const[][][][]Polyhedron[] Overfull \hbox (1.88829pt too wide) in paragraph at lines 403--404 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] Overfull \hbox (7.1482pt too wide) in paragraph at lines 405--406 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[] [][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (25.31825pt too wide) in paragraph at lines 407--408 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (5.86842pt too wide) in paragraph at lines 409--410 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (7.98883pt too wide) in paragraph at lines 411--412 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] [292] Overfull \hbox (31.4188pt too wide) in paragraph at lines 415--416 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.96896pt too wide) in paragraph at lines 417--418 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (1.31215pt too wide) in paragraph at lines 436--437 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]space [][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[ ][][]from[][][]space[][][]dimension ( Overfull \hbox (0.10345pt too wide) in paragraph at lines 456--457 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]C[][][] [293] Underfull \hbox (badness 10000) detected at line 462 [][][] Overfull \hbox (10.74222pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Constraint[][][][]System Overfull \hbox (11.32346pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Constraint[] Underfull \hbox (badness 10000) detected at line 487 [][][] Overfull \hbox (16.29228pt too wide) in paragraph at lines 494--495 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Congruence[][][][]System Overfull \hbox (16.87352pt too wide) in paragraph at lines 504--505 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 512 [][][] [294] Overfull \hbox (15.75209pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension Overfull \hbox (14.45259pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C [][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (5.94331pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 555 [][][] Overfull \hbox (12.08365pt too wide) in paragraph at lines 562--563 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[] Overfull \hbox (35.3634pt too wide) in paragraph at lines 572--573 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Constraint[] [295] Underfull \hbox (badness 10000) detected at line 580 [][][] Overfull \hbox (17.63371pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[] Overfull \hbox (40.91347pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 605 [][][] Overfull \hbox (37.75237pt too wide) in paragraph at lines 612--613 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] [][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]N []N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (3.98338pt too wide) in paragraph at lines 632--633 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 638 [][][] [296] Overfull \hbox (13.58339pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 661 [][][] [297] [298] Package longtable Warning: Column widths have changed (longtable) in table 15 on input line 868. Underfull \vbox (badness 10000) has occurred while \output is active [299] Package longtable Warning: Column widths have changed (longtable) in table 16 on input line 903. Overfull \hbox (9.58202pt too wide) in paragraph at lines 918--919 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]strictly[][][]contains[][][][]Pol yhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]strictly[][][]contain s[][][][]Polyhedron ( Overfull \hbox (0.73216pt too wide) in paragraph at lines 928--929 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][ ]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]is[][][]disjoint[ ][][]from[][][][]Polyhedron ( [300] [301] Underfull \hbox (badness 10000) detected at line 1024 [][][] Underfull \hbox (badness 10000) detected at line 1037 [][][] [302] Overfull \hbox (6.30173pt too wide) in paragraph at lines 1114--1115 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]context[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]simplify[][][]usi ng[][][]context[][][]assign Overfull \hbox (8.51176pt too wide) in paragraph at lines 1144--1145 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sion()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[] [][]dimension ( Overfull \hbox (7.60165pt too wide) in paragraph at lines 1154--1155 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[ ][][]dimensions [303] Package longtable Warning: Column widths have changed (longtable) in table 17 on input line 1180. Package longtable Warning: Column widths have changed (longtable) in table 18 on input line 1201. Package longtable Warning: Column widths have changed (longtable) in table 19 on input line 1224. [304] Package longtable Warning: Column widths have changed (longtable) in table 20 on input line 1247. Package longtable Warning: Column widths have changed (longtable) in table 21 on input line 1270. Overfull \hbox (2.74211pt too wide) in paragraph at lines 1275--1276 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generalized[][][]affine[ ][][]preimage ( Package longtable Warning: Column widths have changed (longtable) in table 22 on input line 1293. Underfull \vbox (badness 10000) has occurred while \output is active [305] Overfull \hbox (6.78322pt too wide) in paragraph at lines 1298--1299 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]imag e[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generaliz ed[][][]affine[][][]image[] Package longtable Warning: Column widths have changed (longtable) in table 23 on input line 1314. Overfull \hbox (35.44312pt too wide) in paragraph at lines 1319--1320 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]genera lized[][][]affine[][][]preimage[] Package longtable Warning: Column widths have changed (longtable) in table 24 on input line 1335. Overfull \hbox (12.11325pt too wide) in paragraph at lines 1350--1351 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][]sp ace[][][]dimensions[][][]and[] Overfull \hbox (14.14328pt too wide) in paragraph at lines 1360--1361 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][] space[][][]dimensions[][][]and[] [306] Overfull \hbox (26.81181pt too wide) in paragraph at lines 1380--1381 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]remove[][][]high er[][][]space[][][]dimensions Overfull \hbox (7.42976pt too wide) in paragraph at lines 1396--1397 []\OT1/ptm/bc/n/10 The par-tial func-tion is de-fined on di-men-sion \OT1/pcr/m /n/10 i \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 i $\OML/cmm/m/it/10 <$ \OT1/pcr/m/n /10 n \OT1/ptm/bc/n/10 and \OT1/pcr/m/n/10 maps[]i[] != ppl[][][]not[][][]a[][] []dimension\OT1/ptm/bc/n/10 ; [307] Overfull \hbox (4.26228pt too wide) in paragraph at lines 1472--1473 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhe dron[][][]from[][][][]Generator[][][][]System Overfull \hbox (4.84352pt too wide) in paragraph at lines 1482--1483 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Pol yhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1490 [][][] Overfull \hbox (5.60371pt too wide) in paragraph at lines 1497--1498 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Generator[] [308] Overfull \hbox (28.88347pt too wide) in paragraph at lines 1507--1508 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[] C[][][][]Polyhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1515 [][][] [309] Underfull \hbox (badness 10000) detected at line 1568 [][][] Package longtable Warning: Column widths have changed (longtable) in table 25 on input line 1621. [310] Overfull \hbox (22.67305pt too wide) in paragraph at lines 1626--1627 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][ ][]B[]H[]R[]Z03[][][]widening[][][]assign[] Overfull \hbox (9.79324pt too wide) in paragraph at lines 1636--1637 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign[] [][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][][]H79[][ ][]widening[][][]assign[][][]with[] Overfull \hbox (6.43242pt too wide) in paragraph at lines 1666--1667 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]limited[] [311] Overfull \hbox (3.15262pt too wide) in paragraph at lines 1676--1677 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]limited[][][][]H79[] Overfull \hbox (49.62305pt too wide) in paragraph at lines 1686--1687 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]lim ited[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (14.66322pt too wide) in paragraph at lines 1696--1697 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (13.67258pt too wide) in paragraph at lines 1706--1707 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]bounded[] Overfull \hbox (10.39278pt too wide) in paragraph at lines 1716--1717 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]bounded[][][][]H79[] [312] Overfull \hbox (56.8632pt too wide) in paragraph at lines 1726--1727 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bou nded[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (21.90338pt too wide) in paragraph at lines 1736--1737 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bounded[][][ ][]H79[][][]extrapolation[] Overfull \hbox (2.68365pt too wide) in paragraph at lines 1770--1771 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (9.44359pt too wide) in paragraph at lines 1776--1777 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] [313] Overfull \hbox (3.80365pt too wide) in paragraph at lines 1782--1783 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (10.56358pt too wide) in paragraph at lines 1788--1789 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.12337pt too wide) in paragraph at lines 1794--1795 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (23.24336pt too wide) in paragraph at lines 1806--1807 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (1.20328pt too wide) in paragraph at lines 1812--1813 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (4.67235pt too wide) in paragraph at lines 1830--1831 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][] Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [314] Overfull \hbox (19.11229pt too wide) in paragraph at lines 1836--1837 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[] N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (9.09355pt too wide) in paragraph at lines 1842--1843 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][ ][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (33.1335pt too wide) in paragraph at lines 1848--1849 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []N[]N[]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (36.272pt too wide) in paragraph at lines 1854--1855 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 1860--1861 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[ ]N[]C[][][][]Polyhedron[][][]from[][][][]Grid[][][]with[] Overfull \hbox (27.87338pt too wide) in paragraph at lines 1866--1867 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]Rational[] Overfull \hbox (10.6333pt too wide) in paragraph at lines 1872--1873 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (18.7929pt too wide) in paragraph at lines 1878--1879 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[] [315] Overfull \hbox (20.75282pt too wide) in paragraph at lines 1884--1885 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.71288pt too wide) in paragraph at lines 1890--1891 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][] Overfull \hbox (21.87282pt too wide) in paragraph at lines 1896--1897 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.7126pt too wide) in paragraph at lines 1902--1903 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.75252pt too wide) in paragraph at lines 1908--1909 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][] Overfull \hbox (27.8326pt too wide) in paragraph at lines 1914--1915 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.99251pt too wide) in paragraph at lines 1920--1921 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [316] Overfull \hbox (12.1634pt too wide) in paragraph at lines 1926--1927 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]C[][][][]Polyhedron[][][]from[][][][]Double[] Overfull \hbox (4.52333pt too wide) in paragraph at lines 1932--1933 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (5.76308pt too wide) in paragraph at lines 1938--1939 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]C[][][][]Polyhedron[][][]from[] Overfull \hbox (7.723pt too wide) in paragraph at lines 1944--1945 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.68279pt too wide) in paragraph at lines 1950--1951 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.72273pt too wide) in paragraph at lines 1956--1957 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] [317] Overfull \hbox (0.76205pt too wide) in paragraph at lines 1980--1981 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]upper[][][]bound[][][]assign[][][ ]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact ( Overfull \hbox (2.99208pt too wide) in paragraph at lines 1998--1999 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[][][]som e[][][]non[][][]integer[][][]points Overfull \hbox (20.5736pt too wide) in paragraph at lines 2004--2005 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[] [][]some[][][]non[][][]integer[][][]points[] Overfull \hbox (3.43185pt too wide) in paragraph at lines 2010--2011 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[][ ][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]widening[][][]assig n[][][]with[][][]tokens ( [318] Overfull \hbox (1.1535pt too wide) in paragraph at lines 2058--2059 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]C[][][] Overfull \hbox (38.5021pt too wide) in paragraph at lines 2064--2065 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]C[][][][]Polyhedron [319] Overfull \hbox (0.23343pt too wide) in paragraph at lines 2070--2071 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (3.36351pt too wide) in paragraph at lines 2076--2077 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]P[]R[] Overfull \hbox (2.5233pt too wide) in paragraph at lines 2082--2083 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]C[] Overfull \hbox (0.85338pt too wide) in paragraph at lines 2088--2089 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]C[] Overfull \hbox (4.48323pt too wide) in paragraph at lines 2094--2095 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]M[] Overfull \hbox (2.81331pt too wide) in paragraph at lines 2100--2101 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]P[] [320] Overfull \hbox (2.0735pt too wide) in paragraph at lines 2130--2131 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][] Overfull \hbox (0.40358pt too wide) in paragraph at lines 2136--2137 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][] Overfull \hbox (1.15343pt too wide) in paragraph at lines 2142--2143 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[] Overfull \hbox (2.36351pt too wide) in paragraph at lines 2148--2149 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[][][] Overfull \hbox (3.4433pt too wide) in paragraph at lines 2154--2155 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.77338pt too wide) in paragraph at lines 2160--2161 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[] Overfull \hbox (5.40323pt too wide) in paragraph at lines 2166--2167 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] [321] Overfull \hbox (3.7333pt too wide) in paragraph at lines 2172--2173 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Rational__Box__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhe dron[] Overfull \hbox (3.3823pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box[][][ ]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[ ]D[][][][]Shape[] Overfull \hbox (29.76184pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][ ][]Octagonal[] Overfull \hbox (1.04219pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Ra tional[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]pp l[] [322] Overfull \hbox (9.09174pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational [][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][ ]const[] Overfull \hbox (16.01172pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (4.64206pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Double[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational[] [][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]c onst[] Overfull \hbox (2.97215pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][] []Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[] Overfull \hbox (6.40042pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (5.09135pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constra int[] Overfull \hbox (18.39198pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congrue nce[] Overfull \hbox (1.71178pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generato r[] Overfull \hbox (12.5317pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]relation[][][]wi th[][][][]Congruence[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[ ][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (7.53172pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (7.56088pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]constraints[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (20.86151pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]congruences[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (13.61208pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]above[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (14.2218pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]below[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (18.62187pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]upper[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (18.37173pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]lower[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] [323] Overfull \hbox (6.74135pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (5.0813pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (19.48123pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (17.82118pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.13179pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]frequency[][] ([ ][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.61139pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]contains[][][][] Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (11.72083pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]strictly[][][]co ntains[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][] []Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (10.33096pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint [][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[] [][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.45107pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]constraints[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (14.7517pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]congruences[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (4.91129pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]simplify[][][]us ing[][][]context[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (7.69649pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][ ]space[][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.72171pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]affine[][][]imag e[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension [][][]type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounded[][][]aff ine[][][]preimage[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (5.46014pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]image[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]p pl[][][]dimension[][][]type[][] var, enum [324] Overfull \hbox (5.86143pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.69801pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]fold[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]dimension[][][]type[][] ds[]$ $[], size[] Overfull \hbox (8.29143pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]wi dening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Bo x[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.6215pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]widening[][][]as sign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x , [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (4.64108pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C []C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][ ][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (2.96216pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] [325] Overfull \hbox (11.43164pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (9.21167pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.01144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (14.79147pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (19.75078pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (17.5308pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (5.59184pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (3.37187pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (5.04152pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (2.82155pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] [326] Overfull \hbox (2.61357pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.85356pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.17328pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (20.29327pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (1.72226pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[ ][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [327] Overfull \hbox (6.14346pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rati onal[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (45.1534pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.0333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (33.32191pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational [][][][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (24.9233pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (15.8428pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (16.9628pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (6.4825pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] [328] Overfull \hbox (7.6025pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] Overfull \hbox (9.21332pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Rational[][][][]Box[][][]from[][][][]Double[] Overfull \hbox (2.81299pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (10.7327pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Rational[][][][]Box[] Overfull \hbox (7.79213pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Constraint[][][][]System Overfull \hbox (13.3422pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Congruence[][][][]System Overfull \hbox (1.3122pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][ ]Box[][][]from[][][][]Generator[][][][]System [329] Overfull \hbox (1.10178pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]constraints ( Overfull \hbox (6.65184pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]congruences ( [330] Overfull \hbox (4.07193pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]topological[][][]closure [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]topolog ical[][][]closure[][][]assign ( [331] Overfull \hbox (22.7833pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]strictly[][][]contains[] [][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box [][][]strictly[][][]contains[][][][]Rational[] Overfull \hbox (13.93344pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint[][][]fr om[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][ ]Box[][][]is[][][]disjoint[][][]from[][][][]Rational[] [332] [333] Overfull \hbox (6.71194pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]upper[][][]bound[][][]as sign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[] [][]upper[][][]bound[][][]assign[][][]if[][][]exact Overfull \hbox (2.03311pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][][ ]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][ ]simplify[][][]using[][][]context[][][] Overfull \hbox (14.46165pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncons train[][][]space[][][]dimension Overfull \hbox (23.15155pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncon strain[][][]space[][][]dimensions [334] Overfull \hbox (8.692pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (22.33311pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]generalized[][][]affine[][][]image[] [335] Overfull \hbox (9.71298pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]generalized[][][]affine[] Overfull \hbox (10.38313pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Bo x[][][]add[][][]space[][][]dimensions[] Overfull \hbox (12.41316pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]add[][][]space[][][]dimensions[] Overfull \hbox (0.46318pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][] []remove[][][]higher[][][]space[] [336] Overfull \hbox (18.54198pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[ ][][]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (4.44347pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (14.72318pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][] [][]Box[][][][]C[]C76[][][]widening[][][]assign[] Overfull \hbox (9.38174pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]w idening[][][]assign[][][]with[][][]tokens [337] Overfull \hbox (8.08255pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[] [][][]Rational[][][][]Box[][][]limited[] Overfull \hbox (41.67317pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]limited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (8.37337pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Constraint[] Overfull \hbox (13.92343pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Congruence[] [338] Overfull \hbox (1.89343pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][] [][]Box[][][]recycle[][][][]Generator[] Overfull \hbox (28.92343pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (27.25351pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (33.17323pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]Rational[] Overfull \hbox (31.50331pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]Rational[] [339] Overfull \hbox (37.52344pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (35.85352pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (0.49321pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.7033pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[][][] [340]) [341] [342] No file refman.ind. Package longtable Warning: Table widths have changed. Rerun LaTeX. (./refman.aux (./group__Init.aux) (./group__Version.aux) (./group__Error.aux) (./group__Timeout.aux) (./group__Datatypes.aux)) Package rerunfilecheck Warning: File `refman.out' has changed. (rerunfilecheck) Rerun to get outlines right (rerunfilecheck) or use package `bookmark'. LaTeX Font Warning: Some font shapes were not available, defaults substituted. LaTeX Warning: There were undefined references. LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. ) (see the transcript file for additional information){/usr/share/texlive/texmf-d ist/fonts/enc/dvips/base/8r.enc} gzip -n --best --force ppl-user-configured-prolog-interface-1.2.ps Output written on refman.pdf (348 pages, 2086543 bytes). Transcript written on refman.log. makeindex refman.idx This is makeindex, version 2.15 [TeX Live 2019/dev] (kpathsea + Thai support). Scanning input file refman.idx.......done (3396 entries accepted, 66 rejected). Sorting entries................................done (43346 comparisons). Generating output file refman.ind.......done (7845 lines written, 0 warnings). Output written in refman.ind. Transcript written in refman.ilg. pdflatex refman This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode (./refman.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) (/usr/share/texlive/texmf-dist/tex/latex/a4wide/a4wide.sty (/usr/share/texlive/texmf-dist/tex/latex/ntgclass/a4.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu))) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg) (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty))) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty)) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (./doxygen.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty)) (/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)) (/build/ppl-1.2/doc/ppl.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty)) Writing index file refman.idx (./refman.aux (./group__Init.aux) (./group__Version.aux) (./group__Error.aux) (./group__Timeout.aux) (./group__Datatypes.aux)) (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty)) (./refman.out) (./refman.out) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd) [1{/var/lib/texmf/fo nts/map/pdftex/updmap/pdftex.map} ] [2] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd) [3 ] [4] (./refman.toc [1 ]) [2] (./index.tex Underfull \hbox (badness 10000) detected at line 9 [][][] pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored \relax l.25 [1]) (./GPL.texpdfTeX warning (ext4): destination with the same identifie r (name{page.2}) has been already used, duplicate ignored \relax l.37 ` `Copyright'' also means copyright-\/like laws that apply to other kind... [2]pdfTeX warning (ext4): destination with the same identifier (name{page.3}) h as been already used, duplicate ignored \relax l.68 [3]pdfTeX warning (ext4): destination with the same identifier (name{page .4}) has been already used, duplicate ignored \relax l.104 [4] [5] [6] [7] [8] [9]) Overfull \hbox (10.35326pt too wide) in paragraph at lines 291--187 \OT1/ptm/m/n/10 stead of this Li-cense. But first, please read [][]\OT1/pcr/m/n /10 http[]://www.[]gnu.[]org/philosophy/why-not-lgpl.[] (./GFDL.tex [10] [11] [12] [13] Overfull \hbox (7.49895pt too wide) in paragraph at lines 97--98 \OT1/ptm/m/n/10 ments, form-ing one sec-tion En-ti-tled "[]History"; like-wise com-bine any sec-tions En-ti-tled "[]Acknowledgements", Underfull \vbox (badness 1377) has occurred while \output is active [14]) (./modules.tex) (./annotated.tex [15] [16] Overfull \hbox (20.64815pt too wide) in paragraph at lines 34--34 \OT1/ptm/b/n/10 Types and func-tions for it-er-at-ing on the dis-juncts of a [ ][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./group__PPL__C__interface.tex) Underfull \vbox (badness 7740) has occurred while \output is active [17] [18] (./group__Init.tex Underfull \hbox (badness 10000) detected at line 35 [][][] Underfull \hbox (badness 10000) detected at line 48 [][][] [19]) [20] (./group__Version.tex [21]) [22] (./group__Error.tex (/usr/share/texlive/texmf-dist/tex/latex/psnfss/omsptm.fd) Overfull \hbox (1.62299pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]O[]U[]T[][][][]O[]F[][] [][]M[]E[]M[]O[]RY[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[] I[]D[][][][]A[]R[]G[]U[]M[]E[]NT[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]D []O[]M[] Overfull \hbox (1.35289pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]A[]R[]I[]T[]H[]M[]E[]T[]I[]C[][][][]O[]V[]E[ ]R[]F[]L[]OW[][], [][]P[]P[]L[][][][]S[]T[]D[]I[]O[][][][]E[]R[]R[]OR[][], [][] P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]T[]E[]R[]N[]A[]L[][][][]E[]R[]R[]OR[] [], [][]P[] [23]) [24] (./group__Timeout.tex Underfull \hbox (badness 10000) detected at line 47 [][][] Overfull \hbox (4.67143pt too wide) in paragraph at lines 48--49 []\OT1/pcr/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[]I[]D[][][] []A[]R[]G[]U[]M[]E[]NT \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 unscaled[][][]weight \OT1/ptm/bc/n/10 is zero or if the com-puted weight thresh- [25] Underfull \hbox (badness 10000) detected at line 59 [][][] Underfull \hbox (badness 10000) detected at line 62 [][][] ) [26] (./group__Datatypes.tex Overfull \hbox (3.74069pt too wide) in paragraph at lines 43--45 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/ bc/n/10 ppl[][][]const[][][][]Constraint[][][][]System[][][]const[] Overfull \hbox (0.36111pt too wide) in paragraph at lines 61--63 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/b c/n/10 ppl[][][]const[][][][]Generator[][][][]System[][][]const[] [27] Overfull \hbox (1.80132pt too wide) in paragraph at lines 76--78 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/1 0 ppl[][][][]Congruence[][][][]System[][][]const[][][]iterator[] Overfull \hbox (16.4409pt too wide) in paragraph at lines 139--141 [][] \OT1/ptm/bc/n/10 type-def struct ppl[][][][]Artificial[][][][]Parameter[][ ][][]Sequence[][][]tag const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][ ][]const[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [28] Overfull \hbox (27.11154pt too wide) in paragraph at lines 190--192 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[] Overfull \hbox (14.85136pt too wide) in paragraph at lines 193--195 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Constraints[][][][]Product[] [29] Overfull \hbox (18.00154pt too wide) in paragraph at lines 202--204 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/pt m/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[ ] Overfull \hbox (21.60114pt too wide) in paragraph at lines 226--228 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[] Overfull \hbox (9.34096pt too wide) in paragraph at lines 229--231 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.77115pt too wide) in paragraph at lines 244--246 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] $\OMS/cms y/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (8.4811pt too wide) in paragraph at lines 247--249 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] const $\O MS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[] [30] [31] Underfull \hbox (badness 10000) detected at line 351 [][][] Overfull \hbox (27.05392pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]io[][][]variable[][][]output[][][]function[][][]typ e[] \OT1/pcr/m/n/8 typedef const char$\OMS/cmsy/m/n/8 ^^C$ \OT1/pcr/m/n/8 ppl[] [][]io[][][]variable[][][]output[][][]function[][][]type([][]ppl[] Overfull \vbox (4.91087pt too high) has occurred while \output is active [32] Package longtable Warning: Column widths have changed (longtable) in table 7 on input line 485. Overfull \hbox (19.9918pt too wide) in paragraph at lines 490--491 []\OT1/ptm/b/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][][ ][]Representation[] \OT1/pcr/m/n/8 enum [][]ppl[][][]enum[][][][]Bounded[][][][ ]Integer[][][][]Type[][][][]Representation[][] Underfull \vbox (badness 3746) has occurred while \output is active [33] Underfull \hbox (badness 10000) detected at line 534 [][][] Underfull \hbox (badness 10000) detected at line 559 [][][] ) [34] (./interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag.tex Overfull \hbox (7.82706pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][][]from[][][][]Artificial[][][][]P arameter[][][][]Sequence[] Overfull \hbox (23.68665pt too wide) in paragraph at lines 22--24 [][]\OT1/ptm/bc/n/10 const[][][]iterator[][] ([][]ppl[][][][]Artificial[][][][] Parameter[][][][]Sequence[][][]const[][][]iterator[][][]t[][] dst, [][]ppl[][][ ]const[][][][]Artificial[][][][]Parameter[] Overfull \hbox (26.38684pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Artif icial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (7.21704pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][] Artificial[][][][]Parameter[] Overfull \hbox (17.78696pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Artificial[][ ][][]Parameter[][][][]Sequence[] ) (./interfaceppl__Artificial__Parameter__tag.tex Overfull \hbox (4.9309pt too wide) in paragraph at lines 15--17 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]get[] [][][]Linear[][][][]Expression[][] ([][]ppl[][][]const[][][][]Artificial[][][][ ]Parameter[][][]t[][] ap, [][]ppl[][][][]Linear[] [35] Overfull \hbox (0.85934pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]coeff icient[][] ([][]ppl[][][]const[][][][]Artificial[][][][]Parameter[][][]t[][] ap , [][]ppl[][][]dimension[][][]type[][] var, ) (./interfaceppl__BD__Shape__double__tag.tex Overfull \hbox (10.32233pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]dimens ion[] Overfull \hbox (28.3727pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Polyhedron[] Overfull \hbox (13.9322pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Rational[] Overfull \hbox (8.07243pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (8.63249pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [36] Overfull \hbox (10.57239pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.13245pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.03285pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [][][]Double[] Overfull \hbox (10.44244pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]S hape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl [][][]const[] Overfull \hbox (7.61217pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (8.17223pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.78229pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (3.65257pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][] const[] [37] Overfull \hbox (11.66246pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][] []t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (2.7528pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.36253pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.12198pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.46193pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.62196pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.96191pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.51242pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]freque ncy[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.29205pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.90219pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (8.92177pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (1.69191pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (14.99254pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (5.5818pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [38] Overfull \hbox (18.88243pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (15.842pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]inters ection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (9.46228pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]differ ence[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x , [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (16.38219pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]concat enate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.55199pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]time[] [][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t [][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (7.5321pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (11.422pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.26245pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]affine [][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (4.2718pt too wide) in paragraph at lines 167--169 \OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (2.81215pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.57211pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.92154pt too wide) in paragraph at lines 175--177 \OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][ ]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][ ][][]Linear[][][][]Expression[] Overfull \hbox (27.50215pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.612pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (23.6022pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove [][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] ph, [][]ppl[][][]dimension[] [39] Overfull \hbox (19.30246pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.86237pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.40245pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.58176pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.3319pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.15248pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C 76[][][]narrowing[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double [][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (26.84183pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][ ][][]Constraint[] Overfull \hbox (23.46225pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape [][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][] [][]Generator[] [40] Overfull \hbox (1.78282pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[ ][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (5.03233pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.81236pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (4.48201pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.26204pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (20.41179pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] []Shape[][][]double[][][]from[][][]space[][][]dimension [41] Overfull \hbox (4.67235pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]C[][][][]Polyhedron ( Overfull \hbox (19.11229pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]double[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.72226pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]Rational[][][][]Box ( Overfull \hbox (14.10329pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (15.22328pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.74298pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (5.86298pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [42] Overfull \hbox (1.07347pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (37.7932pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]Octagonal[] Overfull \hbox (18.24309pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (10.60301pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (0.9931pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []B[]D[][][][]Shape[][][]double[][][]from[][][][]Grid[] Overfull \hbox (15.293pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (25.41252pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (26.53252pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] [43] Overfull \hbox (23.73222pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (9.18303pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (12.3827pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (10.70241pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.74335pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Constraint[] Overfull \hbox (22.29341pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Congruence[] [44] Overfull \hbox (10.26341pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[ ][][][]Shape[][][]double[][][]from[][][][]Generator[] Overfull \hbox (11.51178pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Constraint Overfull \hbox (5.03185pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]relation[][][]with[][][][]Generator Overfull \hbox (17.06184pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Congruence Overfull \hbox (23.1515pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]constraints Overfull \hbox (28.70157pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]congruences [45] Overfull \hbox (1.1418pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]contains[][][]integer[][][]point ( Overfull \hbox (5.39171pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]topolo gically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]is[][][]topologically[][][]closed ( Overfull \hbox (3.42314pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]topological[][ ][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]topological[][][]closure[] [46] Overfull \hbox (19.51176pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] []B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]contains[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (32.32272pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][] contains[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]double[][][]strictly[][][]contains[] Overfull \hbox (1.39285pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoi nt[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoint[] Overfull \hbox (1.5818pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]equals[][][][] B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]double[][][]equals[][][][]B[]D[][][][]Shape[][][]double [47] Overfull \hbox (5.39195pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]refine[][][]with[][][]congruence ( Overfull \hbox (8.53178pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]constraints ( Overfull \hbox (4.48184pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]congruences [48] Overfull \hbox (7.98315pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]upper[][][]bound[][][]assign[] Overfull \hbox (30.80284pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][] using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]simplify[][][]using[][][]context[] Overfull \hbox (9.01286pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]unconstrain[][][]space[] Overfull \hbox (12.90276pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]double[][][]unconstrain[][][]space[] [49] Overfull \hbox (9.50198pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]bounded[][][]affine[][][]preimage Overfull \hbox (11.68184pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]generalized[][][]affine[][][]image Overfull \hbox (8.04321pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]generalized[][][]affine[] [50] Overfull \hbox (27.10283pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]generalized[][][]affine[] Overfull \hbox (9.6827pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]generalized[] Overfull \hbox (42.03287pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (44.0629pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (10.95177pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]remove[][][]space[][][]dimensions Overfull \hbox (5.2329pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hi gher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]remove[][][]higher[] Overfull \hbox (2.11176pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][]sp ace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]expand[][][]space[][][]dimension [51] Overfull \hbox (27.4932pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]double[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (2.49318pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]drop[][][]some[][][]non[][][] Overfull \hbox (0.96347pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]external[][][] memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]external[][][]memory[][][]in[][][] Overfull \hbox (2.0126pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][] [][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (3.23283pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wid ening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]double[][][][]H79[][][]widening[] Overfull \hbox (9.3417pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]double[][][][]B[]H[]M[]Z05[][][]widening[][][]assign [52] Overfull \hbox (18.33296pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][] assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]widening[][][]assign[][][]with[] Overfull \hbox (19.372pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr /m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (33.07224pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 in t ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[] Overfull \hbox (3.25226pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (2.08258pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]double[][][]limited[] [53] Overfull \hbox (61.86285pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]limited[][][][]H79[][][]extrapolation[] Overfull \hbox (8.04286pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]limited[][][][]C[]C76[] Overfull \hbox (57.01285pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.24341pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.84216pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][][]C[]C76[][][]narrowing[][][]assign ( Overfull \hbox (40.0231pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Constraint[] [54] Overfull \hbox (45.57317pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Congruence[] Overfull \hbox (33.54317pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]double[][][]recycle[][][][]Generator[] Overfull \hbox (0.37323pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][]fr om[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]assign[ ][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][] Overfull \hbox (12.06174pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]constraints Overfull \hbox (17.6118pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]congruences Overfull \hbox (2.01312pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (0.3432pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]P[] [55] Overfull \hbox (1.46292pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][] Overfull \hbox (4.593pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][][]P[] Overfull \hbox (2.93312pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (1.2632pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (7.18292pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (5.513pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] [56]) (./interfaceppl__BD__Shape__mpq__class__tag.tex Overfull \hbox (5.86221pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (3.64197pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (10.56195pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.12201pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] [57] Overfull \hbox (0.95065pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pph, Overfull \hbox (5.40195pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.93196pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] Overfull \hbox (3.1817pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.77185pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (12.33191pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (18.1617pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.14209pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.49162pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.2818pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]const[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (25.56108pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [58] Overfull \hbox (1.9613pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.61162pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (0.25233pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.86206pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (6.12149pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (4.46144pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (14.71156pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (14.12123pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.93167pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (12.4822pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (3.07146pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (16.37209pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (28.89116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [59] Overfull \hbox (12.2214pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.84169pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.7616pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.9314pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.66202pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (5.592pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (18.3619pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.2415pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (30.0114pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.06163pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (15.83153pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (9.43188pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.54173pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (21.65166pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.53194pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] [60] Overfull \hbox (16.80182pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []expand[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.07158pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.88039pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] ph, int com- Overfull \hbox (1.2322pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.17146pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ps, size[] Overfull \hbox (4.35188pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.24164pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (2.78186pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.19151pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.70154pt too wide) in paragraph at lines 219--221 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (6.82141pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (9.79172pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpq[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] [61] Overfull \hbox (8.77168pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (15.422pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (7.0819pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.38148pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (15.68144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (28.98207pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (8.45016pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (6.2302pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (7.89984pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (5.67987pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, [62] Overfull \hbox (9.94308pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][]space[] Overfull \hbox (21.70216pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (3.84358pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]N[]N[]C[] Overfull \hbox (10.45357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Rational[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (2.49307pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.41278pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [63] Overfull \hbox (3.0421pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (0.82327pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]B[]D[] Overfull \hbox (18.34299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (22.7929pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.35281pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (5.54291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (19.8428pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] [64] Overfull \hbox (9.0023pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (13.73283pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.1325pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (43.37317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Constraint[] [65] Overfull \hbox (0.9232pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][] Overfull \hbox (36.89323pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Generator[] Overfull \hbox (38.1416pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (31.66167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (1.79314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[] [66] Overfull \hbox (3.0828pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (8.63286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (0.2731pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]contains[][][]integer[] Overfull \hbox (2.60301pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (30.05296pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]topological[][][]closure[] [67] Overfull \hbox (7.81178pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (6.15161pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (1.11285pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contains[][][] Overfull \hbox (31.82233pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strictly[] [68] Overfull \hbox (0.89246pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] Overfull \hbox (19.66292pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.8717pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (22.42177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]congruence [69] Overfull \hbox (25.5616pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (31.11166pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]congruences Overfull \hbox (2.93295pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]upper[][][]bound[] Overfull \hbox (20.95264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]simplify[][][]using[] [70] Overfull \hbox (8.76266pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (12.65256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (7.47191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (3.83328pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]bounded[][][]affine[] [71] Overfull \hbox (20.41315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]generalized[][][]affine[] Overfull \hbox (2.99301pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (22.05263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (36.31252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (17.78265pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (19.81268pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (37.58159pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]remove[][][]space[][][]dimensions [72] Overfull \hbox (0.1827pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]remove[] Overfull \hbox (28.74158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]expand[][][]space[][][]dimension Overfull \hbox (13.1315pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (10.8016pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (0.36298pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (8.96298pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (12.23328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]external[][][]memory[] [73] Overfull \hbox (12.81189pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (1.7624pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[] Overfull \hbox (29.86266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[][][]widening[] Overfull \hbox (13.27301pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (8.39174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (22.88277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]widening[][][]assign[] Overfull \hbox (1.84178pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [74] Overfull \hbox (23.22203pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.00206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (28.7124pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (5.93262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (12.59267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (3.96262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (29.87323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][][]C[]C76[][][]extrapolation[] [75] Overfull \hbox (1.05347pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][][]C[]C76[][][]narrowing[][][] Overfull \hbox (15.77289pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (21.32295pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (14.09296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (3.71283pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [76] Overfull \hbox (38.69156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (0.4231pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][] Overfull \hbox (6.13176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (4.46184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (8.48293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (6.813pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (12.73273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (11.0628pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (14.11327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [77] Overfull \hbox (12.44334pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (17.08293pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (15.41301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (21.33273pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (19.66281pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] [78]) (./interfaceppl__BD__Shape__mpz__class__tag.tex Overfull \hbox (4.7421pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (2.52185pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (9.44183pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (10.00189pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (12.8701pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\ OT1/ptm/bc/n/10 pph, Overfull \hbox (4.28183pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.81184pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] [79] Overfull \hbox (2.06158pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.65173pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.21179pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (17.04158pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.02197pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.3715pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (24.44096pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (37.7416pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (0.84119pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (7.4915pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] [80] Overfull \hbox (5.00137pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (3.34132pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (13.03139pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (13.83092pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []strictly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][] ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.44106pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.2515pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (11.36208pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (1.95134pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (15.25197pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (27.77104pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (11.10129pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.72157pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.64148pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.81128pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.5419pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (10.4113pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] [81] Overfull \hbox (4.47188pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.24178pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (16.12138pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.89128pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.94151pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.71141pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (8.31177pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (9.42162pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (20.53154pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (4.41182pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.6817pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []expand[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (6.95146pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (2.76027pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] ph, int com- Overfull \hbox (0.11208pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (2.05135pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ps, size[] [82] Overfull \hbox (3.23177pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (7.12152pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (1.66174pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (3.0714pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (5.7013pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.6716pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpz[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] Overfull \hbox (7.65157pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (14.30188pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.96178pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (9.70131pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (14.56133pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (27.86195pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (7.33005pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, [83] Overfull \hbox (5.11008pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (6.77972pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (4.55975pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (8.82309pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][]space[] Overfull \hbox (20.58217pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (2.72359pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]N[]N[]C[] [84] Overfull \hbox (9.33357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Rational[] Overfull \hbox (0.25308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (8.17279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.9221pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (2.58328pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]B[]D[][][] Overfull \hbox (17.22299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] [85] Overfull \hbox (21.6729pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.23282pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (4.42291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (18.72281pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.76231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [86] Overfull \hbox (1.40201pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (12.61284pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.01251pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (23.73222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (42.25317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Constraint[] Overfull \hbox (47.80324pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Congruence[] Overfull \hbox (35.77324pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Generator[] [87] Overfull \hbox (37.0216pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (30.54167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (0.67314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[] Overfull \hbox (1.9628pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] Overfull \hbox (7.51286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] [88] Overfull \hbox (2.03311pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]contains[][][]integer[][][] Overfull \hbox (1.48302pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (28.93297pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]topological[][][]closure[] [89] Overfull \hbox (6.69179pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (5.03162pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (3.67287pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contains[][][][]B[] Overfull \hbox (29.58234pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strictly[] Overfull \hbox (1.53247pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][][] Overfull \hbox (17.42293pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] [90] Overfull \hbox (15.75171pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (21.30177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]congruence Overfull \hbox (24.4416pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (29.99167pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]congruences [91] Overfull \hbox (1.81296pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]upper[][][]bound[] Overfull \hbox (19.83264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]simplify[][][]using[] Overfull \hbox (7.64267pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]unconstrain[] [92] Overfull \hbox (11.53256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]unconstrain[] Overfull \hbox (6.35191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (2.71329pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]bounded[][][]affine[] Overfull \hbox (19.29315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]generalized[][][]affine[] Overfull \hbox (1.87302pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]generalized[] [93] Overfull \hbox (20.93263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (35.19252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (16.66266pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (18.69269pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (36.4616pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]remove[][][]space[][][]dimensions Overfull \hbox (1.9427pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]remove[][][] Overfull \hbox (27.62158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]expand[][][]space[][][]dimension [94] Overfull \hbox (12.0115pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (9.68161pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (2.12299pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[][][] Overfull \hbox (7.84299pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[] Overfull \hbox (11.11328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]external[][][]memory[] Overfull \hbox (11.6919pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (0.64241pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[] [95] Overfull \hbox (28.74266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[][][]widening[] Overfull \hbox (12.15302pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (7.27174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (21.76277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]widening[][][]assign[] Overfull \hbox (0.72179pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.10204pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.88206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [96] Overfull \hbox (27.5924pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (4.81262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (11.47267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (2.84262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (28.75323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (19.75198pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][][]C[]C76[][][]narrowing[][][]assign [97] Overfull \hbox (14.6529pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (20.20296pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (12.97296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (1.47284pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (37.57156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (43.12163pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]congruences Overfull \hbox (5.01176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( [98] Overfull \hbox (3.34184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( Overfull \hbox (7.36293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (5.69301pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (11.61273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (9.94281pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (12.99327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.32335pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.96294pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (14.29301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] [99] Overfull \hbox (20.21274pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (18.54282pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Coefficient__tag.tex [100]) (./interfaceppl__Congruence__System__const__iterator__tag.tex [101] Overfull \hbox (1.72762pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[] Overfull \hbox (2.27753pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System [][][]const[][][]iterator[] Overfull \hbox (17.54732pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Congruence[][][ ][]System[][][]const[][][]iterator[] ) (./interfaceppl__Congruence__System__tag.tex [102] Overfull \hbox (7.63844pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Congruence[][][][]System[][][ ]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][]Sys tem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[] Overfull \hbox (9.56808pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][] System[][][]t[][] dst, [][]ppl[] Overfull \hbox (10.67792pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]space[][ ][]dimension[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][][]dimension[] Overfull \hbox (4.96837pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]begin[][ ] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][ ][][]Congruence[][][][]System[] Overfull \hbox (23.98816pt too wide) in paragraph at lines 60--62 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]insert[] [][][]Congruence[][] ([][]ppl[][][][]Congruence[][][][]System[][][]t[][] cs, [] []ppl[][][]const[][][][]Congruence[] [103]) (./interfaceppl__Congruence__tag.tex Overfull \hbox (15.0983pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][]coefficient[][] ([][]p pl[][][]const[][][][]Congruence[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] [104]) (./interfaceppl__Constraint__System__const__iterator__tag.tex Overfull \hbox (25.10667pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][][] iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (33.69638pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (11.7268pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Constraint[][][][]S ystem[][][]const[][][]iterator[] Overfull \hbox (4.24669pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Constraint[][][ ][]System[][][]const[][][]iterator[] [105]) (./interfaceppl__Constraint__System__tag.tex Overfull \hbox (24.61707pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (2.09717pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]end[][] ([][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] cs, [][]ppl[][][ ][]Constraint[][][][]System[][][]const[] [106]) (./interfaceppl__Constraint__tag.tex Overfull \hbox (1.5281pt too wide) in paragraph at lines 16--18 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][] ([][]ppl[][][] []Constraint[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pc, [][]ppl[][][ ]const[][][][]Linear[][][][]Expression[][][]t[][] le, enum [][]ppl[][][]enum[] [107] Overfull \hbox (1.79767pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][]coefficient[][] ([][]p pl[][][]const[][][][]Constraint[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] ) (./interfaceppl__Constraints__Product__C__Polyhedron__Grid__tag.tex Overfull \hbox (14.4614pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.42136pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension[][] ([][] ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.32178pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (19.76172pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (27.2516pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][] ([][]ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.10153pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] [108] Overfull \hbox (0.58157pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.2312pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.79126pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (21.69168pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (14.19164pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.26022pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[][] Overfull \hbox (5.4219pt too wide) in paragraph at lines 41--43 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.44136pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.72202pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (2.39153pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexi ty[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (38.22112pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (20.69154pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (21.2516pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (20.90985pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]with[][][]complexity[][] Overfull \hbox (2.55026pt too wide) in paragraph at lines 55--57 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, int Overfull \hbox (21.46991pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]with[][][]complexity[][] Overfull \hbox (3.11032pt too wide) in paragraph at lines 57--59 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, int Overfull \hbox (33.77144pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (7.65198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (7.87029pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][][]with[][][]complexity[][] Overfull \hbox (9.24173pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (16.57161pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 with[][][]complexity[][] ([][]ppl[][][][]Constraints[][][] []Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^ ^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (23.66107pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Constraints[][][][]Product[] [109] Overfull \hbox (26.11101pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[ ][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (25.8513pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.3313pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.29152pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.80093pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][ ][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (31.95103pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.9711pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]topological[][][]closure[][][]assign[][] ([][]ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (9.71191pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (10.32164pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (30.02118pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 97--99 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (28.36113pt too wide) in paragraph at lines 99--101 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 99--101 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (15.58107pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 101--103 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (13.92102pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 103--105 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (21.13144pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][ ]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (12.5711pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][] Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.18124pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][] [][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.35155pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C [][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (5.02113pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][][]OK[][] ([][]ppl[][][]const[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.35141pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraint[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (30.00172pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruence[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] [110] Overfull \hbox (27.2413pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraints[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (33.89162pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruences[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.62155pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (34.7512pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]difference[][][]assign[][] ([][]ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.84091pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][] Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.1216pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[] [] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (6.42146pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]constrains[][] ([][]ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.63115pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (16.4315pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]image[][] ([][]ppl[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.2014pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]preimage[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26169pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (6.1413pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][] ([][]ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (18.9112pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (2.52121pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][] rhs[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (15.2911pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][ ][]rhs[][] ([][]ppl[][][][]Constraints[] [111] Overfull \hbox (8.89146pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embe d[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.00131pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]proj ect[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.55145pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (4.99152pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.70161pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][] [][]Constraints[][][][]Product[] Overfull \hbox (0.69177pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[ ][][]2[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.97137pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes[][] ([][] ppl[][][]const[][][][]Constraints[] Overfull \hbox (21.40106pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl [][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (22.70122pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens[][] ([ ][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (31.69138pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.85143pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Constraints[][][][]Pro duct[][][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.83125pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Constraints[][][][]P roduct[][][][]C[][][][]Polyhedron[][][][]Grid[][] (char $\OMS/cmsy/m/n/10 ^^C$$ ^^C$\OT1/ptm/bc/n/10 strp, [][]ppl[][][]const[][][][]Constraints[][][][]Product [] Overfull \hbox (35.29124pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.02145pt too wide) in paragraph at lines 199--200 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]load[][] ([][]ppl[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (36.6532pt too wide) in paragraph at lines 211--212 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Constraints[][][][]Product[][][][]C[] [][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3924pt too wide) in paragraph at lines 217--218 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/ 8 int ppl[][][]new[][][][]Constraints[] [112] Overfull \hbox (7.45296pt too wide) in paragraph at lines 223--224 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (21.8929pt too wide) in paragraph at lines 229--230 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/p cr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.60298pt too wide) in paragraph at lines 235--236 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Constraints[][][][]Product[] Overfull \hbox (4.50287pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (36.70241pt too wide) in paragraph at lines 247--248 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (37.8224pt too wide) in paragraph at lines 253--254 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (11.0221pt too wide) in paragraph at lines 259--260 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (12.14209pt too wide) in paragraph at lines 265--266 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [113] Overfull \hbox (1.2729pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][] Overfull \hbox (23.67259pt too wide) in paragraph at lines 277--278 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \O T1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (0.87228pt too wide) in paragraph at lines 283--284 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (21.9302pt too wide) in paragraph at lines 289--290 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (7.24219pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (21.68213pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (40.87224pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexity()[] \ OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.2921pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] [114] Overfull \hbox (8.31012pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (9.43011pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (15.90984pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 331--332 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity Overfull \hbox (17.02983pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 337--338 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity Overfull \hbox (1.06213pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (23.46182pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]w ith[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (2.88002pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity()[] Overfull \hbox (8.37407pt too wide) in paragraph at lines 355--356 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity ( [115] Overfull \hbox (1.85179pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid[] Overfull \hbox (9.12473pt too wide) in paragraph at lines 361--362 [][]\OT1/ptm/b/n/10 with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]fro m[][][][]Constraints[][][][]Product[] Overfull \hbox (27.82246pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (33.37253pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Congruence[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (2.81264pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (0.49269pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]C onstraints[][][][]Product[][][][]C[] Overfull \hbox (26.7724pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.09247pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 in t ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (32.32246pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] [116] Overfull \hbox (16.91315pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.16286pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (27.49298pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.85233pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (23.39287pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.78227pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.47299pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (5.57285pt too wide) in paragraph at lines 451--452 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (21.08315pt too wide) in paragraph at lines 457--458 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] [117] Overfull \hbox (19.42297pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.84259pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (9.18242pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (15.74998pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (5.10138pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][]Product[ ][][][]C[][][][]Polyhedron[] Overfull \hbox (3.73514pt too wide) in paragraph at lines 487--488 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]strictly[][][]contains[][] [][]Constraints[][][][]Product[] Overfull \hbox (2.97153pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][][][]Prod uct[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.69514pt too wide) in paragraph at lines 493--494 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from [][][][]Constraints[][][][]Product[][][][]C[] [118] Overfull \hbox (7.42003pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C[][][][] Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (17.62337pt too wide) in paragraph at lines 505--506 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][][]O[]K()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][ ][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (43.0329pt too wide) in paragraph at lines 511--512 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.58293pt too wide) in paragraph at lines 517--518 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][] Overfull \hbox (46.92279pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.59282pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[] Overfull \hbox (15.10251pt too wide) in paragraph at lines 535--536 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (20.65257pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] [119] Overfull \hbox (18.9924pt too wide) in paragraph at lines 547--548 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (24.54247pt too wide) in paragraph at lines 553--554 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (1.13237pt too wide) in paragraph at lines 559--560 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []Constraints[][][][]Product[] Overfull \hbox (7.54259pt too wide) in paragraph at lines 565--566 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (1.40259pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.6827pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Constraints[][][][]Product[] Overfull \hbox (2.6125pt too wide) in paragraph at lines 583--584 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[][][] Overfull \hbox (6.58226pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/ pcr/m/n/8 int ppl[][][][]Constraints[] [120] Overfull \hbox (23.87296pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[ ][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.49197pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (14.38187pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.02313pt too wide) in paragraph at lines 613--614 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Const raints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (47.28302pt too wide) in paragraph at lines 619--620 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.30272pt too wide) in paragraph at lines 625--626 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (29.5626pt too wide) in paragraph at lines 631--632 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] [121] Overfull \hbox (26.94246pt too wide) in paragraph at lines 637--638 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (4.72232pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (23.78194pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (38.04182pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (31.03197pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \O T1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.062pt too wide) in paragraph at lines 667--668 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] [122] Overfull \hbox (31.01239pt too wide) in paragraph at lines 673--674 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.91202pt too wide) in paragraph at lines 679--680 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pc r/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (26.97238pt too wide) in paragraph at lines 685--686 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (16.16231pt too wide) in paragraph at lines 691--692 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (18.63242pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (13.61229pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1 /pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (22.2123pt too wide) in paragraph at lines 709--710 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.1626pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Constraints[][][][]Product[] [123] Overfull \hbox (17.7627pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (7.33206pt too wide) in paragraph at lines 727--728 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m /n/8 int ppl[][][][]Constraints[] Overfull \hbox (0.60266pt too wide) in paragraph at lines 733--734 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (1.51312pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[][] [][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]pri nt[][][][]Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.96307pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fp rint[][][][]Constraints[][][][]Product[] Overfull \hbox (12.32301pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]a sprint[][][][]Constraints[][][][]Product[] Overfull \hbox (27.48296pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.81302pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] [124]) (./interfaceppl__Double__Box__tag.tex Overfull \hbox (7.5225pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (8.08257pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (20.86249pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (2.41263pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (0.19238pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (7.11237pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (7.67242pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (10.54063pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, Overfull \hbox (11.1007pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, [125] Overfull \hbox (9.49263pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Congruence[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[ ] Overfull \hbox (3.63234pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]relation[][][]with [][][][]Congruence[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.28996pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]constrain ts[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][ ]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/pt m/bc/n/10 pcs) Overfull \hbox (11.96216pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]minimized [][][]congruences[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] p h, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (4.71272pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]above[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.32245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]below[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.72252pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]upper[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (9.47238pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]lower[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (10.58188pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]maximize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.92183pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]minimize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] [126] Overfull \hbox (5.85234pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]refine[][][]with[] [][]congruences[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]const[][][][]Congruence[][][][]System[] Overfull \hbox (0.82236pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]affine[][][]image[ ][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension[][] []type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (9.33069pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, enum Overfull \hbox (32.23175pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Double[][][][]Box[][][]t [][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.37874pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]remove[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]dimension[][][]type[][] ds[]$ $[], size[] [127] Overfull \hbox (8.12848pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]map[][][]space[][] []dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][] dimension[][][]type[][] maps[]$ $[], size[] Overfull \hbox (6.6776pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][] []non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.24174pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[] C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Do uble[][][][]Box[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (13.81174pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Constraint[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[][][][]S ystem[] Overfull \hbox (10.43216pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Generator[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[][][][]Sys tem[] Overfull \hbox (2.53229pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (0.31232pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (8.11209pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.89212pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (6.40175pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] Overfull \hbox (4.18178pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] [128] Overfull \hbox (1.9221pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [129] Overfull \hbox (3.0421pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class Overfull \hbox (3.4633pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (17.3135pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double [][][][]Box[][][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (29.44342pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][] [][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.60333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[ ]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[]C[] [130] Overfull \hbox (17.61194pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Grid[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][] [][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (9.21332pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ratio nal[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (0.13283pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.25282pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (8.05254pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (9.17253pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (10.78336pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Doubl e[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Double[][][][]Box[][][]from[][][][]Double[][][][]Box[] Overfull \hbox (2.46303pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[][][] [131] Overfull \hbox (17.10274pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.68216pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Const raint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Constraint[][][][]System ( Overfull \hbox (7.23222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Congr uence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Congruence[][][][]System ( [132] [133] [134] Overfull \hbox (9.26186pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]strictly[][][]contains[][] [][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] strictly[][][]contains[][][][]Double[][][][]Box ( Overfull \hbox (0.412pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]is[][][]disjoint[][][]from [][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[] [][]is[][][]disjoint[][][]from[][][][]Double[][][][]Box ( [135] [136] Overfull \hbox (0.60197pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]upper[][][]bound[][][]assi gn[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] upper[][][]bound[][][]assign[][][]if[][][]exact ( Overfull \hbox (6.14165pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][]c ontext[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]sim plify[][][]using[][][]context[][][]assign Overfull \hbox (8.35168pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstrai n[][][]space[][][]dimension ( Overfull \hbox (7.44157pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstra in[][][]space[][][]dimensions [137] Overfull \hbox (2.58203pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]generalize d[][][]affine[][][]preimage ( Overfull \hbox (6.62314pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]generalized[][][]affine[][][]image[] Overfull \hbox (35.28304pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]generalized[][][]affine[][][]preimage[] Overfull \hbox (11.95317pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][ ][]add[][][]space[][][]dimensions[][][]and[] Overfull \hbox (13.9832pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]add[][][]space[][][]dimensions[][][]and[] [138] Overfull \hbox (26.65173pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]higher[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]re move[][][]higher[][][]space[][][]dimensions Overfull \hbox (2.832pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][ ]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (20.41351pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]drop[][][]some[][][]non[][][]integer[][][]points[] [139] Overfull \hbox (1.8932pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][] []assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][] Box[][][][]C[]C76[][][]widening[][][]assign[][][] Overfull \hbox (3.27177pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][][] with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]widen ing[][][]assign[][][]with[][][]tokens ( Overfull \hbox (25.9632pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]limited[][][][]C[]C76[][][]extrapolation[] [140] Overfull \hbox (15.36191pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co nstraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Constraint[][][][]System Overfull \hbox (1.09346pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co ngruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Congruence[][][] Overfull \hbox (8.88197pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Ge nerator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][] Box[][][]recycle[][][][]Generator[][][][]System [141] Overfull \hbox (13.21346pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (11.54353pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]P[]R[][][][]Double[] Overfull \hbox (17.46326pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (15.79333pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]P[]R[][][][]Double[] Overfull \hbox (21.81346pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (20.14354pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]P[]R[][][][]Double[] [142] Overfull \hbox (26.06326pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (24.39334pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]P[]R[][][][]Double[] ) (./interfaceppl__Generator__System__const__iterator__tag.tex [143] Overfull \hbox (20.03731pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][]it erator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (28.62701pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][ ]iterator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (8.34723pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Generator[][][][]Sys tem[][][]const[][][]iterator[] Overfull \hbox (0.86711pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Generator[][][][ ]System[][][]const[][][]iterator[] ) (./interfaceppl__Generator__System__tag.tex Overfull \hbox (18.41797pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][] ([][]ppl[][][][]Generator[][][][]System[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (7.88792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Generator[][][][]System [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[] [144] Overfull \hbox (5.21785pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]begin[][] ([][]ppl[][][]const[][][][]Generator[][][][]System[][][]t[][] gs, [][]ppl[][][ ][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Generator__tag.tex [145] [146]) (./interfaceppl__Grid__Generator__System__const__iterator__tag.tex Overfull \hbox (20.31735pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][][]S ystem[][][]const[][][]iterator[][] ([][]ppl[] Overfull \hbox (2.36742pt too wide) in paragraph at lines 19--21 [][][]\OT1/ptm/bc/n/10 Grid[][][][]Generator[][][][]System[][][]const[][][]iter ator[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgit, [][]ppl[][][]const [][][][]Grid[][][][]Generator[][][][]System[][][]const[][][]iterator[] Overfull \hbox (1.91568pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][] []System[][][]const[][][]iterator[][] Overfull \hbox (10.18723pt too wide) in paragraph at lines 22--24 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Grid[][][][]Generator[][][][]System[][][]const [][][]iterator[][][]t[][] dst, [][]ppl[][][]const[][][][]Grid[][][][]Generator[ ][][][]System[][][]const[][][]iterator[] Overfull \hbox (20.85709pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Grid[][][][]Generator [][][][]System[][][]const[][][]iterator[] Overfull \hbox (12.24728pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Grid [][][][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Grid__Generator__System__tag.tex [147] Overfull \hbox (4.49792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][][][ ]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.08763pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][] [][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.24803pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]begin[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][] []t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (5.61804pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]end[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][][] t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (2.72562pt too wide) in paragraph at lines 73--75 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][] System[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) [148]) (./interfaceppl__Grid__Generator__tag.tex [149]) (./interfaceppl__Grid__tag.tex Overfull \hbox (3.80247pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][ ][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron [] [150] Overfull \hbox (1.55243pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][] []Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[] [][][]Shape[] Overfull \hbox (27.93198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[ ][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (6.9618pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][] []Generator[][][][]System[][] ([][]ppl[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid[][][][]Generator[][][ ][]System[] Overfull \hbox (3.21011pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][ ][]Congruence[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p cs) Overfull \hbox (7.22137pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]grid[][ ][]generators[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (28.41115pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]maximize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (26.7511pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]minimize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] [151] Overfull \hbox (24.14204pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]bounded[][][]affine[][][]image[ ][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] va r, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.17998pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum Overfull \hbox (4.87045pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]dimension[][][]type[][] var, enum Overfull \hbox (1.3616pt too wide) in paragraph at lines 187--189 [][]\OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]c onst[][][][]Coefficient[][][]t[][] d, [][]ppl[] [152] Overfull \hbox (5.27174pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]pr eimage[][][]lhs[][][]rhs[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][] []t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.88818pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]fold[][][]space[][][]dimensions [][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] d s[]$ $[], size[][][]t n, [][]ppl[][][]dimension[] Overfull \hbox (9.77875pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]wrap[][][]assign[][] ([][]ppl[] [][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], size[ ][][]t n, enum [][]ppl[][][]enum[][][][]Bounded[] Overfull \hbox (8.82231pt too wide) in paragraph at lines 237--239 [][][]\OT1/ptm/bc/n/10 Bounded[][][][]Integer[][][][]Type[][][][]Overflow[][] o , const [][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cms y/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, un-signed complexity[] [153] Overfull \hbox (4.96187pt too wide) in paragraph at lines 269--271 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.7419pt too wide) in paragraph at lines 271--273 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (4.41154pt too wide) in paragraph at lines 273--275 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.19157pt too wide) in paragraph at lines 275--277 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] [154] Overfull \hbox (8.37189pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class Overfull \hbox (9.49188pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class Overfull \hbox (36.272pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Pol yhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Gr id[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[] [155] Overfull \hbox (33.32191pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][]Bo x[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity Overfull \hbox (2.50291pt too wide) in paragraph at lines 399--400 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.7429pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.06262pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (20.18262pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (17.61194pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Box[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity [156] Overfull \hbox (0.9931pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (6.0328pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Grid[][][]from[][][][]Octagonal[] [157] [158] [159] [160] [161] [162] Overfull \hbox (3.7116pt too wide) in paragraph at lines 807--808 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[][][]a ffine[][][]preimage[][][]lhs[][][]rhs Overfull \hbox (13.20297pt too wide) in paragraph at lines 813--814 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[] [][]affine[][][]image[][][]with[] [163] Overfull \hbox (19.78285pt too wide) in paragraph at lines 819--820 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalize d[][][]affine[][][]preimage[] Overfull \hbox (0.44244pt too wide) in paragraph at lines 825--826 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[ ][][]generalized[][][]affine[][][] Overfull \hbox (11.82233pt too wide) in paragraph at lines 831--832 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Gr id[][][]generalized[][][]affine[] [164] Overfull \hbox (17.18285pt too wide) in paragraph at lines 903--904 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[][ ][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]congruence[][][ ]widening[][][]assign[][][]with[] Overfull \hbox (5.15298pt too wide) in paragraph at lines 909--910 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generator[][][]w idening[][][]assign[][][]with[] [165] Overfull \hbox (10.54222pt too wide) in paragraph at lines 939--940 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][ ][]limited[][][]congruence[] Overfull \hbox (1.39236pt too wide) in paragraph at lines 945--946 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][] []limited[][][]generator[][][] Overfull \hbox (22.05283pt too wide) in paragraph at lines 951--952 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]congru ence[][][]extrapolation[] Overfull \hbox (10.02296pt too wide) in paragraph at lines 957--958 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]generat or[][][]extrapolation[] [166] Overfull \hbox (7.5717pt too wide) in paragraph at lines 981--982 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Grid[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]recyc le[][][][]Grid[][][][]Generator[][][][]System ( [167] [168]) (./interfaceppl__Linear__Expression__tag.tex [169] Overfull \hbox (22.34773pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (18.96815pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Generator[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Generator [] Overfull \hbox (15.40788pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]inhomoge neous[][][]term[][] ([][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[ ][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (2.65662pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le , [][]ppl[][][]dimension[][][]type[][] var, [170] Overfull \hbox (22.89804pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]inhomogeneous[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (25.43753pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]multiply[][][][]Linear[][][][]Expression [][][]by[][][][]Coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t [][] le, [][]ppl[][][]const[][][][]Coefficient[] ) (./interfaceppl__MIP__Problem__tag.tex [171] Overfull \hbox (14.92802pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][] ([ ][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pmip, [][]ppl[][][]dimension[][][]type[][] d, [][]ppl[][][]const[][][][ ]Constraint[] Overfull \hbox (20.14798pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][][]f rom[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pmip, [][]ppl[][][]const[][][][ ]M[]I[]P[][][][]Problem[] Overfull \hbox (14.84767pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]M[]I[]P[][][][]Problem[][] []from[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[] Overfull \hbox (1.62802pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]number[][] []of[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[] I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[] Overfull \hbox (0.81778pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]integer[][ ][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (28.59772pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]objective[ ][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [172] Overfull \hbox (11.228pt too wide) in paragraph at lines 97--99 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]s pace[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]M[]I[]P[][][][]Pro blem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (5.5279pt too wide) in paragraph at lines 100--102 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]t o[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][][]M[]I[]P[][][][]Pr oblem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (18.59772pt too wide) in paragraph at lines 109--111 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]set[][][]o bjective[][][]function[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] mi p, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (28.95757pt too wide) in paragraph at lines 124--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][ ]objective[][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]const[][][][]Generator[] [173] Underfull \hbox (badness 10000) detected at line 188 [][][] Overfull \hbox (2.87207pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][]objecti ve[][][]function()[] \OT1/pcr/m/n/8 int ppl[][][][]M[]I[]P[][][][]Problem[][][] evaluate[][][]objective[][][]function Underfull \vbox (badness 10000) has occurred while \output is active [174]) (./interfaceppl__Octagonal__Shape__double__tag.tex Overfull \hbox (8.3726pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (6.15236pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (19.41191pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (19.97197pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.70268pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (0.96109pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , Overfull \hbox (6.37234pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (1.80223pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.24217pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] [175] Overfull \hbox (3.17188pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (18.17213pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.342pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (2.93048pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (9.5808pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (1.24069pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (7.51181pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][] double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.2519pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][] [][]Shape[][][]double[] Overfull \hbox (2.76273pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] [176] Overfull \hbox (3.37245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.63188pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m aximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.97183pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m inimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.18202pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]e quals[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (26.40169pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][] t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (30.29158pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (8.17241pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] x, [][]ppl[] [177] Overfull \hbox (14.04181pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]s implify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (7.54207pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.75189pt too wide) in paragraph at lines 165--167 \OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Linear[ ][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expres sion[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (0.3125pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 169--171 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (11.962pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.4618pt too wide) in paragraph at lines 173--175 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.47182pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (3.46184pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel -sym, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.07217pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[] Overfull \hbox (2.18202pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (3.60226pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]r emove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.11154pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]t otal[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] ps, size[] [178] Overfull \hbox (2.2523pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (10.75203pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (29.17184pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] x, [][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (11.14146pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (19.01163pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (3.4617pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (2.10213pt too wide) in paragraph at lines 217--219 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.62177pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l inear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][ ]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (12.21039pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (10.5206pt too wide) in paragraph at lines 229--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (14.96205pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (4.28249pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]recycled[][][]congruences[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.76215pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (15.54218pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.21182pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] [179] Overfull \hbox (14.99185pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (2.71152pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.49155pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.83298pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octag onal[][][][]Shape[][][]double[][][] Overfull \hbox (9.09355pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (1.45348pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]double[] [180] Overfull \hbox (6.14346pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (16.26299pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.38298pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.23317pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.55287pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[] [181] Overfull \hbox (1.20277pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[] Overfull \hbox (15.64272pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (20.43282pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.13269pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][] Overfull \hbox (30.45222pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [182] Overfull \hbox (1.0919pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (19.02274pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.42241pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.3421pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \O T1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (7.38304pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (12.9331pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (5.70311pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (8.91173pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]space[][][]dimension ( [183] Overfull \hbox (4.67178pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]affine[][][]dimension Overfull \hbox (11.13298pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (9.45305pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]relation[] Overfull \hbox (16.68304pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (1.67188pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]constraints ( Overfull \hbox (7.22194pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]congruences ( Overfull \hbox (40.05272pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][]minimized[] Overfull \hbox (2.40276pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][] [184] Overfull \hbox (0.763pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]contains[] Overfull \hbox (36.69293pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]t opologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]is[][][]topologically[] Overfull \hbox (30.54286pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topologic al[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]topological[] Overfull \hbox (2.31358pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] Overfull \hbox (2.41344pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] [185] Overfull \hbox (17.28319pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]maximize[][][]with[] Overfull \hbox (15.62302pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]minimize[][][]with[] Overfull \hbox (9.77266pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (11.68211pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[ ][][]contains[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.55226pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]d isjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [186] Overfull \hbox (1.4427pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][ ][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[] Overfull \hbox (1.88202pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]double [][][]add[][][]congruence ( Overfull \hbox (5.02185pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]constraints ( Overfull \hbox (0.97191pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]congruences Overfull \hbox (11.9431pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (17.49316pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (15.833pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][]with[] Overfull \hbox (2.18304pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][] [187] Overfull \hbox (4.69296pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]intersect ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]intersection[] Overfull \hbox (4.38318pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]upper[][][]bound[] Overfull \hbox (10.38168pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]differenc e[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]dou ble[][][]difference[][][]assign Overfull \hbox (0.44328pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]concatena te[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]do uble[][][]concatenate[] Overfull \hbox (19.2716pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]time[][][ ]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]time[][][]elapse[][][]assign Overfull \hbox (13.02286pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]double[][][]upper[] Overfull \hbox (31.04254pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[ ][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]simplify[] Overfull \hbox (45.73259pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]unconstrain[] [188] Overfull \hbox (49.62248pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]unconstrain[] Overfull \hbox (5.38208pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]affine[][][]preimage ( Overfull \hbox (26.54332pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]bounded[][][]affine[] Overfull \hbox (9.12318pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]bounded[] Overfull \hbox (25.70305pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]generalized[] Overfull \hbox (39.96294pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]generalized[] [189] Overfull \hbox (3.34251pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (17.6024pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (10.59254pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (12.62257pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (5.77296pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]remove[] Overfull \hbox (5.4726pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (1.73296pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]expand[] [190] Overfull \hbox (8.2029pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][ ]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]fold[][][]space[] Overfull \hbox (5.873pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]map[][][]space[] Overfull \hbox (15.25288pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[][][]drop[] Overfull \hbox (1.77287pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.52318pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]external[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]external[] Overfull \hbox (19.40329pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[][] []memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]total[][][]memory[] Overfull \hbox (2.2523pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int pp l[][][][]Octagonal[][][][]Shape[][][] [191] Overfull \hbox (8.9629pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]double[][][][]B[]H[]M[]Z05[] Overfull \hbox (28.17267pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]widening[] Overfull \hbox (6.70175pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]widening[][][]assign ( Overfull \hbox (24.4117pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.29196pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.40228pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.08257pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (1.57251pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl [][][][]Octagonal[][][][]Shape[] [192] Overfull \hbox (1.56311pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][][]C[]C76[] Overfull \hbox (35.14339pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][][]C[]C76[][][]narrowing[] Overfull \hbox (9.26175pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[][ ][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]linear[][][]partition ( Overfull \hbox (16.26279pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (21.81285pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58286pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]double[] [193] Overfull \hbox (0.85263pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]assign[][][][]Octagonal[][][] Overfull \hbox (28.96295pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (34.51302pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (10.80316pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.13324pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (24.33284pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (22.66292pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (28.58264pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (26.91272pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] [194] Overfull \hbox (19.40317pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.73325pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (32.93285pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (31.26292pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (37.18265pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (35.51273pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] [195]) (./interfaceppl__Octagonal__Shape__mpq__class__tag.tex Overfull \hbox (1.09158pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.79044pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (4.43195pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.57019pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (2.1917pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.75175pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.12051pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (6.36191pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.53203pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] [196] Overfull \hbox (15.40186pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.80197pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (13.18161pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (17.33156pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.73193pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.3313pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.64151pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.47102pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.78123pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.00133pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.41159pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (3.98143pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] [197] Overfull \hbox (7.47116pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.2513pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (24.68086pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (23.291pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (13.56143pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.33154pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (13.3314pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (1.11198pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] x, [][]ppl[] [198] Overfull \hbox (4.79182pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.66122pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.96138pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.30138pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.19127pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (21.97142pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (14.74185pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.60994pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (3.58142pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (11.6315pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.23186pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[] Overfull \hbox (6.3417pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (1.33191pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[] Overfull \hbox (2.17026pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (11.47173pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] [199] Overfull \hbox (6.07129pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.44176pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.37144pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (24.74109pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (9.19116pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.79141pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.62138pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.29158pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11128pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (20.00146pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.22195pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.34146pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pq[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.05pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, [200] Overfull \hbox (0.54193pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][ ]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.52112pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.30115pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.14194pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.92197pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.59161pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.37164pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.06079pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (2.50148pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.58278pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][] Overfull \hbox (13.64336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] [201] Overfull \hbox (1.20328pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (9.49188pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]from[][][][]Grid Overfull \hbox (10.69327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.61278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (2.73277pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (1.85248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.97247pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] [202] Overfull \hbox (2.98297pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.35258pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (29.79253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.9026pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.4025pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [203] Overfull \hbox (11.24171pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (12.36171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.29253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.0919pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (7.13284pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (12.6829pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] [204] Overfull \hbox (5.45291pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (25.94154pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]space[][][]dimension Overfull \hbox (31.3016pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]affine[][][]dimension Overfull \hbox (37.7628pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (36.08287pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (2.03284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (18.70169pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]constraints Overfull \hbox (24.25175pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]congruences Overfull \hbox (3.3225pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] [205] Overfull \hbox (8.87256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (27.39282pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]contains[] Overfull \hbox (0.92271pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]is[][][] Overfull \hbox (1.49265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.86339pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] Overfull \hbox (6.96324pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] [206] Overfull \hbox (21.833pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]maximize[] Overfull \hbox (20.17282pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]minimize[] Overfull \hbox (6.39226pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] [207] Overfull \hbox (13.10172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.97186pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.9423pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.36177pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]constraint Overfull \hbox (18.91183pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]congruence Overfull \hbox (22.05167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]constraints Overfull \hbox (27.60173pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]congruences Overfull \hbox (16.4929pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] [208] Overfull \hbox (22.04297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (20.3828pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (25.93286pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (31.32278pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]intersection[] Overfull \hbox (4.13298pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]upper[] Overfull \hbox (14.31299pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]difference[] Overfull \hbox (27.0731pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpq[][][]class[][][]concatenate[] Overfull \hbox (23.20291pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]time[][][]elapse[] [209] Overfull \hbox (12.77266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.39233pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.68237pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (20.57227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.352pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]affine[][][]image ( Overfull \hbox (22.4119pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]affine[][][]preimage Overfull \hbox (21.49312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]bounded[] [210] Overfull \hbox (2.15298pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][] Overfull \hbox (52.33287pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (10.91272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.09232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (10.34235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpq[] [211] Overfull \hbox (12.37238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (0.72276pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.2224pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (28.36278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]expand[] Overfull \hbox (7.9527pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[][][]fold[] Overfull \hbox (5.6228pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]map[] Overfull \hbox (19.80269pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.52267pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpq[] [212] Overfull \hbox (2.87297pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (14.35309pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]total[] Overfull \hbox (13.52211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.9127pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (13.52246pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.03305pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]widening[] Overfull \hbox (38.56151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [213] Overfull \hbox (22.44177pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (11.67209pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.83237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.72232pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.29317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (26.29156pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]linear[][][]partition [214] Overfull \hbox (1.61258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (4.28264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.33266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (26.27225pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (14.31274pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]add[] Overfull \hbox (2.5828pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.95296pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][] Overfull \hbox (23.28305pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] [215] Overfull \hbox (36.81273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (42.73245pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (41.06253pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (6.67296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (5.00304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (5.80263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.1327pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] [216] Overfull \hbox (5.25243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (3.5825pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] ) (./interfaceppl__Octagonal__Shape__mpz__class__tag.tex [217] Overfull \hbox (10.67032pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (3.31183pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.45007pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (1.63164pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.1917pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.0004pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (5.24179pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.41191pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.8418pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.24191pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (12.62155pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.21144pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.17188pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.17188pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (7.21118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.8615pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.5214pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [218] Overfull \hbox (11.3509pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.66112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.88121pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.53152pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.29147pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (2.86131pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.35104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (23.56075pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (22.17088pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] [219] Overfull \hbox (12.44131pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.21143pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.21129pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.10118pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.6717pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.5411pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.84126pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.18126pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.07115pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (20.8513pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (13.62173pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.61021pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (1.48982pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]t[][] ph, [220] Overfull \hbox (2.4613pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (10.51138pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.11174pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[] Overfull \hbox (5.22159pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (0.21179pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[] Overfull \hbox (1.05014pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (16.10132pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.35161pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.95117pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.8817pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.25133pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.55139pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz [][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (24.18103pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.6311pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.23135pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.50127pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] [221] Overfull \hbox (4.73152pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.99117pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (18.88135pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.10184pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (10.22134pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pz[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.401pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.18103pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.58188pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.36191pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.03156pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.81158pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.94067pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] [222] Overfull \hbox (1.38136pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (25.67891pt too wide) in paragraph at lines 267--269 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) Overfull \hbox (23.4628pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.52336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.37189pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]from[][][][]Grid Overfull \hbox (9.57327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.49278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] [223] Overfull \hbox (1.61278pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (0.73248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.85248pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (3.4633pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.86298pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.23259pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (28.67253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [224] Overfull \hbox (1.78261pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.2825pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (1.40201pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (10.12172pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (11.24171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.17253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] [225] Overfull \hbox (30.45222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (6.01285pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.56291pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.33292pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (24.82155pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]space[][][]dimension Overfull \hbox (30.18161pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]affine[][][]dimension Overfull \hbox (36.6428pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]relation[] [226] Overfull \hbox (34.96288pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]relation[] Overfull \hbox (0.91284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (17.5817pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]constraints Overfull \hbox (23.13176pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]congruences Overfull \hbox (2.2025pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.75256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] [227] Overfull \hbox (26.27283pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]contains[] Overfull \hbox (62.20276pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]is[][][]topologically[] Overfull \hbox (0.37265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.7434pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (5.84325pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (20.713pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]maximize[] [228] Overfull \hbox (19.05283pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]minimize[] Overfull \hbox (4.15227pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (10.86172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.73187pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (13.10233pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]mpz[] [229] Overfull \hbox (12.24178pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]constraint Overfull \hbox (17.79184pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]congruence Overfull \hbox (20.93167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]constraints Overfull \hbox (26.48174pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]congruences Overfull \hbox (15.37291pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (20.92297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (19.2628pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (24.81287pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (30.20279pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]intersection[] [230] Overfull \hbox (3.01299pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]upper[] Overfull \hbox (13.193pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpz[][][]class[][][]difference[] Overfull \hbox (25.95311pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpz[][][]class[][][]concatenate[] Overfull \hbox (22.08292pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]time[][][]elapse[] Overfull \hbox (11.65266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.27234pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.56238pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (19.45227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [231] Overfull \hbox (2.23201pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]affine[][][]image ( Overfull \hbox (21.2919pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]affine[][][]preimage Overfull \hbox (20.37312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]bounded[] Overfull \hbox (1.03299pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (51.21288pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (9.79272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] [232] Overfull \hbox (1.97232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.8322pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (9.22235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.25238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (2.48277pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (4.1024pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (27.24278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]expand[] [233] Overfull \hbox (6.8327pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[][][]fold[] Overfull \hbox (4.5028pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]map[] Overfull \hbox (18.6827pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.40268pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.75298pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.2331pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]total[] Overfull \hbox (12.40211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.79271pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] [234] Overfull \hbox (12.40247pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.79306pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]widening[][][] Overfull \hbox (37.44151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (21.32178pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.5521pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.71237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.60233pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [235] Overfull \hbox (4.99292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.17317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (25.17157pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]linear[][][]partition Overfull \hbox (0.49258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (3.16264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (13.21266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpz[] [236] Overfull \hbox (24.03226pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (13.19275pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]add[] Overfull \hbox (1.4628pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[] Overfull \hbox (23.83298pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (22.16306pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (37.36266pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (35.69273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (41.61246pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (39.94254pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] [237] Overfull \hbox (5.55296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (3.88304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (4.68263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (3.01271pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.13243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (2.46251pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] [238]) (./interfaceppl__PIP__Decision__Node__tag.tex) (./interfaceppl__PIP__Problem__tag.tex [239] Overfull \hbox (4.04826pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]const[][][][ ]P[]I[]P[][][][]Problem[] Overfull \hbox (1.52785pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]P[]I[]P[][][][]Problem[][] []from[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[] Overfull \hbox (5.47821pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][]constraints[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]dimension[][][]type[][] d , [][]ppl[] Overfull \hbox (4.99655pt too wide) in paragraph at lines 56--58 [][][]\OT1/ptm/bc/n/10 Constraint[][][][]System[][][]const[][][]iterator[][][]t [][] first, [][]ppl[][][][]Constraint[][][][]System[][][]const[][][]iterator[][ ][]t[][] last, size[][][]t n, [][]ppl[] Overfull \hbox (1.6448pt too wide) in paragraph at lines 58--58 []\OT1/ptm/m/it/9 Builds a P[]IP prob-lem hav-ing space di-men-sion \OT1/pcr/m/ sl/9 d \OT1/ptm/m/it/9 from the se-quence of con-straints in the range $\OT1/cm r/m/n/9 [[]\OML/cmm/m/it/9 ; []\OT1/cmr/m/n/9 )$\OT1/ptm/m/it/9 ; Overfull \hbox (4.54796pt too wide) in paragraph at lines 68--70 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]number[][] []of[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P []I[]P[][][][]Problem[][][]t[][] pip, [][]ppl[] Overfull \hbox (3.73772pt too wide) in paragraph at lines 71--73 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]parameter[ ][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Proble m[][][]t[][] pip, [][]ppl[][][]dimension[] [240] Overfull \hbox (6.23784pt too wide) in paragraph at lines 74--76 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]get[][][]b ig[][][]parameter[][][]dimension[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] Overfull \hbox (7.51797pt too wide) in paragraph at lines 80--82 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]constraint [][][]at[][][]index[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[][][] t[][] pip, [][]ppl[][][]dimension[][][]type[][] i, [][]ppl[] Overfull \hbox (8.44783pt too wide) in paragraph at lines 101--103 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]t o[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] [241] Overfull \hbox (4.83315pt too wide) in paragraph at lines 180--181 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]d imensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][] Problem[][][]add[][][]space[][][]dimensions[] Overfull \vbox (12.41583pt too high) has occurred while \output is active [242] Underfull \hbox (badness 10000) detected at line 205 [][][] ) (./interfaceppl__PIP__Solution__Node__tag.tex Overfull \hbox (28.95125pt too wide) in paragraph at lines 15--16 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][] get[][][]parametric[][][]values[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]S olution[][][][]Node[][][]t[][] pip[][][]sol, [][]ppl[][][]dimension[] Overfull \hbox (0.65196pt too wide) in paragraph at lines 48--49 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][]get[][][ ]parametric[][][]values()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][]Soluti on[][][][]Node[][][]get[][][]parametric[][][]values [243] Underfull \hbox (badness 10000) detected at line 65 [][][] ) (./interfaceppl__PIP__Tree__Node__tag.tex Overfull \hbox (0.62167pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]a s[][][]decision[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[ ][][]t[][] spip[][][]tree, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Decision[] Overfull \hbox (17.25174pt too wide) in paragraph at lines 30--32 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]b egin[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pip[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (9.62175pt too wide) in paragraph at lines 33--35 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]e nd[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pi p[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [244]) (./interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag.tex Overfull \hbox (12.70763pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.57777pt too wide) in paragraph at lines 18--19 \OT1/ptm/bc/n/10 Powerset[][][][]C[][][][]Polyhedron[][][]const[][][]iterator[] [][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pit, [][]ppl[][][]const[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[][][]const[] Overfull \hbox (35.44739pt too wide) in paragraph at lines 22--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]end[][] ([][]ppl[][][]const[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.6573pt too wide) in paragraph at lines 30--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][ ][][]Pointset[][][][]Powerset[] Overfull \hbox (36.28717pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] [245] Overfull \hbox (37.94722pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.17719pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]cons t[][][][]Pointset[][][][]Powerset[] Overfull \hbox (31.45328pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3125pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (20.29312pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (12.51323pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.74301pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[ ][][][]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (46.56291pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [246] Underfull \hbox (badness 10000) detected at line 105 [][][] Overfull \hbox (40.09293pt too wide) in paragraph at lines 112--113 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (41.75298pt too wide) in paragraph at lines 122--123 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.88287pt too wide) in paragraph at lines 132--133 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag.tex Overfull \hbox (20.47737pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]iterator[] [247] Overfull \hbox (20.17732pt too wide) in paragraph at lines 24--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.57744pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.23749pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.44711pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.63354pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.95306pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (35.75342pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]iterator[] Overfull \hbox (27.97353pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]iterator[] [248] Overfull \hbox (27.80331pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.74318pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 105 [][][] Underfull \hbox (badness 10000) detected at line 108 [][][] Overfull \hbox (14.2732pt too wide) in paragraph at lines 115--116 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.93324pt too wide) in paragraph at lines 125--126 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.06314pt too wide) in paragraph at lines 135--136 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__tag.tex [249] Overfull \hbox (38.41113pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.16135pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (27.31155pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.16983pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][][]with[][][]complexity[][] Overfull \hbox (20.07114pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]space[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.3812pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.48979pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]t[][] ph) Overfull \hbox (33.96088pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]topological[][][]closure[][][]assign[][] ([][]ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.70169pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.31142pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.85016pt too wide) in paragraph at lines 61--63 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][] Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p optimum) Overfull \hbox (2.16966pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]t[][] ph, [250] Overfull \hbox (37.57085pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (35.9108pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 67--69 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (21.75092pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (15.91096pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (13.97102pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (1.04984pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (15.07112pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72144pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96101pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (25.61133pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.14104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.8517pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.68123pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.85103pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.01141pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]constrains[][] ([][]ppl[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] [251] Overfull \hbox (14.02145pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.00993pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (16.48157pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.25146pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.13107pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 123--125 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (40.90097pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 125--127 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (12.01096pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([] []ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (5.61131pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.72116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]p pl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (32.54123pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71136pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (27.69139pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96115pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.07114pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]map[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.85179pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (8.96167pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.44122pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign[ ][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.9914pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][] ppl[][][][]Pointset[][][][]Powerset[] [252] Overfull \hbox (22.42798pt too wide) in paragraph at lines 174--176 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.6074pt too wide) in paragraph at lines 177--178 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]size[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][ ][][]C[][][][]Polyhedron[][][]t[][] ps, size[] Overfull \hbox (23.49762pt too wide) in paragraph at lines 179--180 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (23.24736pt too wide) in paragraph at lines 181--182 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (15.89742pt too wide) in paragraph at lines 185--186 \OT1/ptm/bc/n/10 t[][] ps, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]t[][] cit, [][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.23778pt too wide) in paragraph at lines 189--190 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[] [253] Underfull \hbox (badness 10000) detected at line 214 [][][] Overfull \hbox (25.52202pt too wide) in paragraph at lines 221--222 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (25.74188pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.22339pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]add[] Overfull \hbox (15.2834pt too wide) in paragraph at lines 251--252 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (19.1733pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (3.18323pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] [254] Overfull \hbox (9.6629pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (37.45274pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (1.60347pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.06046pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] Overfull \hbox (3.57407pt too wide) in paragraph at lines 305--306 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity Overfull \hbox (30.19272pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (19.09297pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.64304pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] [255] Overfull \hbox (5.60315pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (6.16321pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.12292pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.443pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (45.67299pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.08215pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]is[][][]empty Overfull \hbox (25.73187pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]universe Overfull \hbox (22.262pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]is[][][]bounded Overfull \hbox (29.75294pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [256] Overfull \hbox (29.20285pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.96188pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]discrete Overfull \hbox (45.1328pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72368pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]omega[] Overfull \hbox (18.82352pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.92337pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (8.17215pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]maximize Overfull \hbox (6.51198pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]minimize [257] Overfull \hbox (24.19312pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.53294pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.99251pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (6.30196pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (4.1721pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.66255pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (0.70338pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][] [258] Overfull \hbox (3.37344pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71327pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26334pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.45303pt too wide) in paragraph at lines 497--498 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.0031pt too wide) in paragraph at lines 503--504 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.34293pt too wide) in paragraph at lines 509--510 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.89299pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (14.4829pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] [259] Overfull \hbox (20.89311pt too wide) in paragraph at lines 527--528 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.0731pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.03322pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.08302pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.73277pt too wide) in paragraph at lines 551--552 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.47244pt too wide) in paragraph at lines 557--558 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.56197pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]constrains Overfull \hbox (1.76248pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[] [260] Overfull \hbox (5.65237pt too wide) in paragraph at lines 575--576 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (19.49364pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]affine[] Overfull \hbox (2.0735pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.65324pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (42.91313pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.29298pt too wide) in paragraph at lines 605--606 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [261] Overfull \hbox (3.67284pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (15.05244pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.31233pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.30247pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.3325pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (44.36292pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.18253pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] [262] Overfull \hbox (40.3229pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.51283pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.98294pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.8828pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (13.4828pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (46.51312pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.11322pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.15227pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][] assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [263] Overfull \hbox (22.31267pt too wide) in paragraph at lines 701--702 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.85257pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[] \OT1 /pcr/m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (18.69278pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.80214pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron ( Overfull \hbox (6.33209pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (16.69203pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (9.15346pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] Overfull \hbox (2.48352pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] [264]) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__const__iterator__tag.tex Overfull \hbox (11.83833pt too wide) in paragraph at lines 1--1 []\OT1/ptm/b/n/12 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]const[][][]iterator[][][]tag In-ter-face Ref-er-ence Overfull \hbox (30.36118pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.3908pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][] []const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.1415pt too wide) in paragraph at lines 23--25 [][][]\OT1/ptm/bc/n/10 N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][] t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]const[][][]iterator[] Overfull \hbox (10.87091pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.61319pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.75244pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [265] Overfull \hbox (44.33307pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.55318pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44278pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int p pl[][][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (3.65283pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (0.51288pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][] Overfull \hbox (2.44281pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (9.50294pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]d elete[][][][]Pointset[][][][]Powerset[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__iterator__tag.tex [266] Overfull \hbox (5.65144pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (11.31146pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]begin[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68147pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]end[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.23099pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.89104pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.83087pt too wide) in paragraph at lines 31--32 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.6735pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.393pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (18.51334pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.73344pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.10309pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [267] Overfull \hbox (38.31314pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (39.97319pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.78313pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.96323pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__tag.tex Overfull \hbox (5.3514pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.03156pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (0.11113pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.76144pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] [268] Overfull \hbox (4.25085pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.56107pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]con st[][][][]Pointset[][][][]Powerset[] Overfull \hbox (10.90117pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.7413pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.2213pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.18152pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.84103pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89133pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.47177pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.91118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]maximize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 63--65 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (19.25113pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (1.19106pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (14.80135pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (21.47098pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (20.08112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerse t[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (14.15979pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 77--79 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.90953pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 79--81 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [269] Overfull \hbox (7.02145pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][] [][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (14.24141pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraint[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89172pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruence[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.1313pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (24.78162pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruences[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.89159pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.02092pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.73158pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.6412pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]difference[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (32.56111pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.73091pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44106pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.9711pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (7.3215pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.0914pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.7517pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.6313pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[] [270] Overfull \hbox (13.681pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (26.4509pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.05125pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([ ][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (21.1611pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.1513pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.19162pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (3.25156pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][ ]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85156pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.13116pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][ ]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.47151pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.36153pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (14.25142pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjuncts[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.29173pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][] widening[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (23.40161pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assi gn[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (17.43134pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.74142pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [271] Overfull \hbox (26.18124pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.50212pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (24.10284pt too wide) in paragraph at lines 201--202 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.77258pt too wide) in paragraph at lines 207--208 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (27.60335pt too wide) in paragraph at lines 213--214 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.94034pt too wide) in paragraph at lines 219--220 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity()[] Overfull \hbox (22.77408pt too wide) in paragraph at lines 219--220 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity Overfull \hbox (0.51256pt too wide) in paragraph at lines 225--226 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[] [272] Overfull \hbox (33.53291pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.68295pt too wide) in paragraph at lines 237--238 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][] Overfull \hbox (29.6431pt too wide) in paragraph at lines 243--244 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.20316pt too wide) in paragraph at lines 249--250 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68283pt too wide) in paragraph at lines 255--256 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.0029pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (1.55289pt too wide) in paragraph at lines 267--268 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (8.22359pt too wide) in paragraph at lines 273--274 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[][][]is[] [273] Overfull \hbox (4.99329pt too wide) in paragraph at lines 279--280 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.32341pt too wide) in paragraph at lines 285--286 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.91286pt too wide) in paragraph at lines 291--292 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.36276pt too wide) in paragraph at lines 297--298 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.2233pt too wide) in paragraph at lines 303--304 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.0127pt too wide) in paragraph at lines 309--310 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (27.22318pt too wide) in paragraph at lines 315--316 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.8836pt too wide) in paragraph at lines 321--322 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.86346pt too wide) in paragraph at lines 327--328 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.96332pt too wide) in paragraph at lines 333--334 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [274] Overfull \hbox (2.79358pt too wide) in paragraph at lines 339--340 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (1.1334pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (0.23303pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][] Overfull \hbox (46.57289pt too wide) in paragraph at lines 357--358 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.59236pt too wide) in paragraph at lines 363--364 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (7.00032pt too wide) in paragraph at lines 369--370 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int [275] Overfull \hbox (4.87047pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][ ]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int Overfull \hbox (3.82037pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 381--382 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (4.04024pt too wide) in paragraph at lines 387--388 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 387--388 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (34.54243pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Poly hedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (21.86333pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (27.41339pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.75322pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [276] Overfull \hbox (31.30328pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.61295pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.363pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.70284pt too wide) in paragraph at lines 441--442 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (1.4529pt too wide) in paragraph at lines 447--448 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (38.52284pt too wide) in paragraph at lines 453--454 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.93306pt too wide) in paragraph at lines 459--460 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.11305pt too wide) in paragraph at lines 465--466 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [277] Overfull \hbox (39.07317pt too wide) in paragraph at lines 471--472 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.12297pt too wide) in paragraph at lines 477--478 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (12.29271pt too wide) in paragraph at lines 483--484 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (15.91238pt too wide) in paragraph at lines 489--490 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.70338pt too wide) in paragraph at lines 495--496 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (16.20242pt too wide) in paragraph at lines 501--502 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.09232pt too wide) in paragraph at lines 507--508 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85356pt too wide) in paragraph at lines 513--514 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [278] Overfull \hbox (26.11345pt too wide) in paragraph at lines 519--520 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.81316pt too wide) in paragraph at lines 525--526 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (1.67303pt too wide) in paragraph at lines 531--532 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][] Overfull \hbox (3.85289pt too wide) in paragraph at lines 537--538 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (10.43277pt too wide) in paragraph at lines 543--544 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.49239pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [279] Overfull \hbox (2.47224pt too wide) in paragraph at lines 555--556 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.74242pt too wide) in paragraph at lines 561--562 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m /n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.37242pt too wide) in paragraph at lines 567--568 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (0.24281pt too wide) in paragraph at lines 573--574 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (31.62247pt too wide) in paragraph at lines 579--580 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.88281pt too wide) in paragraph at lines 585--586 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.67274pt too wide) in paragraph at lines 591--592 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]N[]N[]C[] [280] Overfull \hbox (0.34285pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (19.32274pt too wide) in paragraph at lines 603--604 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n /8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (27.92274pt too wide) in paragraph at lines 609--610 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.39302pt too wide) in paragraph at lines 615--616 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.27313pt too wide) in paragraph at lines 621--622 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (12.98332pt too wide) in paragraph at lines 633--634 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (17.24333pt too wide) in paragraph at lines 639--640 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [281] Overfull \hbox (21.13322pt too wide) in paragraph at lines 645--646 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.59221pt too wide) in paragraph at lines 651--652 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.75261pt too wide) in paragraph at lines 657--658 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.4125pt too wide) in paragraph at lines 663--664 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[ ] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (33.13272pt too wide) in paragraph at lines 669--670 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.24208pt too wide) in paragraph at lines 675--676 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (30.37204pt too wide) in paragraph at lines 681--682 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][] [][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.71346pt too wide) in paragraph at lines 687--688 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] [282] Overfull \hbox (6.31339pt too wide) in paragraph at lines 693--694 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.52345pt too wide) in paragraph at lines 699--700 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[][][] ) (./interfaceppl__Polyhedron__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Rational[][][][ ]Box[] Overfull \hbox (10.59242pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (11.15248pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (6.71233pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] Overfull \hbox (7.27238pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] [283] Overfull \hbox (11.9928pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[ ][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[ ][][][]Shape[] Overfull \hbox (23.9324pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Octago nal[] Overfull \hbox (3.80247pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid [] Overfull \hbox (3.2623pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedr on[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (10.18228pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (0.8408pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (10.74234pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (1.40086pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (6.25206pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (6.81212pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (11.58266pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl [][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]p pl[] Overfull \hbox (0.57098pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [284] Overfull \hbox (25.27213pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][] Polyhedron[][][]t[][] y, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.6022pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (3.38223pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (20.04214pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.82217pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (11.182pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (8.96204pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (25.62195pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (23.40198pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (26.14159pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (23.92162pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (14.20235pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (11.98238pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (13.65202pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] [285] Overfull \hbox (11.43205pt too wide) in paragraph at lines 157--158 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (10.48825pt too wide) in paragraph at lines 168--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (23.78888pt too wide) in paragraph at lines 172--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (8.35905pt too wide) in paragraph at lines 174--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.46918pt too wide) in paragraph at lines 184--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedro n[] Overfull \hbox (24.92819pt too wide) in paragraph at lines 188--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint [] [286] Overfull \hbox (9.49837pt too wide) in paragraph at lines 190--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[] Overfull \hbox (22.799pt too wide) in paragraph at lines 194--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.72865pt too wide) in paragraph at lines 196--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] dst, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 202--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 204--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 206--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 208--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] [287] Overfull \hbox (2.65869pt too wide) in paragraph at lines 230--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][] Congruence[][][][]System[] Overfull \hbox (2.68785pt too wide) in paragraph at lines 232--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c onstraints[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Constraint[] Overfull \hbox (15.98848pt too wide) in paragraph at lines 234--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c ongruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Congruence[] Overfull \hbox (8.73904pt too wide) in paragraph at lines 250--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]abo ve[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (9.34877pt too wide) in paragraph at lines 252--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]bel ow[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (14.6082pt too wide) in paragraph at lines 254--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (1.86832pt too wide) in paragraph at lines 256--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][] ([][]ppl[][] []const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][] []Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (12.94815pt too wide) in paragraph at lines 258--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.84818pt too wide) in paragraph at lines 260--262 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][] []point[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Linear[][][][]Expression[] [288] Overfull \hbox (11.01836pt too wide) in paragraph at lines 265--266 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]strictly[][][]contains[][ ][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl [][][]const[][][][]Polyhedron[] Overfull \hbox (9.6285pt too wide) in paragraph at lines 267--268 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]fro m[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][ ]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.87866pt too wide) in paragraph at lines 299--300 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]refine[][][]with[][][]con gruences[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][] []Congruence[][][][]System[] [289] Overfull \hbox (2.82346pt too wide) in paragraph at lines 315--316 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][ ][]dimensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimens ion[][][]type[][] ds[]$ $[], Overfull \hbox (4.84868pt too wide) in paragraph at lines 317--318 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]affine[][][]image[][] ([] []ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.24907pt too wide) in paragraph at lines 323--324 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][] preimage[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] var, [][]ppl[] Overfull \hbox (0.58711pt too wide) in paragraph at lines 325--326 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]image[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[ ][][]type[][] var, enum Overfull \hbox (6.12796pt too wide) in paragraph at lines 327--328 \OT1/ptm/bc/n/10 enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-s ym, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] [][]const[][][][]Coefficient[] Overfull \hbox (0.9884pt too wide) in paragraph at lines 331--332 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [] []ppl[][][]const[][][][]Linear[] Overfull \hbox (12.40506pt too wide) in paragraph at lines 343--344 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]remove[][][]space[][][]di mensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] ds[]$ $[], size[] Overfull \hbox (12.1548pt too wide) in paragraph at lines 347--348 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]map[][][]space[][][]dimen sions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][ ]type[][] maps[]$ $[], size[] [290] Overfull \hbox (7.10867pt too wide) in paragraph at lines 371--372 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cm sy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (21.54861pt too wide) in paragraph at lines 375--376 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (6.11879pt too wide) in paragraph at lines 377--378 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[] Overfull \hbox (7.50677pt too wide) in paragraph at lines 379--380 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]generators[][] ( [][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]G enerator[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs) [291] Overfull \hbox (14.67685pt too wide) in paragraph at lines 393--394 [][][]\OT1/ptm/bc/n/10 Integer[][][][]Type[][][][]Overflow[][] o, const [][]ppl [][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 pcs, un-signed complexity[][][]threshold, Overfull \hbox (28.9686pt too wide) in paragraph at lines 395--396 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widen ing[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.51877pt too wide) in paragraph at lines 397--398 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][] assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]p pl[][][]const[][][][]Polyhedron[] Overfull \hbox (1.88829pt too wide) in paragraph at lines 403--404 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] Overfull \hbox (7.1482pt too wide) in paragraph at lines 405--406 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[] [][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (25.31825pt too wide) in paragraph at lines 407--408 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (5.86842pt too wide) in paragraph at lines 409--410 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (7.98883pt too wide) in paragraph at lines 411--412 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] [292] Overfull \hbox (31.4188pt too wide) in paragraph at lines 415--416 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.96896pt too wide) in paragraph at lines 417--418 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (1.31215pt too wide) in paragraph at lines 436--437 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]space [][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[ ][][]from[][][]space[][][]dimension ( Overfull \hbox (0.10345pt too wide) in paragraph at lines 456--457 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]C[][][] [293] Underfull \hbox (badness 10000) detected at line 462 [][][] Overfull \hbox (10.74222pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Constraint[][][][]System Overfull \hbox (11.32346pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Constraint[] Underfull \hbox (badness 10000) detected at line 487 [][][] Overfull \hbox (16.29228pt too wide) in paragraph at lines 494--495 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Congruence[][][][]System Overfull \hbox (16.87352pt too wide) in paragraph at lines 504--505 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 512 [][][] [294] Overfull \hbox (15.75209pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension Overfull \hbox (14.45259pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C [][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (5.94331pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 555 [][][] Overfull \hbox (12.08365pt too wide) in paragraph at lines 562--563 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[] Overfull \hbox (35.3634pt too wide) in paragraph at lines 572--573 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Constraint[] [295] Underfull \hbox (badness 10000) detected at line 580 [][][] Overfull \hbox (17.63371pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[] Overfull \hbox (40.91347pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 605 [][][] Overfull \hbox (37.75237pt too wide) in paragraph at lines 612--613 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] [][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]N []N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (3.98338pt too wide) in paragraph at lines 632--633 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 638 [][][] [296] Overfull \hbox (13.58339pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 661 [][][] [297] [298] Underfull \vbox (badness 10000) has occurred while \output is active [299] Overfull \hbox (9.58202pt too wide) in paragraph at lines 918--919 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]strictly[][][]contains[][][][]Pol yhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]strictly[][][]contain s[][][][]Polyhedron ( Overfull \hbox (0.73216pt too wide) in paragraph at lines 928--929 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][ ]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]is[][][]disjoint[ ][][]from[][][][]Polyhedron ( [300] [301] Underfull \hbox (badness 10000) detected at line 1024 [][][] Underfull \hbox (badness 10000) detected at line 1037 [][][] [302] Overfull \hbox (6.30173pt too wide) in paragraph at lines 1114--1115 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]context[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]simplify[][][]usi ng[][][]context[][][]assign Overfull \hbox (8.51176pt too wide) in paragraph at lines 1144--1145 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sion()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[] [][]dimension ( Overfull \hbox (7.60165pt too wide) in paragraph at lines 1154--1155 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[ ][][]dimensions [303] [304] Overfull \hbox (2.74211pt too wide) in paragraph at lines 1275--1276 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generalized[][][]affine[ ][][]preimage ( Underfull \vbox (badness 10000) has occurred while \output is active [305] Overfull \hbox (6.78322pt too wide) in paragraph at lines 1298--1299 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]imag e[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generaliz ed[][][]affine[][][]image[] Overfull \hbox (35.44312pt too wide) in paragraph at lines 1319--1320 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (12.11325pt too wide) in paragraph at lines 1350--1351 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][]sp ace[][][]dimensions[][][]and[] Overfull \hbox (14.14328pt too wide) in paragraph at lines 1360--1361 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][] space[][][]dimensions[][][]and[] [306] Overfull \hbox (26.81181pt too wide) in paragraph at lines 1380--1381 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]remove[][][]high er[][][]space[][][]dimensions Overfull \hbox (7.42976pt too wide) in paragraph at lines 1396--1397 []\OT1/ptm/bc/n/10 The par-tial func-tion is de-fined on di-men-sion \OT1/pcr/m /n/10 i \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 i $\OML/cmm/m/it/10 <$ \OT1/pcr/m/n /10 n \OT1/ptm/bc/n/10 and \OT1/pcr/m/n/10 maps[]i[] != ppl[][][]not[][][]a[][] []dimension\OT1/ptm/bc/n/10 ; [307] Overfull \hbox (4.26228pt too wide) in paragraph at lines 1472--1473 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhe dron[][][]from[][][][]Generator[][][][]System Overfull \hbox (4.84352pt too wide) in paragraph at lines 1482--1483 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Pol yhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1490 [][][] Overfull \hbox (5.60371pt too wide) in paragraph at lines 1497--1498 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Generator[] [308] Overfull \hbox (28.88347pt too wide) in paragraph at lines 1507--1508 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[] C[][][][]Polyhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1515 [][][] [309] Underfull \hbox (badness 10000) detected at line 1568 [][][] [310] Overfull \hbox (22.67305pt too wide) in paragraph at lines 1626--1627 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][ ][]B[]H[]R[]Z03[][][]widening[][][]assign[] Overfull \hbox (9.79324pt too wide) in paragraph at lines 1636--1637 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign[] [][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][][]H79[][ ][]widening[][][]assign[][][]with[] Overfull \hbox (6.43242pt too wide) in paragraph at lines 1666--1667 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]limited[] [311] Overfull \hbox (3.15262pt too wide) in paragraph at lines 1676--1677 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]limited[][][][]H79[] Overfull \hbox (49.62305pt too wide) in paragraph at lines 1686--1687 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]lim ited[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (14.66322pt too wide) in paragraph at lines 1696--1697 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (13.67258pt too wide) in paragraph at lines 1706--1707 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]bounded[] Overfull \hbox (10.39278pt too wide) in paragraph at lines 1716--1717 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]bounded[][][][]H79[] [312] Overfull \hbox (56.8632pt too wide) in paragraph at lines 1726--1727 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bou nded[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (21.90338pt too wide) in paragraph at lines 1736--1737 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bounded[][][ ][]H79[][][]extrapolation[] Overfull \hbox (2.68365pt too wide) in paragraph at lines 1770--1771 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (9.44359pt too wide) in paragraph at lines 1776--1777 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] [313] Overfull \hbox (3.80365pt too wide) in paragraph at lines 1782--1783 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (10.56358pt too wide) in paragraph at lines 1788--1789 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.12337pt too wide) in paragraph at lines 1794--1795 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (23.24336pt too wide) in paragraph at lines 1806--1807 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (1.20328pt too wide) in paragraph at lines 1812--1813 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (4.67235pt too wide) in paragraph at lines 1830--1831 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][] Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [314] Overfull \hbox (19.11229pt too wide) in paragraph at lines 1836--1837 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[] N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (9.09355pt too wide) in paragraph at lines 1842--1843 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][ ][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (33.1335pt too wide) in paragraph at lines 1848--1849 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []N[]N[]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (36.272pt too wide) in paragraph at lines 1854--1855 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 1860--1861 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[ ]N[]C[][][][]Polyhedron[][][]from[][][][]Grid[][][]with[] Overfull \hbox (27.87338pt too wide) in paragraph at lines 1866--1867 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]Rational[] Overfull \hbox (10.6333pt too wide) in paragraph at lines 1872--1873 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (18.7929pt too wide) in paragraph at lines 1878--1879 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[] [315] Overfull \hbox (20.75282pt too wide) in paragraph at lines 1884--1885 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.71288pt too wide) in paragraph at lines 1890--1891 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][] Overfull \hbox (21.87282pt too wide) in paragraph at lines 1896--1897 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.7126pt too wide) in paragraph at lines 1902--1903 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.75252pt too wide) in paragraph at lines 1908--1909 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][] Overfull \hbox (27.8326pt too wide) in paragraph at lines 1914--1915 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.99251pt too wide) in paragraph at lines 1920--1921 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [316] Overfull \hbox (12.1634pt too wide) in paragraph at lines 1926--1927 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]C[][][][]Polyhedron[][][]from[][][][]Double[] Overfull \hbox (4.52333pt too wide) in paragraph at lines 1932--1933 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (5.76308pt too wide) in paragraph at lines 1938--1939 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]C[][][][]Polyhedron[][][]from[] Overfull \hbox (7.723pt too wide) in paragraph at lines 1944--1945 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.68279pt too wide) in paragraph at lines 1950--1951 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.72273pt too wide) in paragraph at lines 1956--1957 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] [317] Overfull \hbox (0.76205pt too wide) in paragraph at lines 1980--1981 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]upper[][][]bound[][][]assign[][][ ]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact ( Overfull \hbox (2.99208pt too wide) in paragraph at lines 1998--1999 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[][][]som e[][][]non[][][]integer[][][]points Overfull \hbox (20.5736pt too wide) in paragraph at lines 2004--2005 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[] [][]some[][][]non[][][]integer[][][]points[] Overfull \hbox (3.43185pt too wide) in paragraph at lines 2010--2011 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[][ ][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]widening[][][]assig n[][][]with[][][]tokens ( [318] Overfull \hbox (1.1535pt too wide) in paragraph at lines 2058--2059 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]C[][][] Overfull \hbox (38.5021pt too wide) in paragraph at lines 2064--2065 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]C[][][][]Polyhedron [319] Overfull \hbox (0.23343pt too wide) in paragraph at lines 2070--2071 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (3.36351pt too wide) in paragraph at lines 2076--2077 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]P[]R[] Overfull \hbox (2.5233pt too wide) in paragraph at lines 2082--2083 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]C[] Overfull \hbox (0.85338pt too wide) in paragraph at lines 2088--2089 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]C[] Overfull \hbox (4.48323pt too wide) in paragraph at lines 2094--2095 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]M[] Overfull \hbox (2.81331pt too wide) in paragraph at lines 2100--2101 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]P[] [320] Overfull \hbox (2.0735pt too wide) in paragraph at lines 2130--2131 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][] Overfull \hbox (0.40358pt too wide) in paragraph at lines 2136--2137 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][] Overfull \hbox (1.15343pt too wide) in paragraph at lines 2142--2143 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[] Overfull \hbox (2.36351pt too wide) in paragraph at lines 2148--2149 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[][][] Overfull \hbox (3.4433pt too wide) in paragraph at lines 2154--2155 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.77338pt too wide) in paragraph at lines 2160--2161 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[] Overfull \hbox (5.40323pt too wide) in paragraph at lines 2166--2167 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] [321] Overfull \hbox (3.7333pt too wide) in paragraph at lines 2172--2173 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Rational__Box__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhe dron[] Overfull \hbox (3.3823pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box[][][ ]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[ ]D[][][][]Shape[] Overfull \hbox (29.76184pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][ ][]Octagonal[] Overfull \hbox (1.04219pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Ra tional[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]pp l[] [322] Overfull \hbox (9.09174pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational [][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][ ]const[] Overfull \hbox (16.01172pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (4.64206pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Double[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational[] [][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]c onst[] Overfull \hbox (2.97215pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][] []Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[] Overfull \hbox (6.40042pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (5.09135pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constra int[] Overfull \hbox (18.39198pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congrue nce[] Overfull \hbox (1.71178pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generato r[] Overfull \hbox (12.5317pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]relation[][][]wi th[][][][]Congruence[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[ ][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (7.53172pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (7.56088pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]constraints[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (20.86151pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]congruences[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (13.61208pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]above[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (14.2218pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]below[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (18.62187pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]upper[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (18.37173pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]lower[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] [323] Overfull \hbox (6.74135pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (5.0813pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (19.48123pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (17.82118pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.13179pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]frequency[][] ([ ][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.61139pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]contains[][][][] Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (11.72083pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]strictly[][][]co ntains[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][] []Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (10.33096pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint [][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[] [][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.45107pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]constraints[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (14.7517pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]congruences[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (4.91129pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]simplify[][][]us ing[][][]context[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (7.69649pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][ ]space[][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.72171pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]affine[][][]imag e[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension [][][]type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounded[][][]aff ine[][][]preimage[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (5.46014pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]image[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]p pl[][][]dimension[][][]type[][] var, enum [324] Overfull \hbox (5.86143pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.69801pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]fold[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]dimension[][][]type[][] ds[]$ $[], size[] Overfull \hbox (8.29143pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]wi dening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Bo x[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.6215pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]widening[][][]as sign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x , [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (4.64108pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C []C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][ ][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (2.96216pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] [325] Overfull \hbox (11.43164pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (9.21167pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.01144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (14.79147pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (19.75078pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (17.5308pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (5.59184pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (3.37187pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (5.04152pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (2.82155pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] [326] Overfull \hbox (2.61357pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.85356pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.17328pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (20.29327pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (1.72226pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[ ][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [327] Overfull \hbox (6.14346pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rati onal[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (45.1534pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.0333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (33.32191pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational [][][][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (24.9233pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (15.8428pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (16.9628pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (6.4825pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] [328] Overfull \hbox (7.6025pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] Overfull \hbox (9.21332pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Rational[][][][]Box[][][]from[][][][]Double[] Overfull \hbox (2.81299pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (10.7327pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Rational[][][][]Box[] Overfull \hbox (7.79213pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Constraint[][][][]System Overfull \hbox (13.3422pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Congruence[][][][]System Overfull \hbox (1.3122pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][ ]Box[][][]from[][][][]Generator[][][][]System [329] Overfull \hbox (1.10178pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]constraints ( Overfull \hbox (6.65184pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]congruences ( [330] Overfull \hbox (4.07193pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]topological[][][]closure [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]topolog ical[][][]closure[][][]assign ( [331] Overfull \hbox (22.7833pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]strictly[][][]contains[] [][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box [][][]strictly[][][]contains[][][][]Rational[] Overfull \hbox (13.93344pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint[][][]fr om[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][ ]Box[][][]is[][][]disjoint[][][]from[][][][]Rational[] [332] [333] Overfull \hbox (6.71194pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]upper[][][]bound[][][]as sign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[] [][]upper[][][]bound[][][]assign[][][]if[][][]exact Overfull \hbox (2.03311pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][][ ]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][ ]simplify[][][]using[][][]context[][][] Overfull \hbox (14.46165pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncons train[][][]space[][][]dimension Overfull \hbox (23.15155pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncon strain[][][]space[][][]dimensions [334] Overfull \hbox (8.692pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (22.33311pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]generalized[][][]affine[][][]image[] [335] Overfull \hbox (9.71298pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]generalized[][][]affine[] Overfull \hbox (10.38313pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Bo x[][][]add[][][]space[][][]dimensions[] Overfull \hbox (12.41316pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]add[][][]space[][][]dimensions[] Overfull \hbox (0.46318pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][] []remove[][][]higher[][][]space[] [336] Overfull \hbox (18.54198pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[ ][][]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (4.44347pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (14.72318pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][] [][]Box[][][][]C[]C76[][][]widening[][][]assign[] Overfull \hbox (9.38174pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]w idening[][][]assign[][][]with[][][]tokens [337] Overfull \hbox (8.08255pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[] [][][]Rational[][][][]Box[][][]limited[] Overfull \hbox (41.67317pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]limited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (8.37337pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Constraint[] Overfull \hbox (13.92343pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Congruence[] [338] Overfull \hbox (1.89343pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][] [][]Box[][][]recycle[][][][]Generator[] Overfull \hbox (28.92343pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (27.25351pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (33.17323pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]Rational[] Overfull \hbox (31.50331pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]Rational[] [339] Overfull \hbox (37.52344pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (35.85352pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (0.49321pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.7033pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[][][] [340]) [341] [342] (./refman.ind Overfull \hbox (1.62616pt too wide) in paragraph at lines 14--16 []| \OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][ ][][]Overflow, [][]33[][] Overfull \hbox (12.22548pt too wide) in paragraph at lines 16--18 []| \OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][ ][][]Representation, Overfull \hbox (0.87602pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[][][] const[][][]iterator[][][] Overfull \hbox (2.72694pt too wide) in paragraph at lines 50--51 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign[] Overfull \hbox (2.57677pt too wide) in paragraph at lines 56--57 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign[] Overfull \hbox (2.4369pt too wide) in paragraph at lines 65--66 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wid ening[][][]assign[][][]with[] Overfull \hbox (1.86687pt too wide) in paragraph at lines 89--90 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[] Overfull \hbox (1.86687pt too wide) in paragraph at lines 92--93 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[] Overfull \hbox (6.34544pt too wide) in paragraph at lines 137--138 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points Overfull \hbox (15.32695pt too wide) in paragraph at lines 140--141 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points[] [343] Overfull \hbox (9.93654pt too wide) in paragraph at lines 161--162 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image[][][]lhs[] Overfull \hbox (7.43665pt too wide) in paragraph at lines 167--168 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage[] Overfull \hbox (3.26663pt too wide) in paragraph at lines 191--192 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoi nt[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.46648pt too wide) in paragraph at lines 203--204 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (21.46648pt too wide) in paragraph at lines 206--207 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (5.91655pt too wide) in paragraph at lines 209--210 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (5.91655pt too wide) in paragraph at lines 212--213 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (3.39668pt too wide) in paragraph at lines 215--216 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][] Overfull \hbox (3.39668pt too wide) in paragraph at lines 218--219 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][] Overfull \hbox (19.2452pt too wide) in paragraph at lines 260--261 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hi gher[][][]space[][][]dimensions Overfull \hbox (5.53494pt too wide) in paragraph at lines 266--267 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][] using[][][]context[][][]assign Overfull \hbox (4.6565pt too wide) in paragraph at lines 272--273 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][] contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.24544pt too wide) in paragraph at lines 277--279 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z 05[][][]widening[][][]assign, Overfull \hbox (22.72694pt too wide) in paragraph at lines 279--281 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z 05[][][]widening[][][]assign[] Overfull \hbox (16.09526pt too wide) in paragraph at lines 281--283 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []extrapolation[][][]assign, Overfull \hbox (22.57677pt too wide) in paragraph at lines 283--285 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []extrapolation[][][]assign[] Overfull \hbox (4.32553pt too wide) in paragraph at lines 285--287 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []narrowing[][][]assign, Overfull \hbox (6.59566pt too wide) in paragraph at lines 287--289 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]w idening[][][]assign, [][]53[][] Overfull \hbox (1.05714pt too wide) in paragraph at lines 289--291 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]w idening[][][]assign[] [344] Overfull \hbox (13.27562pt too wide) in paragraph at lines 301--303 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]rec ycled[][][]congruences, Overfull \hbox (6.6253pt too wide) in paragraph at lines 303--305 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]rec ycled[][][]constraints, Overfull \hbox (3.82692pt too wide) in paragraph at lines 305--307 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]spa ce[][][]dimensions[] Overfull \hbox (3.82692pt too wide) in paragraph at lines 307--309 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]spa ce[][][]dimensions[] Overfull \hbox (8.55576pt too wide) in paragraph at lines 319--321 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][ ]affine[][][]image, [][]50[][] Overfull \hbox (9.30563pt too wide) in paragraph at lines 321--323 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][ ]affine[][][]preimage, Overfull \hbox (17.61546pt too wide) in paragraph at lines 331--333 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][] [][]B[]D[][][][]Shape[][][]double, Overfull \hbox (8.66544pt too wide) in paragraph at lines 333--335 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][] []integer[][][]point, [][]46[][] Overfull \hbox (7.27727pt too wide) in paragraph at lines 337--339 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]so me[][][]non[][][]integer[] Overfull \hbox (7.27727pt too wide) in paragraph at lines 339--341 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]so me[][][]non[][][]integer[] Overfull \hbox (9.83557pt too wide) in paragraph at lines 341--343 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]equals[][][] []B[]D[][][][]Shape[][][]double, Overfull \hbox (7.74556pt too wide) in paragraph at lines 343--345 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][] space[][][]dimension, Overfull \hbox (13.01532pt too wide) in paragraph at lines 345--347 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]external[][] []memory[][][]in[][][]bytes, Overfull \hbox (11.03534pt too wide) in paragraph at lines 347--349 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]fold[][][]sp ace[][][]dimensions, [][]51[][] Overfull \hbox (8.18524pt too wide) in paragraph at lines 351--353 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]image, Overfull \hbox (14.66675pt too wide) in paragraph at lines 353--355 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]image[] Overfull \hbox (20.95514pt too wide) in paragraph at lines 355--357 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]preimage, Overfull \hbox (27.43665pt too wide) in paragraph at lines 357--359 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]preimage[] Overfull \hbox (20.11514pt too wide) in paragraph at lines 363--365 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]min imized[][][]congruences, Overfull \hbox (13.46483pt too wide) in paragraph at lines 365--367 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]min imized[][][]constraints, Overfull \hbox (23.26663pt too wide) in paragraph at lines 373--375 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disj oint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.13515pt too wide) in paragraph at lines 377--379 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]topo logically[][][]closed, Overfull \hbox (41.46648pt too wide) in paragraph at lines 381--383 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (41.46648pt too wide) in paragraph at lines 383--385 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (25.91655pt too wide) in paragraph at lines 385--387 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (25.91655pt too wide) in paragraph at lines 387--389 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (19.79668pt too wide) in paragraph at lines 389--391 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (19.79668pt too wide) in paragraph at lines 391--393 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (0.1253pt too wide) in paragraph at lines 395--397 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]map[][][]spa ce[][][]dimensions, Overfull \hbox (4.9353pt too wide) in paragraph at lines 399--401 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize[][] []with[][][]point, [][]47[][] Overfull \hbox (3.27525pt too wide) in paragraph at lines 403--405 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize[][] []with[][][]point, [][]47[][] Overfull \hbox (1.7756pt too wide) in paragraph at lines 405--407 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]congruence, Overfull \hbox (5.6655pt too wide) in paragraph at lines 407--409 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]congruences, Overfull \hbox (7.14531pt too wide) in paragraph at lines 409--411 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]constraint, [][]48[][] Overfull \hbox (11.0352pt too wide) in paragraph at lines 411--413 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]constraints, [][]48[][] Overfull \hbox (11.78532pt too wide) in paragraph at lines 413--415 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Congruence, Overfull \hbox (5.13501pt too wide) in paragraph at lines 415--417 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Constraint, Overfull \hbox (3.44522pt too wide) in paragraph at lines 417--419 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Generator, Overfull \hbox (2.6673pt too wide) in paragraph at lines 419--421 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][] higher[][][]space[][][] Overfull \hbox (12.5954pt too wide) in paragraph at lines 421--423 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][] space[][][]dimensions, Overfull \hbox (5.91682pt too wide) in paragraph at lines 423--425 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][] []using[][][]context[] Overfull \hbox (0.21667pt too wide) in paragraph at lines 427--429 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][] []contains[][][][]B[]D[][][] Overfull \hbox (14.01505pt too wide) in paragraph at lines 431--433 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]topological[ ][][]closure[][][]assign, Overfull \hbox (10.7553pt too wide) in paragraph at lines 433--435 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]total[][][]m emory[][][]in[][][]bytes, [][]52[][] [345] Overfull \hbox (25.6751pt too wide) in paragraph at lines 435--437 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[ ][][]space[][][]dimension, Overfull \hbox (29.56499pt too wide) in paragraph at lines 437--439 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[ ][][]space[][][]dimensions, Overfull \hbox (4.09723pt too wide) in paragraph at lines 441--443 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]upper[][][]b ound[][][]assign[][][]if[] Overfull \hbox (1.61693pt too wide) in paragraph at lines 445--447 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][] []assign[][][]with[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 449--451 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 451--453 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 453--455 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 455--457 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.987pt too wide) in paragraph at lines 457--459 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (2.9973pt too wide) in paragraph at lines 467--469 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 469--471 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 471--473 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 473--475 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 475--477 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 477--479 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (7.36572pt too wide) in paragraph at lines 479--481 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]C[][][][]Polyhedron, Overfull \hbox (13.84723pt too wide) in paragraph at lines 481--483 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.78728pt too wide) in paragraph at lines 483--485 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Congruence[] Overfull \hbox (2.73697pt too wide) in paragraph at lines 485--487 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Constraint[][][] Overfull \hbox (0.6958pt too wide) in paragraph at lines 487--489 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Double[][][][]Box, Overfull \hbox (7.1773pt too wide) in paragraph at lines 489--491 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Double[][][][]Box[] Overfull \hbox (1.04718pt too wide) in paragraph at lines 491--493 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Generator[][][] Overfull \hbox (0.77716pt too wide) in paragraph at lines 495--497 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Grid[][][]with[][][] Overfull \hbox (21.80566pt too wide) in paragraph at lines 497--499 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (28.28717pt too wide) in paragraph at lines 499--501 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.16716pt too wide) in paragraph at lines 501--503 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 503--505 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 505--507 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 507--509 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 509--511 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 511--513 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (5.14548pt too wide) in paragraph at lines 513--515 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Rational[][][][]Box, Overfull \hbox (11.62698pt too wide) in paragraph at lines 515--517 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Rational[][][][]Box[] Overfull \hbox (18.4653pt too wide) in paragraph at lines 517--519 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][]space[][][]dimension, Overfull \hbox (15.06718pt too wide) in paragraph at lines 519--521 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Congruence[] Overfull \hbox (8.41687pt too wide) in paragraph at lines 521--523 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Constraint[] Overfull \hbox (6.72708pt too wide) in paragraph at lines 523--525 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 525--527 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 527--529 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 529--531 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 531--533 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.60512pt too wide) in paragraph at lines 533--535 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]double, [][]55[][] Overfull \hbox (10.20512pt too wide) in paragraph at lines 535--537 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]double[][][]2, [][]56[][] Overfull \hbox (7.98515pt too wide) in paragraph at lines 539--541 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]double[][][]2, [][]56[][] Overfull \hbox (3.1751pt too wide) in paragraph at lines 550--551 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimension Overfull \hbox (7.06499pt too wide) in paragraph at lines 553--554 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimensions [346] Overfull \hbox (2.24516pt too wide) in paragraph at lines 565--566 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][] assign[][][]with[][][]tokens Overfull \hbox (7.34506pt too wide) in paragraph at lines 571--572 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign Overfull \hbox (16.32657pt too wide) in paragraph at lines 574--575 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[] Overfull \hbox (7.19489pt too wide) in paragraph at lines 577--578 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign Overfull \hbox (16.17639pt too wide) in paragraph at lines 580--581 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[] Overfull \hbox (16.03653pt too wide) in paragraph at lines 589--590 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[] Overfull \hbox (4.37524pt too wide) in paragraph at lines 607--608 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]congruences Overfull \hbox (1.02655pt too wide) in paragraph at lines 613--614 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (1.02655pt too wide) in paragraph at lines 616--617 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (0.40526pt too wide) in paragraph at lines 637--638 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]preimage Overfull \hbox (8.25665pt too wide) in paragraph at lines 652--653 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.87689pt too wide) in paragraph at lines 661--662 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.87689pt too wide) in paragraph at lines 664--665 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.47676pt too wide) in paragraph at lines 667--668 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (4.11494pt too wide) in paragraph at lines 673--674 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes Overfull \hbox (8.26637pt too wide) in paragraph at lines 685--686 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image[] Overfull \hbox (12.05476pt too wide) in paragraph at lines 688--689 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (21.03627pt too wide) in paragraph at lines 691--692 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (11.21477pt too wide) in paragraph at lines 700--701 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]congruences Overfull \hbox (4.56445pt too wide) in paragraph at lines 703--704 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]constraints [347] Overfull \hbox (16.86626pt too wide) in paragraph at lines 715--716 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (35.0661pt too wide) in paragraph at lines 727--728 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (35.0661pt too wide) in paragraph at lines 730--731 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (19.51617pt too wide) in paragraph at lines 733--734 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (19.51617pt too wide) in paragraph at lines 736--737 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (13.3963pt too wide) in paragraph at lines 739--740 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (13.3963pt too wide) in paragraph at lines 742--743 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (2.88495pt too wide) in paragraph at lines 775--776 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Congruence Overfull \hbox (32.84482pt too wide) in paragraph at lines 784--785 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions Overfull \hbox (3.69502pt too wide) in paragraph at lines 787--788 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]space[][][]dimensions Overfull \hbox (3.11646pt too wide) in paragraph at lines 790--791 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simpli fy[][][]using[][][]context[][][] Overfull \hbox (18.25612pt too wide) in paragraph at lines 796--797 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.72694pt too wide) in paragraph at lines 801--803 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.72694pt too wide) in paragraph at lines 803--805 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.57677pt too wide) in paragraph at lines 805--807 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (7.57677pt too wide) in paragraph at lines 807--809 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (17.92516pt too wide) in paragraph at lines 809--811 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]narrowing[][][]assign, Overfull \hbox (8.17526pt too wide) in paragraph at lines 811--813 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H7 9[][][]widening[][][]assign, Overfull \hbox (14.65677pt too wide) in paragraph at lines 813--815 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H7 9[][][]widening[][][]assign[] Overfull \hbox (1.57555pt too wide) in paragraph at lines 819--821 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]congruences, [][]69[][] Overfull \hbox (26.87524pt too wide) in paragraph at lines 825--827 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]recycled[][][]congruences, Overfull \hbox (20.22493pt too wide) in paragraph at lines 827--829 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]recycled[][][]constraints, Overfull \hbox (17.42654pt too wide) in paragraph at lines 829--831 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (17.42654pt too wide) in paragraph at lines 831--833 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (1.34528pt too wide) in paragraph at lines 833--835 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affi ne[][][]dimension, [][]66[][] Overfull \hbox (10.13536pt too wide) in paragraph at lines 843--845 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ded[][][]affine[][][]image, Overfull \hbox (22.90526pt too wide) in paragraph at lines 845--847 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ded[][][]affine[][][]preimage, [348] Overfull \hbox (0.64575pt too wide) in paragraph at lines 847--849 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ds[][][]from[][][]above, Overfull \hbox (1.25548pt too wide) in paragraph at lines 849--851 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ds[][][]from[][][]below, Overfull \hbox (9.35504pt too wide) in paragraph at lines 851--853 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]conc atenate[][][]assign, [][]70[][] Overfull \hbox (6.87675pt too wide) in paragraph at lines 855--857 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]cont ains[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.24504pt too wide) in paragraph at lines 857--859 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]cont ains[][][]integer[][][]point, Overfull \hbox (2.43513pt too wide) in paragraph at lines 859--861 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]diff erence[][][]assign, [][]70[][] Overfull \hbox (20.87689pt too wide) in paragraph at lines 861--863 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (20.87689pt too wide) in paragraph at lines 863--865 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (2.69687pt too wide) in paragraph at lines 865--867 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equa ls[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (21.34518pt too wide) in paragraph at lines 867--869 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expa nd[][][]space[][][]dimension, Overfull \hbox (0.60683pt too wide) in paragraph at lines 869--871 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]exte rnal[][][]memory[][][] Overfull \hbox (12.61494pt too wide) in paragraph at lines 871--873 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold [][][]space[][][]dimensions, Overfull \hbox (0.2267pt too wide) in paragraph at lines 875--877 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 877--879 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 879--881 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 881--883 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (33.71477pt too wide) in paragraph at lines 887--889 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[ ][][]minimized[][][]congruences, Overfull \hbox (27.06445pt too wide) in paragraph at lines 889--891 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[ ][][]minimized[][][]constraints, Overfull \hbox (8.81485pt too wide) in paragraph at lines 891--893 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]inte rsection[][][]assign, [][]70[][] Overfull \hbox (1.60646pt too wide) in paragraph at lines 897--899 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] [][]disjoint[][][]from[][][][]B[] Overfull \hbox (13.73477pt too wide) in paragraph at lines 901--903 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] [][]topologically[][][]closed, Overfull \hbox (2.44666pt too wide) in paragraph at lines 905--907 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (2.44666pt too wide) in paragraph at lines 907--909 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (39.51617pt too wide) in paragraph at lines 909--911 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (39.51617pt too wide) in paragraph at lines 911--913 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (33.3963pt too wide) in paragraph at lines 913--915 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (33.3963pt too wide) in paragraph at lines 915--917 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (13.72493pt too wide) in paragraph at lines 919--921 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]map[ ][][]space[][][]dimensions, Overfull \hbox (6.51491pt too wide) in paragraph at lines 923--925 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maxi mize[][][]with[][][]point, Overfull \hbox (4.85486pt too wide) in paragraph at lines 927--929 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]mini mize[][][]with[][][]point, Overfull \hbox (15.37523pt too wide) in paragraph at lines 929--931 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]congruence, Overfull \hbox (19.26512pt too wide) in paragraph at lines 931--933 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]congruences, Overfull \hbox (8.72491pt too wide) in paragraph at lines 933--935 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]constraint, Overfull \hbox (12.6148pt too wide) in paragraph at lines 935--937 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]constraints, Overfull \hbox (25.38495pt too wide) in paragraph at lines 937--939 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Congruence, Overfull \hbox (18.73463pt too wide) in paragraph at lines 939--941 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Constraint, Overfull \hbox (17.04485pt too wide) in paragraph at lines 941--943 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Generator, Overfull \hbox (12.66692pt too wide) in paragraph at lines 943--945 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remo ve[][][]higher[][][]space[] Overfull \hbox (26.19502pt too wide) in paragraph at lines 945--947 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remo ve[][][]space[][][]dimensions, Overfull \hbox (19.51645pt too wide) in paragraph at lines 947--949 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simp lify[][][]using[][][]context[] Overfull \hbox (1.03522pt too wide) in paragraph at lines 949--951 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]spac e[][][]dimension, [][]66[][] Overfull \hbox (2.99632pt too wide) in paragraph at lines 951--953 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]stri ctly[][][]contains[][][][]B[] Overfull \hbox (8.52484pt too wide) in paragraph at lines 953--955 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]time [][][]elapse[][][]assign, [][]70[][] Overfull \hbox (5.49655pt too wide) in paragraph at lines 955--957 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topo logical[][][]closure[] Overfull \hbox (12.3349pt too wide) in paragraph at lines 957--959 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]tota l[][][]memory[][][]in[][][]bytes, Overfull \hbox (0.48671pt too wide) in paragraph at lines 959--961 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unco nstrain[][][]space[] Overfull \hbox (0.48671pt too wide) in paragraph at lines 961--963 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unco nstrain[][][]space[] Overfull \hbox (1.5055pt too wide) in paragraph at lines 963--965 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uppe r[][][]bound[][][]assign, Overfull \hbox (7.987pt too wide) in paragraph at lines 965--967 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uppe r[][][]bound[][][]assign[] Overfull \hbox (15.21655pt too wide) in paragraph at lines 969--971 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wide ning[][][]assign[][][]with[] [349] Overfull \hbox (12.73672pt too wide) in paragraph at lines 973--975 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 975--977 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 977--979 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 979--981 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.58662pt too wide) in paragraph at lines 981--983 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 991--993 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 993--995 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 995--997 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 997--999 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 999--1001 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 1001--1003 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.96535pt too wide) in paragraph at lines 1003--1005 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]C[][][][]Polyhedron, Overfull \hbox (27.44685pt too wide) in paragraph at lines 1005--1007 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (19.3869pt too wide) in paragraph at lines 1007--1009 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Congruence[] Overfull \hbox (12.73659pt too wide) in paragraph at lines 1009--1011 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Constraint[] Overfull \hbox (0.507pt too wide) in paragraph at lines 1011--1013 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Double[] Overfull \hbox (0.507pt too wide) in paragraph at lines 1013--1015 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Double[] Overfull \hbox (11.0468pt too wide) in paragraph at lines 1015--1017 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Generator[] Overfull \hbox (10.77678pt too wide) in paragraph at lines 1019--1021 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Grid[][][]with[] Overfull \hbox (35.40529pt too wide) in paragraph at lines 1021--1023 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.8868pt too wide) in paragraph at lines 1023--1025 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1025--1027 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1027--1029 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1029--1031 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1031--1033 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1033--1035 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1035--1037 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (4.95668pt too wide) in paragraph at lines 1037--1039 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (4.95668pt too wide) in paragraph at lines 1039--1041 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (32.06493pt too wide) in paragraph at lines 1041--1043 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][]space[][][]dimension, Overfull \hbox (28.66681pt too wide) in paragraph at lines 1043--1045 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Congruence[] Overfull \hbox (22.0165pt too wide) in paragraph at lines 1045--1047 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Constraint[] Overfull \hbox (20.3267pt too wide) in paragraph at lines 1047--1049 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1049--1051 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1051--1053 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1053--1055 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1055--1057 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (3.18472pt too wide) in paragraph at lines 1057--1059 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class, Overfull \hbox (9.66623pt too wide) in paragraph at lines 1059--1061 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.96475pt too wide) in paragraph at lines 1061--1063 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class, Overfull \hbox (7.44626pt too wide) in paragraph at lines 1063--1065 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.11467pt too wide) in paragraph at lines 1068--1069 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topolo gical[][][]closure[][][]assign Overfull \hbox (16.77472pt too wide) in paragraph at lines 1074--1075 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimension Overfull \hbox (20.66461pt too wide) in paragraph at lines 1077--1078 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimensions Overfull \hbox (1.29686pt too wide) in paragraph at lines 1083--1084 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][] Overfull \hbox (15.84479pt too wide) in paragraph at lines 1089--1090 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens [350] Overfull \hbox (6.785pt too wide) in paragraph at lines 1095--1096 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign Overfull \hbox (15.76651pt too wide) in paragraph at lines 1098--1099 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[] Overfull \hbox (6.63483pt too wide) in paragraph at lines 1101--1102 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign Overfull \hbox (15.61633pt too wide) in paragraph at lines 1104--1105 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[] Overfull \hbox (15.47647pt too wide) in paragraph at lines 1113--1114 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[] Overfull \hbox (3.81519pt too wide) in paragraph at lines 1131--1132 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]congruences Overfull \hbox (0.46649pt too wide) in paragraph at lines 1137--1138 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (0.46649pt too wide) in paragraph at lines 1140--1141 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (7.13654pt too wide) in paragraph at lines 1176--1177 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (0.31683pt too wide) in paragraph at lines 1185--1186 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.31683pt too wide) in paragraph at lines 1188--1189 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (2.95665pt too wide) in paragraph at lines 1191--1192 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (3.55489pt too wide) in paragraph at lines 1197--1198 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes Overfull \hbox (7.70631pt too wide) in paragraph at lines 1209--1210 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image[] Overfull \hbox (11.4947pt too wide) in paragraph at lines 1212--1213 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (20.47621pt too wide) in paragraph at lines 1215--1216 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (10.65471pt too wide) in paragraph at lines 1224--1225 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]congruences Overfull \hbox (4.0044pt too wide) in paragraph at lines 1227--1228 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]constraints [351] Overfull \hbox (16.3062pt too wide) in paragraph at lines 1239--1240 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (34.50604pt too wide) in paragraph at lines 1251--1252 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (34.50604pt too wide) in paragraph at lines 1254--1255 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (18.95612pt too wide) in paragraph at lines 1257--1258 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (18.95612pt too wide) in paragraph at lines 1260--1261 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (12.83624pt too wide) in paragraph at lines 1263--1264 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (12.83624pt too wide) in paragraph at lines 1266--1267 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (2.32489pt too wide) in paragraph at lines 1299--1300 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Congruence Overfull \hbox (32.28476pt too wide) in paragraph at lines 1308--1309 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions Overfull \hbox (3.13496pt too wide) in paragraph at lines 1311--1312 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]space[][][]dimensions Overfull \hbox (2.5564pt too wide) in paragraph at lines 1314--1315 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simpli fy[][][]using[][][]context[][][] Overfull \hbox (17.69606pt too wide) in paragraph at lines 1320--1321 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.16689pt too wide) in paragraph at lines 1325--1327 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.16689pt too wide) in paragraph at lines 1327--1329 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.01671pt too wide) in paragraph at lines 1329--1331 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (7.01671pt too wide) in paragraph at lines 1331--1333 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (17.3651pt too wide) in paragraph at lines 1333--1335 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]narrowing[][][]assign, Overfull \hbox (7.6152pt too wide) in paragraph at lines 1335--1337 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H7 9[][][]widening[][][]assign, Overfull \hbox (14.09671pt too wide) in paragraph at lines 1337--1339 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H7 9[][][]widening[][][]assign[] Overfull \hbox (1.01549pt too wide) in paragraph at lines 1343--1345 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]congruences, [][]91[][] Overfull \hbox (26.31519pt too wide) in paragraph at lines 1349--1351 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]recycled[][][]congruences, Overfull \hbox (19.66487pt too wide) in paragraph at lines 1351--1353 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]recycled[][][]constraints, Overfull \hbox (16.86649pt too wide) in paragraph at lines 1353--1355 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (16.86649pt too wide) in paragraph at lines 1355--1357 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (0.78522pt too wide) in paragraph at lines 1357--1359 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affi ne[][][]dimension, [][]88[][] Overfull \hbox (9.5753pt too wide) in paragraph at lines 1367--1369 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ded[][][]affine[][][]image, Overfull \hbox (22.3452pt too wide) in paragraph at lines 1369--1371 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ded[][][]affine[][][]preimage, Overfull \hbox (0.69542pt too wide) in paragraph at lines 1373--1375 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ds[][][]from[][][]below, Overfull \hbox (8.79498pt too wide) in paragraph at lines 1375--1377 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]conc atenate[][][]assign, [][]92[][] [352] Overfull \hbox (6.3167pt too wide) in paragraph at lines 1379--1381 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]cont ains[][][][]B[]D[][][][]Shape[] Overfull \hbox (9.68498pt too wide) in paragraph at lines 1381--1383 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]cont ains[][][]integer[][][]point, Overfull \hbox (1.87508pt too wide) in paragraph at lines 1383--1385 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]diff erence[][][]assign, [][]92[][] Overfull \hbox (20.31683pt too wide) in paragraph at lines 1385--1387 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (20.31683pt too wide) in paragraph at lines 1387--1389 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (2.13681pt too wide) in paragraph at lines 1389--1391 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equa ls[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (20.78513pt too wide) in paragraph at lines 1391--1393 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expa nd[][][]space[][][]dimension, Overfull \hbox (12.05489pt too wide) in paragraph at lines 1395--1397 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold [][][]space[][][]dimensions, Overfull \hbox (3.26665pt too wide) in paragraph at lines 1399--1401 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1401--1403 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1403--1405 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1405--1407 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (33.15471pt too wide) in paragraph at lines 1411--1413 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[ ][][]minimized[][][]congruences, Overfull \hbox (26.5044pt too wide) in paragraph at lines 1413--1415 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[ ][][]minimized[][][]constraints, Overfull \hbox (8.25479pt too wide) in paragraph at lines 1415--1417 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]inte rsection[][][]assign, [][]92[][] Overfull \hbox (1.0464pt too wide) in paragraph at lines 1421--1423 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[] [][]disjoint[][][]from[][][][]B[] Overfull \hbox (13.17471pt too wide) in paragraph at lines 1425--1427 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[] [][]topologically[][][]closed, Overfull \hbox (1.8866pt too wide) in paragraph at lines 1429--1431 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (1.8866pt too wide) in paragraph at lines 1431--1433 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (38.95612pt too wide) in paragraph at lines 1433--1435 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (38.95612pt too wide) in paragraph at lines 1435--1437 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (32.83624pt too wide) in paragraph at lines 1437--1439 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (32.83624pt too wide) in paragraph at lines 1439--1441 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (13.16487pt too wide) in paragraph at lines 1443--1445 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]map[ ][][]space[][][]dimensions, Overfull \hbox (5.95485pt too wide) in paragraph at lines 1447--1449 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maxi mize[][][]with[][][]point, Overfull \hbox (4.2948pt too wide) in paragraph at lines 1451--1453 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]mini mize[][][]with[][][]point, Overfull \hbox (14.81517pt too wide) in paragraph at lines 1453--1455 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]congruence, Overfull \hbox (18.70506pt too wide) in paragraph at lines 1455--1457 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]congruences, Overfull \hbox (8.16486pt too wide) in paragraph at lines 1457--1459 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]constraint, Overfull \hbox (12.05475pt too wide) in paragraph at lines 1459--1461 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]constraints, Overfull \hbox (24.82489pt too wide) in paragraph at lines 1461--1463 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Congruence, Overfull \hbox (18.17458pt too wide) in paragraph at lines 1463--1465 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Constraint, Overfull \hbox (16.48479pt too wide) in paragraph at lines 1465--1467 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Generator, Overfull \hbox (12.10686pt too wide) in paragraph at lines 1467--1469 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remo ve[][][]higher[][][]space[] Overfull \hbox (25.63496pt too wide) in paragraph at lines 1469--1471 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remo ve[][][]space[][][]dimensions, Overfull \hbox (18.95639pt too wide) in paragraph at lines 1471--1473 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simp lify[][][]using[][][]context[] Overfull \hbox (0.47516pt too wide) in paragraph at lines 1473--1475 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]spac e[][][]dimension, [][]87[][] Overfull \hbox (2.43626pt too wide) in paragraph at lines 1475--1477 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]stri ctly[][][]contains[][][][]B[] Overfull \hbox (7.96478pt too wide) in paragraph at lines 1477--1479 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]time [][][]elapse[][][]assign, [][]92[][] Overfull \hbox (4.9365pt too wide) in paragraph at lines 1479--1481 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topo logical[][][]closure[] Overfull \hbox (11.77484pt too wide) in paragraph at lines 1481--1483 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]tota l[][][]memory[][][]in[][][]bytes, Overfull \hbox (3.52666pt too wide) in paragraph at lines 1483--1485 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unco nstrain[][][]space[][][] Overfull \hbox (3.52666pt too wide) in paragraph at lines 1485--1487 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unco nstrain[][][]space[][][] Overfull \hbox (0.94543pt too wide) in paragraph at lines 1487--1489 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uppe r[][][]bound[][][]assign, Overfull \hbox (7.42694pt too wide) in paragraph at lines 1489--1491 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uppe r[][][]bound[][][]assign[] Overfull \hbox (14.6565pt too wide) in paragraph at lines 1493--1495 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wide ning[][][]assign[][][]with[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 1497--1499 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 1499--1501 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] [353] Overfull \hbox (10.51675pt too wide) in paragraph at lines 1501--1503 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 1503--1505 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.02657pt too wide) in paragraph at lines 1505--1507 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1515--1517 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1517--1519 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1519--1521 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1521--1523 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1523--1525 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1525--1527 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.40529pt too wide) in paragraph at lines 1527--1529 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]C[][][][]Polyhedron, Overfull \hbox (26.8868pt too wide) in paragraph at lines 1529--1531 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.82684pt too wide) in paragraph at lines 1531--1533 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Congruence[] Overfull \hbox (12.17653pt too wide) in paragraph at lines 1533--1535 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Constraint[] Overfull \hbox (3.54695pt too wide) in paragraph at lines 1535--1537 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Double[][][] Overfull \hbox (3.54695pt too wide) in paragraph at lines 1537--1539 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Double[][][] Overfull \hbox (10.48674pt too wide) in paragraph at lines 1539--1541 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Generator[] Overfull \hbox (10.21672pt too wide) in paragraph at lines 1543--1545 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Grid[][][]with[] Overfull \hbox (34.84523pt too wide) in paragraph at lines 1545--1547 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.32674pt too wide) in paragraph at lines 1547--1549 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1549--1551 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1551--1553 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1553--1555 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1555--1557 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1557--1559 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1559--1561 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (4.39662pt too wide) in paragraph at lines 1561--1563 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (4.39662pt too wide) in paragraph at lines 1563--1565 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (31.50487pt too wide) in paragraph at lines 1565--1567 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][]space[][][]dimension, Overfull \hbox (28.10675pt too wide) in paragraph at lines 1567--1569 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Congruence[] Overfull \hbox (21.45644pt too wide) in paragraph at lines 1569--1571 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Constraint[] Overfull \hbox (19.76665pt too wide) in paragraph at lines 1571--1573 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1573--1575 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1575--1577 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1577--1579 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1579--1581 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (2.62466pt too wide) in paragraph at lines 1581--1583 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class, Overfull \hbox (9.10617pt too wide) in paragraph at lines 1583--1585 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.4047pt too wide) in paragraph at lines 1585--1587 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class, Overfull \hbox (6.8862pt too wide) in paragraph at lines 1587--1589 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.55461pt too wide) in paragraph at lines 1592--1593 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topolo gical[][][]closure[][][]assign Overfull \hbox (16.21466pt too wide) in paragraph at lines 1598--1599 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimension Overfull \hbox (20.10455pt too wide) in paragraph at lines 1601--1602 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimensions Overfull \hbox (0.7368pt too wide) in paragraph at lines 1607--1608 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][] Overfull \hbox (15.28473pt too wide) in paragraph at lines 1613--1614 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens [354] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1629--1631 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1631--1632 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1632--1634 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1634--1635 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1635--1637 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1637--1638 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1638--1640 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1640--1641 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1641--1643 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1643--1644 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1644--1646 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1646--1647 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1647--1649 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1649--1650 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1650--1652 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1652--1653 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1653--1655 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1655--1656 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1656--1658 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17635pt too wide) in paragraph at lines 1658--1659 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1659--1661 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17635pt too wide) in paragraph at lines 1661--1662 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1662--1664 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.28673pt too wide) in paragraph at lines 1664--1665 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1665--1667 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.28673pt too wide) in paragraph at lines 1667--1668 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1668--1670 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.73668pt too wide) in paragraph at lines 1670--1671 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1671--1673 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.73668pt too wide) in paragraph at lines 1673--1674 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1674--1676 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (31.04622pt too wide) in paragraph at lines 1676--1677 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]concatenate[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1677--1679 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (15.41469pt too wide) in paragraph at lines 1679--1680 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]constrains Overfull \hbox (0.24678pt too wide) in paragraph at lines 1680--1682 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (17.17635pt too wide) in paragraph at lines 1682--1683 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]contains[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1683--1685 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (24.12631pt too wide) in paragraph at lines 1685--1686 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]difference[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1686--1688 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17674pt too wide) in paragraph at lines 1688--1689 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1689--1691 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17674pt too wide) in paragraph at lines 1691--1692 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1692--1694 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (9.39645pt too wide) in paragraph at lines 1694--1695 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]equals[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1695--1697 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.57677pt too wide) in paragraph at lines 1697--1698 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]expand[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1698--1700 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (15.90645pt too wide) in paragraph at lines 1700--1701 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]external[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1701--1703 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (3.55664pt too wide) in paragraph at lines 1703--1704 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]fold[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1704--1706 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [355] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1706--1707 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1707--1709 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1709--1710 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1710--1712 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1712--1713 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1713--1715 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1715--1716 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1716--1718 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (30.50603pt too wide) in paragraph at lines 1718--1719 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]intersection[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1719--1721 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (19.57501pt too wide) in paragraph at lines 1721--1722 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]bounded Overfull \hbox (0.24678pt too wide) in paragraph at lines 1722--1724 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (16.23453pt too wide) in paragraph at lines 1724--1725 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]discrete Overfull \hbox (0.24678pt too wide) in paragraph at lines 1725--1727 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (24.12604pt too wide) in paragraph at lines 1727--1728 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]disjoint[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 1727--1728 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1728--1730 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (10.1348pt too wide) in paragraph at lines 1730--1731 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]empty Overfull \hbox (0.24678pt too wide) in paragraph at lines 1731--1733 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (46.89592pt too wide) in paragraph at lines 1733--1734 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]topologically[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1734--1736 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.61479pt too wide) in paragraph at lines 1736--1737 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]universe Overfull \hbox (0.24678pt too wide) in paragraph at lines 1737--1739 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.06662pt too wide) in paragraph at lines 1739--1740 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]map[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1740--1742 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.30467pt too wide) in paragraph at lines 1742--1743 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize Overfull \hbox (0.24678pt too wide) in paragraph at lines 1743--1745 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (23.28618pt too wide) in paragraph at lines 1745--1746 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1746--1748 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.64462pt too wide) in paragraph at lines 1748--1749 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize Overfull \hbox (0.24678pt too wide) in paragraph at lines 1749--1751 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.62613pt too wide) in paragraph at lines 1751--1752 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1752--1754 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1754--1755 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1755--1757 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1757--1758 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1758--1760 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1760--1761 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1761--1763 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1763--1764 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1764--1766 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1766--1767 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1767--1769 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1769--1770 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1770--1772 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1772--1773 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1773--1775 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (13.53671pt too wide) in paragraph at lines 1775--1776 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1776--1778 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (13.53671pt too wide) in paragraph at lines 1778--1779 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1779--1781 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.0565pt too wide) in paragraph at lines 1781--1782 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]space[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1782--1784 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.62614pt too wide) in paragraph at lines 1784--1785 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]strictly[] Overfull \hbox (21.86665pt too wide) in paragraph at lines 1784--1785 [][]\OT1/ptm/bc/n/10 contains[][][][]Constraints[][][][]Product[][][][]C[][][][ ]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1785--1787 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.60513pt too wide) in paragraph at lines 1787--1789 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]tag, [][]108[][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1789--1791 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [356] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1791--1793 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1793--1795 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1795--1797 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1797--1799 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1799--1801 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1801--1803 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1803--1805 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1805--1807 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1807--1809 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1809--1811 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1811--1813 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1813--1815 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1815--1817 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1817--1819 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1819--1821 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1821--1823 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1823--1825 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1825--1827 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.86665pt too wide) in paragraph at lines 1825--1827 [][]\OT1/ptm/bc/n/10 contains[][][][]Constraints[][][][]Product[][][][]C[][][][ ]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1827--1829 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1829--1831 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1831--1833 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1833--1835 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.08676pt too wide) in paragraph at lines 1833--1835 [][]\OT1/ptm/bc/n/10 equals[][][][]Constraints[][][][]Product[][][][]C[][][][]P olyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1835--1837 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1837--1839 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1839--1841 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1841--1843 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1843--1845 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1845--1847 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1847--1849 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1849--1851 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1851--1853 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1853--1855 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1855--1857 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.14642pt too wide) in paragraph at lines 1855--1857 [][]\OT1/ptm/bc/n/10 is[][][]disjoint[][][]from[][][][]Constraints[][][][]Produ ct[][][][]C[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1857--1859 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1859--1861 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1861--1863 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1863--1865 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1865--1867 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1867--1869 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1869--1871 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1871--1873 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1873--1875 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1875--1877 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1877--1879 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1879--1881 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1881--1883 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1883--1885 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1885--1887 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1887--1889 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1889--1891 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1891--1893 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1893--1895 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (3.53629pt too wide) in paragraph at lines 1893--1895 [][]\OT1/ptm/bc/n/10 strictly[][][]contains[][][][]Constraints[][][][]Product[] [][][]C[] [357] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1895--1897 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1897--1899 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1899--1901 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1901--1903 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1903--1905 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1905--1907 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1907--1909 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1909--1911 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1911--1913 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (5.79657pt too wide) in paragraph at lines 1913--1915 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Constraints[][][][]Product[][][][]C [][][][]Polyhedron[] Overfull \hbox (20.51643pt too wide) in paragraph at lines 1915--1917 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[] Overfull \hbox (15.51656pt too wide) in paragraph at lines 1917--1919 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[ ][][][]C[][][][]Polyhedron[] Overfull \hbox (12.1866pt too wide) in paragraph at lines 1919--1921 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1921--1923 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1923--1925 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (22.75539pt too wide) in paragraph at lines 1923--1925 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]wit h[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1925--1927 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1927--1929 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (36.35501pt too wide) in paragraph at lines 1927--1929 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]with[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1929--1931 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1931--1933 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (35.79495pt too wide) in paragraph at lines 1931--1933 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]with[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1933--1935 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1935--1937 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (6.38548pt too wide) in paragraph at lines 1935--1937 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]com plexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1937--1939 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1939--1941 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1941--1943 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (26.9067pt too wide) in paragraph at lines 1941--1943 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1943--1945 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (26.9067pt too wide) in paragraph at lines 1943--1945 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1945--1947 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1947--1949 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (16.73558pt too wide) in paragraph at lines 1947--1949 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]compl exity, [][]115[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1949--1951 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1951--1953 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1953--1955 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1955--1957 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (20.82542pt too wide) in paragraph at lines 1955--1957 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][ ][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1957--1959 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1959--1961 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (7.99702pt too wide) in paragraph at lines 1959--1961 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] []with[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1961--1963 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (10.7554pt too wide) in paragraph at lines 1961--1963 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass, [][]113[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1963--1965 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (0.21689pt too wide) in paragraph at lines 1963--1965 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1965--1967 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (10.19534pt too wide) in paragraph at lines 1965--1967 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass, [][]113[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1967--1969 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (3.25684pt too wide) in paragraph at lines 1967--1969 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1969--1971 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1971--1973 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (4.16524pt too wide) in paragraph at lines 1971--1973 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]com plexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1973--1975 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.6264pt too wide) in paragraph at lines 1975--1976 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]time[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1976--1978 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (28.84624pt too wide) in paragraph at lines 1978--1979 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]topological[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1979--1981 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.6264pt too wide) in paragraph at lines 1981--1982 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]total[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1982--1984 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (30.5063pt too wide) in paragraph at lines 1984--1985 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1985--1987 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [358] Overfull \hbox (30.5063pt too wide) in paragraph at lines 1987--1988 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1988--1990 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61668pt too wide) in paragraph at lines 1990--1991 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1991--1993 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61668pt too wide) in paragraph at lines 1993--1994 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1994--1996 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.06648pt too wide) in paragraph at lines 1996--1997 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1997--1999 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.06648pt too wide) in paragraph at lines 1999--2000 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 2000--2002 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.14519pt too wide) in paragraph at lines 2006--2007 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][] []assign[][][]with[][][]tokens Overfull \hbox (0.10532pt too wide) in paragraph at lines 2022--2023 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]embed Overfull \hbox (1.21516pt too wide) in paragraph at lines 2024--2025 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]project Overfull \hbox (3.26662pt too wide) in paragraph at lines 2074--2075 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage[][][]lhs[][][] [359] Overfull \hbox (2.49484pt too wide) in paragraph at lines 2102--2103 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign Overfull \hbox (11.47635pt too wide) in paragraph at lines 2104--2105 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign[] Overfull \hbox (5.51695pt too wide) in paragraph at lines 2147--2149 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[] Overfull \hbox (7.25581pt too wide) in paragraph at lines 2158--2160 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]recycled[][][]c ongruences, [][]141[][] Overfull \hbox (0.6055pt too wide) in paragraph at lines 2160--2162 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]recycled[][][]c onstraints, [][]141[][] Overfull \hbox (2.42705pt too wide) in paragraph at lines 2162--2164 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][] Overfull \hbox (2.42705pt too wide) in paragraph at lines 2164--2166 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][] Overfull \hbox (3.28583pt too wide) in paragraph at lines 2178--2180 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][ ]preimage, [][]138[][] Overfull \hbox (5.80562pt too wide) in paragraph at lines 2194--2196 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points, Overfull \hbox (12.28712pt too wide) in paragraph at lines 2196--2198 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[] Overfull \hbox (1.72575pt too wide) in paragraph at lines 2200--2202 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]expand[][][]space[][][]d imension, [][]139[][] Overfull \hbox (6.99551pt too wide) in paragraph at lines 2202--2204 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]external[][][]memory[][] []in[][][]bytes, [][]139[][] Overfull \hbox (2.16544pt too wide) in paragraph at lines 2208--2210 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]image, [][]138[][] Overfull \hbox (6.89671pt too wide) in paragraph at lines 2210--2212 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]image[][][]lhs[] Overfull \hbox (14.93533pt too wide) in paragraph at lines 2212--2214 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]preimage, [][]138[][] Overfull \hbox (4.39682pt too wide) in paragraph at lines 2214--2216 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[] Overfull \hbox (14.09534pt too wide) in paragraph at lines 2222--2224 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]get[][][]minimized[][][] congruences, [][]133[][] Overfull \hbox (7.44502pt too wide) in paragraph at lines 2224--2226 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]get[][][]minimized[][][] constraints, [][]133[][] [360] Overfull \hbox (1.52531pt too wide) in paragraph at lines 2234--2236 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]is[][][]disjoint[][][]fr om[][][][]Double[][][][]Box, Overfull \hbox (2.87672pt too wide) in paragraph at lines 2242--2244 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[] Overfull \hbox (2.87672pt too wide) in paragraph at lines 2244--2246 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[] Overfull \hbox (5.76552pt too wide) in paragraph at lines 2266--2268 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][] []Congruence, [][]132[][] Overfull \hbox (18.70537pt too wide) in paragraph at lines 2272--2274 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions, Overfull \hbox (6.57559pt too wide) in paragraph at lines 2274--2276 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]space[][][]d imensions, [][]139[][] Overfull \hbox (4.99512pt too wide) in paragraph at lines 2276--2278 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][ ]context[][][]assign, Overfull \hbox (2.91518pt too wide) in paragraph at lines 2280--2282 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]strictly[][][]contains[] [][][]Double[][][][]Box, Overfull \hbox (7.99524pt too wide) in paragraph at lines 2284--2286 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]topological[][][]closure [][][]assign, [][]133[][] Overfull \hbox (2.63527pt too wide) in paragraph at lines 2288--2290 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[] [][]dimension, Overfull \hbox (6.52516pt too wide) in paragraph at lines 2290--2292 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[] [][]dimensions, Overfull \hbox (16.14574pt too wide) in paragraph at lines 2294--2296 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]upper[][][]bound[][][]as sign[][][]if[][][]exact, [][]137[][] Overfull \hbox (1.70534pt too wide) in paragraph at lines 2298--2300 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][] []with[][][]tokens, Overfull \hbox (0.24681pt too wide) in paragraph at lines 2302--2304 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Double[] Overfull \hbox (0.24681pt too wide) in paragraph at lines 2304--2306 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Double[] Overfull \hbox (1.62685pt too wide) in paragraph at lines 2306--2308 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Double[][][] Overfull \hbox (1.62685pt too wide) in paragraph at lines 2308--2310 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Double[][][] Overfull \hbox (3.2657pt too wide) in paragraph at lines 2310--2312 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Double[][][][]Box[][][]from[][][][] Double[][][][]Box, [][]141[][] Overfull \hbox (0.6958pt too wide) in paragraph at lines 2320--2322 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double, Overfull \hbox (7.1773pt too wide) in paragraph at lines 2322--2324 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[] Overfull \hbox (1.33737pt too wide) in paragraph at lines 2324--2326 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][] Overfull \hbox (1.33737pt too wide) in paragraph at lines 2326--2328 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][] Overfull \hbox (0.77731pt too wide) in paragraph at lines 2328--2330 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.77731pt too wide) in paragraph at lines 2330--2332 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][] Overfull \hbox (1.34592pt too wide) in paragraph at lines 2332--2334 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron, [][]129[][] Overfull \hbox (12.18716pt too wide) in paragraph at lines 2334--2336 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[] Overfull \hbox (9.3155pt too wide) in paragraph at lines 2336--2338 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Con gruence[][][][]System, Overfull \hbox (2.66519pt too wide) in paragraph at lines 2338--2340 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Con straint[][][][]System, Overfull \hbox (5.51724pt too wide) in paragraph at lines 2342--2344 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[] Overfull \hbox (0.9754pt too wide) in paragraph at lines 2344--2346 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Gen erator[][][][]System, Overfull \hbox (16.10538pt too wide) in paragraph at lines 2348--2350 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Gri d[][][]with[][][]complexity, Overfull \hbox (15.78586pt too wide) in paragraph at lines 2350--2352 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron, [][]129[][] Overfull \hbox (5.24734pt too wide) in paragraph at lines 2352--2354 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2354--2356 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2356--2358 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2358--2360 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2360--2362 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2362--2364 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2364--2366 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (9.96692pt too wide) in paragraph at lines 2368--2370 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[] Overfull \hbox (12.4455pt too wide) in paragraph at lines 2370--2372 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][]space [][][]dimension, [][]129[][] Overfull \hbox (18.59541pt too wide) in paragraph at lines 2372--2374 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Congruence[][][][]System, Overfull \hbox (11.9451pt too wide) in paragraph at lines 2374--2376 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Constraint[][][][]System, Overfull \hbox (10.25531pt too wide) in paragraph at lines 2376--2378 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Generator[][][][]System, [361] Overfull \hbox (0.79713pt too wide) in paragraph at lines 2378--2380 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Double[] Overfull \hbox (0.79713pt too wide) in paragraph at lines 2380--2382 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Double[] Overfull \hbox (2.17717pt too wide) in paragraph at lines 2382--2384 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Double[][][] Overfull \hbox (2.17717pt too wide) in paragraph at lines 2384--2386 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Double[][][] [362] Overfull \hbox (33.42464pt too wide) in paragraph at lines 2497--2498 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]lhs[][][]rhs[][][]with[][][]congruence Overfull \hbox (2.33499pt too wide) in paragraph at lines 2499--2500 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]with[][][]congruence Overfull \hbox (5.48631pt too wide) in paragraph at lines 2505--2506 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs[][][]with[] Overfull \hbox (15.10489pt too wide) in paragraph at lines 2507--2508 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]with[][][]congruence Overfull \hbox (2.84631pt too wide) in paragraph at lines 2541--2542 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign[] Overfull \hbox (15.89598pt too wide) in paragraph at lines 2545--2546 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign[][][]with[] Overfull \hbox (8.24542pt too wide) in paragraph at lines 2603--2605 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]a nd[][][]embed, [][]164[][] Overfull \hbox (9.35527pt too wide) in paragraph at lines 2605--2607 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]a nd[][][]project, [][]164[][] [363] Overfull \hbox (0.48692pt too wide) in paragraph at lines 2626--2628 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[ ][][]with[][][] Overfull \hbox (1.87517pt too wide) in paragraph at lines 2649--2651 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]lhs[][][]rhs, [][]163[][] Overfull \hbox (12.71642pt too wide) in paragraph at lines 2651--2653 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]lhs[][][]rhs[][][]with[] Overfull \hbox (24.83499pt too wide) in paragraph at lines 2653--2655 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]with[][][]congruence, Overfull \hbox (14.64507pt too wide) in paragraph at lines 2657--2659 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]lhs[][][]rhs, [][]163[][] Overfull \hbox (4.10655pt too wide) in paragraph at lines 2659--2661 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]lhs[][][]rhs[] Overfull \hbox (37.60489pt too wide) in paragraph at lines 2661--2663 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]with[][][]congruence, Overfull \hbox (11.68506pt too wide) in paragraph at lines 2665--2667 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[] [][]with[][][]tokens, Overfull \hbox (16.3648pt too wide) in paragraph at lines 2689--2691 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapol ation[][][]assign, Overfull \hbox (22.84631pt too wide) in paragraph at lines 2691--2693 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapol ation[][][]assign[] Overfull \hbox (8.03471pt too wide) in paragraph at lines 2693--2695 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapola tion[][][]assign, Overfull \hbox (14.51622pt too wide) in paragraph at lines 2695--2697 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapola tion[][][]assign[] Overfull \hbox (4.34547pt too wide) in paragraph at lines 2721--2723 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]remove[][][]higher[][][]space[][][]di mensions, [][]164[][] Overfull \hbox (8.27534pt too wide) in paragraph at lines 2752--2754 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Grid[][][]2, [][]169[][] Overfull \hbox (6.05537pt too wide) in paragraph at lines 2756--2758 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Grid[][][]2, [][]169[][] Overfull \hbox (0.77716pt too wide) in paragraph at lines 2766--2768 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]double[][][]with[][][] Overfull \hbox (10.77678pt too wide) in paragraph at lines 2770--2772 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]with[] Overfull \hbox (10.21672pt too wide) in paragraph at lines 2774--2776 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]with[] Overfull \hbox (22.7753pt too wide) in paragraph at lines 2778--2780 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhed ron[][][]with[][][]complexity, [364] Overfull \hbox (16.10538pt too wide) in paragraph at lines 2786--2788 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Bo x[][][]with[][][]complexity, Overfull \hbox (8.54533pt too wide) in paragraph at lines 2790--2792 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][][]Gene rator[][][][]System, [][]157[][] Overfull \hbox (1.74548pt too wide) in paragraph at lines 2792--2794 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][]with[] [][]complexity, [][]156[][] Overfull \hbox (37.21524pt too wide) in paragraph at lines 2796--2798 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]P olyhedron[][][]with[][][]complexity, Overfull \hbox (13.5456pt too wide) in paragraph at lines 2798--2800 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]double, [][]155[][] Overfull \hbox (3.00708pt too wide) in paragraph at lines 2800--2802 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]double[] Overfull \hbox (10.1252pt too wide) in paragraph at lines 2802--2804 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class, Overfull \hbox (16.6067pt too wide) in paragraph at lines 2804--2806 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[] Overfull \hbox (9.56514pt too wide) in paragraph at lines 2806--2808 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class, Overfull \hbox (16.04665pt too wide) in paragraph at lines 2808--2810 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[] Overfull \hbox (20.55505pt too wide) in paragraph at lines 2812--2814 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][] Box[][][]with[][][]complexity, Overfull \hbox (4.23552pt too wide) in paragraph at lines 2816--2818 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Congruence[][ ][][]System, [][]167[][] Overfull \hbox (0.80522pt too wide) in paragraph at lines 2820--2822 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Grid[][][][]G enerator[][][][]System, Overfull \hbox (0.22566pt too wide) in paragraph at lines 2822--2824 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Grid, [][]168[][] Overfull \hbox (8.82567pt too wide) in paragraph at lines 2824--2826 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Grid[][][]2, [][]168[][] Overfull \hbox (6.6057pt too wide) in paragraph at lines 2828--2830 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Grid[][][]2, [][]168[][] Overfull \hbox (1.337pt too wide) in paragraph at lines 2875--2876 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[] Overfull \hbox (1.337pt too wide) in paragraph at lines 2878--2879 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[] Overfull \hbox (1.18683pt too wide) in paragraph at lines 2881--2882 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (1.18683pt too wide) in paragraph at lines 2884--2885 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (9.03522pt too wide) in paragraph at lines 2887--2888 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]narrowing[][][]assign Overfull \hbox (17.9853pt too wide) in paragraph at lines 2905--2906 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]congruences Overfull \hbox (11.33499pt too wide) in paragraph at lines 2908--2909 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]constraints Overfull \hbox (11.0366pt too wide) in paragraph at lines 2911--2912 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[] Overfull \hbox (11.0366pt too wide) in paragraph at lines 2914--2915 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[] [365] Overfull \hbox (1.24542pt too wide) in paragraph at lines 2932--2933 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]image Overfull \hbox (14.01532pt too wide) in paragraph at lines 2935--2936 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]preimage Overfull \hbox (3.25668pt too wide) in paragraph at lines 2950--2951 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][][]Octagonal[][][] Overfull \hbox (1.3551pt too wide) in paragraph at lines 2953--2954 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][]integer[][][]point Overfull \hbox (14.48695pt too wide) in paragraph at lines 2959--2960 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[] Overfull \hbox (14.48695pt too wide) in paragraph at lines 2962--2963 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[] Overfull \hbox (19.91661pt too wide) in paragraph at lines 2965--2966 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][ ][][]Octagonal[][][][]Shape[] Overfull \hbox (12.45525pt too wide) in paragraph at lines 2968--2969 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][ ][]space[][][]dimension Overfull \hbox (1.99678pt too wide) in paragraph at lines 2971--2972 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]external[ ][][]memory[][][]in[] Overfull \hbox (3.725pt too wide) in paragraph at lines 2974--2975 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][ ]space[][][]dimensions Overfull \hbox (12.89493pt too wide) in paragraph at lines 2980--2981 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image Overfull \hbox (21.87643pt too wide) in paragraph at lines 2983--2984 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image[] Overfull \hbox (25.66483pt too wide) in paragraph at lines 2986--2987 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage Overfull \hbox (34.64633pt too wide) in paragraph at lines 2989--2990 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage[] Overfull \hbox (24.82483pt too wide) in paragraph at lines 2998--2999 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]congruences Overfull \hbox (18.17451pt too wide) in paragraph at lines 3001--3002 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]constraints Overfull \hbox (29.64618pt too wide) in paragraph at lines 3013--3014 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]d isjoint[][][]from[][][][]Octagonal[] Overfull \hbox (4.84483pt too wide) in paragraph at lines 3019--3020 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]t opologically[][][]closed Overfull \hbox (48.67616pt too wide) in paragraph at lines 3025--3026 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (48.67616pt too wide) in paragraph at lines 3028--3029 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (33.12624pt too wide) in paragraph at lines 3031--3032 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[] Overfull \hbox (33.12624pt too wide) in paragraph at lines 3034--3035 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[] Overfull \hbox (4.83499pt too wide) in paragraph at lines 3040--3041 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][][] space[][][]dimensions Overfull \hbox (6.48529pt too wide) in paragraph at lines 3055--3056 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruence Overfull \hbox (10.37518pt too wide) in paragraph at lines 3058--3059 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruences Overfull \hbox (3.72487pt too wide) in paragraph at lines 3064--3065 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraints [366] Overfull \hbox (16.49501pt too wide) in paragraph at lines 3067--3068 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Congruence Overfull \hbox (9.8447pt too wide) in paragraph at lines 3070--3071 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Constraint Overfull \hbox (8.1549pt too wide) in paragraph at lines 3073--3074 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Generator Overfull \hbox (6.27698pt too wide) in paragraph at lines 3076--3077 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]higher[][][]space[] Overfull \hbox (17.30508pt too wide) in paragraph at lines 3079--3080 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]space[][][]dimensions Overfull \hbox (13.12651pt too wide) in paragraph at lines 3082--3083 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[ ][][]using[][][]context[] Overfull \hbox (31.03604pt too wide) in paragraph at lines 3088--3089 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[ ][][]contains[][][][]Octagonal[] Overfull \hbox (21.337pt too wide) in paragraph at lines 3093--3095 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[ ]M[]Z05[][][]widening[] Overfull \hbox (21.337pt too wide) in paragraph at lines 3095--3097 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[ ]M[]Z05[][][]widening[] Overfull \hbox (21.18683pt too wide) in paragraph at lines 3097--3099 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]extrapolation[] Overfull \hbox (21.18683pt too wide) in paragraph at lines 3099--3101 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]extrapolation[] Overfull \hbox (9.4171pt too wide) in paragraph at lines 3101--3103 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]narrowing[] Overfull \hbox (16.29572pt too wide) in paragraph at lines 3105--3107 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []congruence, [][]187[][] Overfull \hbox (3.16559pt too wide) in paragraph at lines 3107--3109 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []congruences, Overfull \hbox (9.6454pt too wide) in paragraph at lines 3109--3111 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []constraint, [][]187[][] Overfull \hbox (13.5353pt too wide) in paragraph at lines 3111--3113 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []constraints, [][]187[][] Overfull \hbox (40.4853pt too wide) in paragraph at lines 3113--3115 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []recycled[][][]congruences, Overfull \hbox (33.83499pt too wide) in paragraph at lines 3115--3117 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []recycled[][][]constraints, Overfull \hbox (31.0366pt too wide) in paragraph at lines 3117--3119 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []space[][][]dimensions[] Overfull \hbox (31.0366pt too wide) in paragraph at lines 3119--3121 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []space[][][]dimensions[] Overfull \hbox (2.93532pt too wide) in paragraph at lines 3121--3123 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]dimension, Overfull \hbox (2.7255pt too wide) in paragraph at lines 3123--3125 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]image, [][]189[][] Overfull \hbox (15.49539pt too wide) in paragraph at lines 3125--3127 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]preimage, [][]189[][] Overfull \hbox (2.18726pt too wide) in paragraph at lines 3131--3133 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded [][][]affine[] Overfull \hbox (2.18726pt too wide) in paragraph at lines 3133--3135 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded [][][]affine[] Overfull \hbox (14.25581pt too wide) in paragraph at lines 3135--3137 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[ ][][]from[][][]above, Overfull \hbox (14.86554pt too wide) in paragraph at lines 3137--3139 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[ ][][]from[][][]below, Overfull \hbox (10.94508pt too wide) in paragraph at lines 3139--3141 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]concate nate[][][]assign, Overfull \hbox (19.65668pt too wide) in paragraph at lines 3143--3145 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contain s[][][][]Octagonal[] Overfull \hbox (6.17682pt too wide) in paragraph at lines 3145--3147 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contain s[][][]integer[] Overfull \hbox (4.02518pt too wide) in paragraph at lines 3147--3149 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]differe nce[][][]assign, Overfull \hbox (3.26723pt too wide) in paragraph at lines 3149--3151 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][ ][]some[][][]non[] Overfull \hbox (3.26723pt too wide) in paragraph at lines 3151--3153 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][ ][]some[][][]non[] Overfull \hbox (11.87679pt too wide) in paragraph at lines 3153--3155 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[ ][][][]Octagonal[] Overfull \hbox (34.95525pt too wide) in paragraph at lines 3155--3157 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[ ][][]space[][][]dimension, Overfull \hbox (10.61688pt too wide) in paragraph at lines 3157--3159 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]externa l[][][]memory[] Overfull \hbox (26.225pt too wide) in paragraph at lines 3159--3161 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][ ][]space[][][]dimensions, Overfull \hbox (13.83676pt too wide) in paragraph at lines 3163--3165 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3165--3167 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3167--3169 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3169--3171 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (0.94548pt too wide) in paragraph at lines 3171--3173 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []congruences, Overfull \hbox (11.31519pt too wide) in paragraph at lines 3173--3175 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []constraints, [][]184[][] Overfull \hbox (0.22672pt too wide) in paragraph at lines 3175--3177 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []minimized[] Overfull \hbox (0.22672pt too wide) in paragraph at lines 3177--3179 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []minimized[] Overfull \hbox (10.40489pt too wide) in paragraph at lines 3179--3181 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]interse ction[][][]assign, Overfull \hbox (4.9466pt too wide) in paragraph at lines 3185--3187 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][ ]disjoint[][][]from[] Overfull \hbox (4.67667pt too wide) in paragraph at lines 3189--3191 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][ ]topologically[] Overfull \hbox (12.45671pt too wide) in paragraph at lines 3193--3195 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]B[]H[]M[]Z05[] [367] Overfull \hbox (12.45671pt too wide) in paragraph at lines 3195--3197 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]B[]H[]M[]Z05[] Overfull \hbox (0.50679pt too wide) in paragraph at lines 3197--3199 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]C[]C76[][][] Overfull \hbox (0.50679pt too wide) in paragraph at lines 3199--3201 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]C[]C76[][][] Overfull \hbox (12.42514pt too wide) in paragraph at lines 3201--3203 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[ ][][]partition, [][]193[][] Overfull \hbox (27.33499pt too wide) in paragraph at lines 3203--3205 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][] []space[][][]dimensions, Overfull \hbox (2.44669pt too wide) in paragraph at lines 3207--3209 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximiz e[][][]with[] Overfull \hbox (0.78664pt too wide) in paragraph at lines 3211--3213 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimiz e[][][]with[] Overfull \hbox (28.98529pt too wide) in paragraph at lines 3213--3215 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]congruence, Overfull \hbox (32.87518pt too wide) in paragraph at lines 3215--3217 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]congruences, Overfull \hbox (22.33498pt too wide) in paragraph at lines 3217--3219 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]constraint, Overfull \hbox (26.22487pt too wide) in paragraph at lines 3219--3221 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]constraints, Overfull \hbox (38.99501pt too wide) in paragraph at lines 3221--3223 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Congruence, Overfull \hbox (32.3447pt too wide) in paragraph at lines 3223--3225 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Constraint, Overfull \hbox (30.6549pt too wide) in paragraph at lines 3225--3227 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Generator, Overfull \hbox (0.46725pt too wide) in paragraph at lines 3227--3229 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[ ][][]higher[] Overfull \hbox (0.72719pt too wide) in paragraph at lines 3229--3231 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[ ][][]space[][][] Overfull \hbox (0.23674pt too wide) in paragraph at lines 3231--3233 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplif y[][][]using[] Overfull \hbox (2.62526pt too wide) in paragraph at lines 3233--3235 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]space[] [][]dimension, Overfull \hbox (6.33646pt too wide) in paragraph at lines 3235--3237 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictl y[][][]contains[] Overfull \hbox (10.11488pt too wide) in paragraph at lines 3237--3239 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]time[][ ][]elapse[][][]assign, Overfull \hbox (19.10661pt too wide) in paragraph at lines 3239--3241 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topolog ical[][][]closure[] Overfull \hbox (7.71674pt too wide) in paragraph at lines 3241--3243 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[] [][]memory[][][]in[] Overfull \hbox (14.09677pt too wide) in paragraph at lines 3243--3245 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconst rain[][][]space[] Overfull \hbox (14.09677pt too wide) in paragraph at lines 3245--3247 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconst rain[][][]space[] Overfull \hbox (15.11555pt too wide) in paragraph at lines 3247--3249 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[] [][]bound[][][]assign, Overfull \hbox (21.59706pt too wide) in paragraph at lines 3249--3251 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[] [][]bound[][][]assign[] Overfull \hbox (0.96535pt too wide) in paragraph at lines 3251--3253 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widenin g[][][]assign, Overfull \hbox (7.44685pt too wide) in paragraph at lines 3253--3255 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widenin g[][][]assign[] Overfull \hbox (0.75554pt too wide) in paragraph at lines 3255--3257 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]wrap[][ ][]assign, [][]193[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3257--3259 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3259--3261 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3261--3263 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3263--3265 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (34.36655pt too wide) in paragraph at lines 3265--3267 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[ ][][]from[][][][]Octagonal[] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3275--3277 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3277--3279 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3279--3281 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3281--3283 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3283--3285 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3285--3287 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (34.57541pt too wide) in paragraph at lines 3287--3289 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]C[][][][]Polyhedron, Overfull \hbox (41.05692pt too wide) in paragraph at lines 3289--3291 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.99696pt too wide) in paragraph at lines 3291--3293 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Congruence[] Overfull \hbox (26.34665pt too wide) in paragraph at lines 3293--3295 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Constraint[] Overfull \hbox (14.11707pt too wide) in paragraph at lines 3295--3297 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Double[] Overfull \hbox (14.11707pt too wide) in paragraph at lines 3297--3299 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Double[] Overfull \hbox (24.65686pt too wide) in paragraph at lines 3299--3301 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Generator[] Overfull \hbox (13.5456pt too wide) in paragraph at lines 3301--3303 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Grid, [][]181[][] Overfull \hbox (3.00708pt too wide) in paragraph at lines 3303--3305 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Grid[] Overfull \hbox (5.78712pt too wide) in paragraph at lines 3305--3307 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]N[]N[]C[] Overfull \hbox (5.78712pt too wide) in paragraph at lines 3307--3309 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]N[]N[]C[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3309--3311 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] [368] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3311--3313 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3313--3315 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3315--3317 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3317--3319 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3319--3321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (18.56674pt too wide) in paragraph at lines 3321--3323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Rational[] Overfull \hbox (18.56674pt too wide) in paragraph at lines 3323--3325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Rational[] Overfull \hbox (6.88698pt too wide) in paragraph at lines 3325--3327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][]space[] Overfull \hbox (42.27687pt too wide) in paragraph at lines 3327--3329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Congruence[] Overfull \hbox (35.62656pt too wide) in paragraph at lines 3329--3331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Constraint[] Overfull \hbox (33.93677pt too wide) in paragraph at lines 3331--3333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Generator[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3333--3335 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3335--3337 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3337--3339 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3339--3341 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (16.79478pt too wide) in paragraph at lines 3341--3343 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]double, Overfull \hbox (23.27629pt too wide) in paragraph at lines 3343--3345 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (14.57481pt too wide) in paragraph at lines 3345--3347 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]double, Overfull \hbox (21.05632pt too wide) in paragraph at lines 3347--3349 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (2.70662pt too wide) in paragraph at lines 3352--3353 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topologic al[][][]closure[][][] Overfull \hbox (3.44496pt too wide) in paragraph at lines 3355--3356 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[][] []memory[][][]in[][][]bytes Overfull \hbox (30.38478pt too wide) in paragraph at lines 3358--3359 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimension Overfull \hbox (34.27467pt too wide) in paragraph at lines 3361--3362 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimensions Overfull \hbox (1.59706pt too wide) in paragraph at lines 3367--3368 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign[] Overfull \hbox (8.82661pt too wide) in paragraph at lines 3373--3374 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign[][][]with[] Overfull \hbox (14.93663pt too wide) in paragraph at lines 3379--3380 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.93663pt too wide) in paragraph at lines 3382--3383 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.78645pt too wide) in paragraph at lines 3385--3386 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (14.78645pt too wide) in paragraph at lines 3388--3389 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (3.01672pt too wide) in paragraph at lines 3391--3392 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]narrowing[] Overfull \hbox (31.58493pt too wide) in paragraph at lines 3409--3410 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]congruences Overfull \hbox (24.93462pt too wide) in paragraph at lines 3412--3413 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]constraints Overfull \hbox (24.63623pt too wide) in paragraph at lines 3415--3416 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[] Overfull \hbox (24.63623pt too wide) in paragraph at lines 3418--3419 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[] [369] Overfull \hbox (14.84505pt too wide) in paragraph at lines 3436--3437 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]image Overfull \hbox (27.61494pt too wide) in paragraph at lines 3439--3440 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]preimage Overfull \hbox (5.35544pt too wide) in paragraph at lines 3442--3443 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]above Overfull \hbox (5.96516pt too wide) in paragraph at lines 3445--3446 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]below Overfull \hbox (2.04471pt too wide) in paragraph at lines 3448--3449 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c oncatenate[][][]assign Overfull \hbox (13.2563pt too wide) in paragraph at lines 3454--3455 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][][]Octagonal[] Overfull \hbox (3.37645pt too wide) in paragraph at lines 3457--3458 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][]integer[][][] Overfull \hbox (0.46686pt too wide) in paragraph at lines 3463--3464 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][] Overfull \hbox (0.46686pt too wide) in paragraph at lines 3466--3467 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][] Overfull \hbox (5.47641pt too wide) in paragraph at lines 3469--3470 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e quals[][][][]Octagonal[] Overfull \hbox (26.05487pt too wide) in paragraph at lines 3472--3473 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xpand[][][]space[][][]dimension Overfull \hbox (4.2165pt too wide) in paragraph at lines 3475--3476 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xternal[][][]memory[] Overfull \hbox (17.32463pt too wide) in paragraph at lines 3478--3479 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]f old[][][]space[][][]dimensions Overfull \hbox (7.43639pt too wide) in paragraph at lines 3484--3485 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3487--3488 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3490--3491 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3493--3494 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (38.42445pt too wide) in paragraph at lines 3502--3503 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]congruences Overfull \hbox (31.77414pt too wide) in paragraph at lines 3505--3506 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]constraints Overfull \hbox (1.50452pt too wide) in paragraph at lines 3508--3509 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i ntersection[][][]assign Overfull \hbox (2.14622pt too wide) in paragraph at lines 3517--3518 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]disjoint[][][]from[][][] Overfull \hbox (1.8763pt too wide) in paragraph at lines 3523--3524 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]topologically[][][] Overfull \hbox (6.05634pt too wide) in paragraph at lines 3529--3530 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (6.05634pt too wide) in paragraph at lines 3532--3533 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (46.72586pt too wide) in paragraph at lines 3535--3536 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (46.72586pt too wide) in paragraph at lines 3538--3539 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (18.43462pt too wide) in paragraph at lines 3544--3545 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m ap[][][]space[][][]dimensions Overfull \hbox (11.2246pt too wide) in paragraph at lines 3550--3551 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m aximize[][][]with[][][]point Overfull \hbox (9.56454pt too wide) in paragraph at lines 3556--3557 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m inimize[][][]with[][][]point Overfull \hbox (20.08492pt too wide) in paragraph at lines 3559--3560 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruence Overfull \hbox (23.97481pt too wide) in paragraph at lines 3562--3563 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruences Overfull \hbox (13.4346pt too wide) in paragraph at lines 3565--3566 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraint Overfull \hbox (17.3245pt too wide) in paragraph at lines 3568--3569 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraints Overfull \hbox (30.09464pt too wide) in paragraph at lines 3571--3572 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Congruence [370] Overfull \hbox (23.44432pt too wide) in paragraph at lines 3574--3575 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Constraint Overfull \hbox (21.75453pt too wide) in paragraph at lines 3577--3578 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Generator Overfull \hbox (19.8766pt too wide) in paragraph at lines 3580--3581 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]higher[][][]space[] Overfull \hbox (30.90471pt too wide) in paragraph at lines 3583--3584 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]space[][][]dimensions Overfull \hbox (26.72614pt too wide) in paragraph at lines 3586--3587 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s implify[][][]using[][][]context[] Overfull \hbox (3.53609pt too wide) in paragraph at lines 3592--3593 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s trictly[][][]contains[][][] Overfull \hbox (34.93663pt too wide) in paragraph at lines 3597--3599 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.93663pt too wide) in paragraph at lines 3599--3601 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.78645pt too wide) in paragraph at lines 3601--3603 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (34.78645pt too wide) in paragraph at lines 3603--3605 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (23.01672pt too wide) in paragraph at lines 3605--3607 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]narrowing[] Overfull \hbox (12.87532pt too wide) in paragraph at lines 3609--3611 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]congruence, Overfull \hbox (16.76521pt too wide) in paragraph at lines 3611--3613 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]congruences, Overfull \hbox (6.225pt too wide) in paragraph at lines 3613--3615 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]constraint, Overfull \hbox (10.1149pt too wide) in paragraph at lines 3615--3617 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]constraints, Overfull \hbox (6.98682pt too wide) in paragraph at lines 3617--3619 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (6.98682pt too wide) in paragraph at lines 3619--3621 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (44.63623pt too wide) in paragraph at lines 3621--3623 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (44.63623pt too wide) in paragraph at lines 3623--3625 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (16.53494pt too wide) in paragraph at lines 3625--3627 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]dimension, Overfull \hbox (16.32512pt too wide) in paragraph at lines 3627--3629 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]image, [][]210[][] Overfull \hbox (12.075pt too wide) in paragraph at lines 3629--3631 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]preimage, Overfull \hbox (10.47513pt too wide) in paragraph at lines 3631--3633 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]ascii[][][]dump, [][]217[][] Overfull \hbox (4.91507pt too wide) in paragraph at lines 3633--3635 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]ascii[][][]load, [][]217[][] Overfull \hbox (15.78688pt too wide) in paragraph at lines 3635--3637 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (15.78688pt too wide) in paragraph at lines 3637--3639 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (7.15686pt too wide) in paragraph at lines 3639--3641 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (7.15686pt too wide) in paragraph at lines 3641--3643 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (2.42659pt too wide) in paragraph at lines 3643--3645 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]concatenate[] Overfull \hbox (6.31508pt too wide) in paragraph at lines 3645--3647 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]constrains, [][]210[][] Overfull \hbox (33.2563pt too wide) in paragraph at lines 3647--3649 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]contains[][][][]Octagonal[] Overfull \hbox (19.77644pt too wide) in paragraph at lines 3649--3651 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]contains[][][]integer[] Overfull \hbox (17.6248pt too wide) in paragraph at lines 3651--3653 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]difference[][][]assign, Overfull \hbox (1.86685pt too wide) in paragraph at lines 3653--3655 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (1.86685pt too wide) in paragraph at lines 3655--3657 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (25.47641pt too wide) in paragraph at lines 3657--3659 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]equals[][][][]Octagonal[] Overfull \hbox (9.76686pt too wide) in paragraph at lines 3659--3661 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]expand[][][]space[] Overfull \hbox (24.2165pt too wide) in paragraph at lines 3661--3663 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]external[][][]memory[] Overfull \hbox (0.74673pt too wide) in paragraph at lines 3663--3665 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]fold[][][]space[][][] Overfull \hbox (5.5955pt too wide) in paragraph at lines 3665--3667 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]frequency, [][]207[][] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3667--3669 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3669--3671 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3671--3673 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3673--3675 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (14.5451pt too wide) in paragraph at lines 3675--3677 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]congruences, Overfull \hbox (7.89479pt too wide) in paragraph at lines 3677--3679 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]constraints, Overfull \hbox (13.82634pt too wide) in paragraph at lines 3679--3681 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (13.82634pt too wide) in paragraph at lines 3681--3683 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (1.8864pt too wide) in paragraph at lines 3683--3685 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]intersection[] Overfull \hbox (10.4754pt too wide) in paragraph at lines 3685--3687 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]bounded, [][]206[][] Overfull \hbox (7.13492pt too wide) in paragraph at lines 3687--3689 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]discrete, [][]206[][] Overfull \hbox (18.54622pt too wide) in paragraph at lines 3689--3691 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]disjoint[][][]from[] Overfull \hbox (1.03519pt too wide) in paragraph at lines 3691--3693 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]empty, [][]206[][] Overfull \hbox (18.27629pt too wide) in paragraph at lines 3693--3695 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]topologically[] [371] Overfull \hbox (9.51518pt too wide) in paragraph at lines 3695--3697 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]universe, [][]206[][] Overfull \hbox (1.05646pt too wide) in paragraph at lines 3697--3699 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (1.05646pt too wide) in paragraph at lines 3699--3701 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (13.03535pt too wide) in paragraph at lines 3699--3701 \OT1/ptm/bc/n/10 M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens, [ ][]213[][] Overfull \hbox (10.50641pt too wide) in paragraph at lines 3701--3703 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (10.50641pt too wide) in paragraph at lines 3703--3705 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (9.00475pt too wide) in paragraph at lines 3705--3707 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]linear[][][]partition, Overfull \hbox (1.85672pt too wide) in paragraph at lines 3707--3709 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]map[][][]space[][][] Overfull \hbox (5.20506pt too wide) in paragraph at lines 3709--3711 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]maximize, [][]207[][] Overfull \hbox (16.04631pt too wide) in paragraph at lines 3711--3713 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]maximize[][][]with[] Overfull \hbox (3.54501pt too wide) in paragraph at lines 3713--3715 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]minimize, [][]207[][] Overfull \hbox (14.38626pt too wide) in paragraph at lines 3715--3717 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]minimize[][][]with[] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3717--3719 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3719--3721 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3721--3723 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3723--3725 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3725--3727 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3727--3729 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3729--3731 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (14.06688pt too wide) in paragraph at lines 3731--3733 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]remove[][][]higher[] Overfull \hbox (10.7268pt too wide) in paragraph at lines 3733--3735 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]remove[][][]space[] Overfull \hbox (13.83636pt too wide) in paragraph at lines 3735--3737 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]simplify[][][]using[] Overfull \hbox (16.22488pt too wide) in paragraph at lines 3737--3739 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]space[][][]dimension, Overfull \hbox (19.93608pt too wide) in paragraph at lines 3739--3741 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]strictly[][][]contains[] Overfull \hbox (1.59639pt too wide) in paragraph at lines 3741--3743 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]time[][][]elapse[] Overfull \hbox (0.22661pt too wide) in paragraph at lines 3743--3745 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]topological[] Overfull \hbox (9.93646pt too wide) in paragraph at lines 3745--3747 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]total[][][]memory[] Overfull \hbox (1.88667pt too wide) in paragraph at lines 3747--3749 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]unconstrain[] Overfull \hbox (1.88667pt too wide) in paragraph at lines 3749--3751 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]unconstrain[] Overfull \hbox (6.59706pt too wide) in paragraph at lines 3751--3753 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (6.59706pt too wide) in paragraph at lines 3753--3755 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (14.56497pt too wide) in paragraph at lines 3755--3757 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]widening[][][]assign, Overfull \hbox (21.04648pt too wide) in paragraph at lines 3757--3759 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]widening[][][]assign[] Overfull \hbox (14.35516pt too wide) in paragraph at lines 3759--3761 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]wrap[][][]assign, [][]214[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3761--3763 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3763--3765 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3765--3767 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3767--3769 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (3.26659pt too wide) in paragraph at lines 3769--3771 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][] []class[][][]from[] Overfull \hbox (4.36514pt too wide) in paragraph at lines 3773--3775 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class, [][]217[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3779--3781 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3781--3783 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3783--3785 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3785--3787 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.73547pt too wide) in paragraph at lines 3785--3787 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity, [][]203[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3787--3789 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3789--3791 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.17542pt too wide) in paragraph at lines 3789--3791 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity, [][]203[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3791--3793 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]C[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3793--3795 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]C[] Overfull \hbox (46.59659pt too wide) in paragraph at lines 3795--3797 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Congruence[] Overfull \hbox (39.94627pt too wide) in paragraph at lines 3797--3799 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Constraint[] Overfull \hbox (27.71669pt too wide) in paragraph at lines 3799--3801 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (27.71669pt too wide) in paragraph at lines 3801--3803 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (38.25648pt too wide) in paragraph at lines 3803--3805 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Generator[] Overfull \hbox (10.1252pt too wide) in paragraph at lines 3805--3807 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Grid, Overfull \hbox (16.6067pt too wide) in paragraph at lines 3807--3809 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Grid[] [372] Overfull \hbox (5.49686pt too wide) in paragraph at lines 3809--3811 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]N[] Overfull \hbox (5.49686pt too wide) in paragraph at lines 3811--3813 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]N[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3813--3815 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3815--3817 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3817--3819 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3819--3821 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3821--3823 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3823--3825 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (32.16637pt too wide) in paragraph at lines 3825--3827 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (32.16637pt too wide) in paragraph at lines 3827--3829 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (20.4866pt too wide) in paragraph at lines 3829--3831 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][]space[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3831--3833 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3833--3835 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3835--3837 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3837--3839 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3839--3841 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3841--3843 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3843--3845 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (13.83635pt too wide) in paragraph at lines 3845--3847 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (13.83635pt too wide) in paragraph at lines 3847--3849 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (11.61638pt too wide) in paragraph at lines 3849--3851 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (11.61638pt too wide) in paragraph at lines 3851--3853 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (1.21451pt too wide) in paragraph at lines 3853--3854 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t ime[][][]elapse[][][]assign Overfull \hbox (12.70624pt too wide) in paragraph at lines 3856--3857 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t opological[][][]closure[] Overfull \hbox (1.31636pt too wide) in paragraph at lines 3859--3860 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t otal[][][]memory[][][]in[] Overfull \hbox (7.6964pt too wide) in paragraph at lines 3862--3863 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (7.6964pt too wide) in paragraph at lines 3865--3866 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (6.21518pt too wide) in paragraph at lines 3868--3869 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign Overfull \hbox (15.19669pt too wide) in paragraph at lines 3871--3872 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign[] Overfull \hbox (1.04648pt too wide) in paragraph at lines 3877--3878 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign[] Overfull \hbox (14.37657pt too wide) in paragraph at lines 3883--3884 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.37657pt too wide) in paragraph at lines 3886--3887 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.2264pt too wide) in paragraph at lines 3889--3890 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (14.2264pt too wide) in paragraph at lines 3892--3893 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (2.45667pt too wide) in paragraph at lines 3895--3896 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]narrowing[] Overfull \hbox (31.02487pt too wide) in paragraph at lines 3913--3914 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]congruences Overfull \hbox (24.37456pt too wide) in paragraph at lines 3916--3917 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]constraints Overfull \hbox (24.07617pt too wide) in paragraph at lines 3919--3920 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[] Overfull \hbox (24.07617pt too wide) in paragraph at lines 3922--3923 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[] [373] Overfull \hbox (14.28499pt too wide) in paragraph at lines 3940--3941 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]image Overfull \hbox (27.05489pt too wide) in paragraph at lines 3943--3944 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]preimage Overfull \hbox (4.79538pt too wide) in paragraph at lines 3946--3947 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]above Overfull \hbox (5.4051pt too wide) in paragraph at lines 3949--3950 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]below Overfull \hbox (1.48465pt too wide) in paragraph at lines 3952--3953 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c oncatenate[][][]assign Overfull \hbox (12.69624pt too wide) in paragraph at lines 3958--3959 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][][]Octagonal[] Overfull \hbox (2.81639pt too wide) in paragraph at lines 3961--3962 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][]integer[][][] Overfull \hbox (27.52652pt too wide) in paragraph at lines 3967--3968 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[] Overfull \hbox (27.52652pt too wide) in paragraph at lines 3970--3971 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[] Overfull \hbox (4.91635pt too wide) in paragraph at lines 3973--3974 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e quals[][][][]Octagonal[] Overfull \hbox (25.49481pt too wide) in paragraph at lines 3976--3977 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xpand[][][]space[][][]dimension Overfull \hbox (3.65645pt too wide) in paragraph at lines 3979--3980 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xternal[][][]memory[] Overfull \hbox (16.76457pt too wide) in paragraph at lines 3982--3983 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]f old[][][]space[][][]dimensions Overfull \hbox (6.87633pt too wide) in paragraph at lines 3988--3989 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3991--3992 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3994--3995 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3997--3998 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (37.8644pt too wide) in paragraph at lines 4006--4007 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]congruences Overfull \hbox (31.21408pt too wide) in paragraph at lines 4009--4010 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]constraints Overfull \hbox (0.94446pt too wide) in paragraph at lines 4012--4013 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i ntersection[][][]assign Overfull \hbox (1.58617pt too wide) in paragraph at lines 4021--4022 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]disjoint[][][]from[][][] Overfull \hbox (1.31624pt too wide) in paragraph at lines 4027--4028 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]topologically[][][] Overfull \hbox (5.49628pt too wide) in paragraph at lines 4033--4034 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (5.49628pt too wide) in paragraph at lines 4036--4037 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (46.1658pt too wide) in paragraph at lines 4039--4040 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (46.1658pt too wide) in paragraph at lines 4042--4043 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (17.87456pt too wide) in paragraph at lines 4048--4049 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m ap[][][]space[][][]dimensions Overfull \hbox (10.66454pt too wide) in paragraph at lines 4054--4055 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m aximize[][][]with[][][]point Overfull \hbox (9.00449pt too wide) in paragraph at lines 4060--4061 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m inimize[][][]with[][][]point Overfull \hbox (19.52486pt too wide) in paragraph at lines 4063--4064 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruence [374] Overfull \hbox (23.41475pt too wide) in paragraph at lines 4066--4067 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruences Overfull \hbox (12.87454pt too wide) in paragraph at lines 4069--4070 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraint Overfull \hbox (16.76443pt too wide) in paragraph at lines 4072--4073 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraints Overfull \hbox (29.53458pt too wide) in paragraph at lines 4075--4076 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Congruence Overfull \hbox (22.88426pt too wide) in paragraph at lines 4078--4079 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Constraint Overfull \hbox (21.19447pt too wide) in paragraph at lines 4081--4082 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Generator Overfull \hbox (19.31654pt too wide) in paragraph at lines 4084--4085 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]higher[][][]space[] Overfull \hbox (30.34465pt too wide) in paragraph at lines 4087--4088 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]space[][][]dimensions Overfull \hbox (26.16608pt too wide) in paragraph at lines 4090--4091 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s implify[][][]using[][][]context[] Overfull \hbox (2.97603pt too wide) in paragraph at lines 4096--4097 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s trictly[][][]contains[][][] Overfull \hbox (34.37657pt too wide) in paragraph at lines 4101--4103 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.37657pt too wide) in paragraph at lines 4103--4105 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.2264pt too wide) in paragraph at lines 4105--4107 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (34.2264pt too wide) in paragraph at lines 4107--4109 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (22.45667pt too wide) in paragraph at lines 4109--4111 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]narrowing[] Overfull \hbox (12.31526pt too wide) in paragraph at lines 4113--4115 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]congruence, Overfull \hbox (16.20515pt too wide) in paragraph at lines 4115--4117 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]congruences, Overfull \hbox (5.66495pt too wide) in paragraph at lines 4117--4119 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]constraint, Overfull \hbox (9.55484pt too wide) in paragraph at lines 4119--4121 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]constraints, Overfull \hbox (6.42676pt too wide) in paragraph at lines 4121--4123 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (6.42676pt too wide) in paragraph at lines 4123--4125 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (44.07617pt too wide) in paragraph at lines 4125--4127 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (44.07617pt too wide) in paragraph at lines 4127--4129 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (15.97488pt too wide) in paragraph at lines 4129--4131 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]dimension, Overfull \hbox (15.76506pt too wide) in paragraph at lines 4131--4133 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]image, [][]232[][] Overfull \hbox (11.51494pt too wide) in paragraph at lines 4133--4135 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]preimage, Overfull \hbox (9.91507pt too wide) in paragraph at lines 4135--4137 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]ascii[][][]dump, [][]239[][] Overfull \hbox (4.35501pt too wide) in paragraph at lines 4137--4139 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]ascii[][][]load, [][]239[][] Overfull \hbox (15.22682pt too wide) in paragraph at lines 4139--4141 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (15.22682pt too wide) in paragraph at lines 4141--4143 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (6.5968pt too wide) in paragraph at lines 4143--4145 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (6.5968pt too wide) in paragraph at lines 4145--4147 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (1.86653pt too wide) in paragraph at lines 4147--4149 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]concatenate[] Overfull \hbox (5.75502pt too wide) in paragraph at lines 4149--4151 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]constrains, [][]231[][] Overfull \hbox (32.69624pt too wide) in paragraph at lines 4151--4153 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]contains[][][][]Octagonal[] Overfull \hbox (19.21638pt too wide) in paragraph at lines 4153--4155 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]contains[][][]integer[] Overfull \hbox (17.06474pt too wide) in paragraph at lines 4155--4157 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]difference[][][]assign, Overfull \hbox (1.3068pt too wide) in paragraph at lines 4157--4159 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (1.3068pt too wide) in paragraph at lines 4159--4161 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (24.91635pt too wide) in paragraph at lines 4161--4163 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]equals[][][][]Octagonal[] Overfull \hbox (9.2068pt too wide) in paragraph at lines 4163--4165 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]expand[][][]space[] Overfull \hbox (23.65645pt too wide) in paragraph at lines 4165--4167 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]external[][][]memory[] Overfull \hbox (0.18668pt too wide) in paragraph at lines 4167--4169 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]fold[][][]space[][][] Overfull \hbox (5.03545pt too wide) in paragraph at lines 4169--4171 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]frequency, [][]229[][] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4171--4173 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4173--4175 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4175--4177 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4177--4179 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (13.98505pt too wide) in paragraph at lines 4179--4181 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]congruences, Overfull \hbox (7.33473pt too wide) in paragraph at lines 4181--4183 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]constraints, Overfull \hbox (13.26628pt too wide) in paragraph at lines 4183--4185 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (13.26628pt too wide) in paragraph at lines 4185--4187 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]minimized[] [375] Overfull \hbox (1.32634pt too wide) in paragraph at lines 4187--4189 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]intersection[] Overfull \hbox (9.91534pt too wide) in paragraph at lines 4189--4191 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]bounded, [][]227[][] Overfull \hbox (6.57486pt too wide) in paragraph at lines 4191--4193 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]discrete, [][]228[][] Overfull \hbox (17.98616pt too wide) in paragraph at lines 4193--4195 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]disjoint[][][]from[] Overfull \hbox (0.47513pt too wide) in paragraph at lines 4195--4197 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]empty, [][]227[][] Overfull \hbox (17.71623pt too wide) in paragraph at lines 4197--4199 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]topologically[] Overfull \hbox (8.95512pt too wide) in paragraph at lines 4199--4201 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]universe, [][]227[][] Overfull \hbox (0.4964pt too wide) in paragraph at lines 4201--4203 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (0.4964pt too wide) in paragraph at lines 4203--4205 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (13.03535pt too wide) in paragraph at lines 4203--4205 \OT1/ptm/bc/n/10 M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens, [ ][]235[][] Overfull \hbox (9.94635pt too wide) in paragraph at lines 4205--4207 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (9.94635pt too wide) in paragraph at lines 4207--4209 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (8.44469pt too wide) in paragraph at lines 4209--4211 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]linear[][][]partition, Overfull \hbox (1.29666pt too wide) in paragraph at lines 4211--4213 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]map[][][]space[][][] Overfull \hbox (4.645pt too wide) in paragraph at lines 4213--4215 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]maximize, [][]228[][] Overfull \hbox (15.48625pt too wide) in paragraph at lines 4215--4217 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]maximize[][][]with[] Overfull \hbox (2.98495pt too wide) in paragraph at lines 4217--4219 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]minimize, [][]228[][] Overfull \hbox (13.8262pt too wide) in paragraph at lines 4219--4221 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]minimize[][][]with[] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4221--4223 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4223--4225 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4225--4227 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4227--4229 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4229--4231 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4231--4233 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4233--4235 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (13.50682pt too wide) in paragraph at lines 4235--4237 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]remove[][][]higher[] Overfull \hbox (10.16675pt too wide) in paragraph at lines 4237--4239 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]remove[][][]space[] Overfull \hbox (13.2763pt too wide) in paragraph at lines 4239--4241 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]simplify[][][]using[] Overfull \hbox (15.66483pt too wide) in paragraph at lines 4241--4243 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]space[][][]dimension, Overfull \hbox (19.37602pt too wide) in paragraph at lines 4243--4245 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]strictly[][][]contains[] Overfull \hbox (1.03633pt too wide) in paragraph at lines 4245--4247 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]time[][][]elapse[] Overfull \hbox (3.26656pt too wide) in paragraph at lines 4247--4249 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]topological[][][] Overfull \hbox (9.3764pt too wide) in paragraph at lines 4249--4251 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]total[][][]memory[] Overfull \hbox (1.32661pt too wide) in paragraph at lines 4251--4253 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]unconstrain[] Overfull \hbox (1.32661pt too wide) in paragraph at lines 4253--4255 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]unconstrain[] Overfull \hbox (6.037pt too wide) in paragraph at lines 4255--4257 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (6.037pt too wide) in paragraph at lines 4257--4259 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (14.00491pt too wide) in paragraph at lines 4259--4261 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]widening[][][]assign, Overfull \hbox (20.48642pt too wide) in paragraph at lines 4261--4263 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]widening[][][]assign[] Overfull \hbox (13.7951pt too wide) in paragraph at lines 4263--4265 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]wrap[][][]assign, [][]236[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 4265--4267 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 4267--4269 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 4269--4271 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 4271--4273 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (2.70653pt too wide) in paragraph at lines 4273--4275 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][] []class[][][]from[] Overfull \hbox (3.80508pt too wide) in paragraph at lines 4277--4279 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class, [][]239[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4283--4285 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4285--4287 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4287--4289 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4289--4291 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.73547pt too wide) in paragraph at lines 4289--4291 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity, [][]225[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4291--4293 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4293--4295 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.17542pt too wide) in paragraph at lines 4293--4295 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity, [][]225[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4295--4297 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]C[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4297--4299 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]C[] Overfull \hbox (46.03653pt too wide) in paragraph at lines 4299--4301 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Congruence[] Overfull \hbox (39.38622pt too wide) in paragraph at lines 4301--4303 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Constraint[] Overfull \hbox (27.15663pt too wide) in paragraph at lines 4303--4305 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Double[] [376] Overfull \hbox (27.15663pt too wide) in paragraph at lines 4305--4307 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (37.69643pt too wide) in paragraph at lines 4307--4309 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Generator[] Overfull \hbox (9.56514pt too wide) in paragraph at lines 4309--4311 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Grid, Overfull \hbox (16.04665pt too wide) in paragraph at lines 4311--4313 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Grid[] Overfull \hbox (4.9368pt too wide) in paragraph at lines 4313--4315 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]N[] Overfull \hbox (4.9368pt too wide) in paragraph at lines 4315--4317 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]N[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4317--4319 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4319--4321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4321--4323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4323--4325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4325--4327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4327--4329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (31.60631pt too wide) in paragraph at lines 4329--4331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (31.60631pt too wide) in paragraph at lines 4331--4333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (19.92654pt too wide) in paragraph at lines 4333--4335 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][]space[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4335--4337 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4337--4339 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4339--4341 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 4341--4343 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 4343--4345 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 4345--4347 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 4347--4349 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (13.27629pt too wide) in paragraph at lines 4349--4351 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (13.27629pt too wide) in paragraph at lines 4351--4353 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (11.05632pt too wide) in paragraph at lines 4353--4355 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (11.05632pt too wide) in paragraph at lines 4355--4357 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (0.65445pt too wide) in paragraph at lines 4357--4358 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t ime[][][]elapse[][][]assign Overfull \hbox (12.14618pt too wide) in paragraph at lines 4360--4361 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t opological[][][]closure[] Overfull \hbox (0.7563pt too wide) in paragraph at lines 4363--4364 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t otal[][][]memory[][][]in[] Overfull \hbox (7.13634pt too wide) in paragraph at lines 4366--4367 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (7.13634pt too wide) in paragraph at lines 4369--4370 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (5.65512pt too wide) in paragraph at lines 4372--4373 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign Overfull \hbox (14.63663pt too wide) in paragraph at lines 4375--4376 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign[] Overfull \hbox (0.48642pt too wide) in paragraph at lines 4381--4382 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign[] Overfull \hbox (2.33504pt too wide) in paragraph at lines 4389--4390 []\OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]d imensions[][][]and[][][]embed Overfull \hbox (1.05676pt too wide) in paragraph at lines 4399--4401 []| \OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][ ]dimensions[][][]and[] Overfull \hbox (16.89503pt too wide) in paragraph at lines 4410--4412 []| \OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][]get[][ ][]parametric[][][]values, [][]243[][] Overfull \hbox (0.82666pt too wide) in paragraph at lines 4414--4415 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]B[]H[] Overfull \hbox (4.15674pt too wide) in paragraph at lines 4417--4418 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]H79[] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4420--4421 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]B[]H[] Overfull \hbox (4.70679pt too wide) in paragraph at lines 4423--4424 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]H79[] [377] Overfull \hbox (9.0351pt too wide) in paragraph at lines 4429--4430 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruence Overfull \hbox (12.92499pt too wide) in paragraph at lines 4432--4433 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruences Overfull \hbox (2.38478pt too wide) in paragraph at lines 4435--4436 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraint Overfull \hbox (6.27467pt too wide) in paragraph at lines 4438--4439 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraints Overfull \hbox (43.296pt too wide) in paragraph at lines 4444--4445 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[] Overfull \hbox (43.296pt too wide) in paragraph at lines 4447--4448 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[] Overfull \hbox (12.69472pt too wide) in paragraph at lines 4450--4451 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]dimension Overfull \hbox (8.23477pt too wide) in paragraph at lines 4456--4457 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]preimage Overfull \hbox (14.44666pt too wide) in paragraph at lines 4465--4466 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[] Overfull \hbox (14.44666pt too wide) in paragraph at lines 4468--4469 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[] Overfull \hbox (5.81664pt too wide) in paragraph at lines 4471--4472 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[] Overfull \hbox (5.81664pt too wide) in paragraph at lines 4474--4475 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[] Overfull \hbox (1.08636pt too wide) in paragraph at lines 4477--4478 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]concatenate[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4480--4481 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4481--4483 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4483--4484 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4484--4486 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4486--4487 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4487--4489 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4489--4490 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4490--4492 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4492--4493 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4493--4495 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4495--4496 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4496--4498 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4498--4500 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4500--4502 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4502--4504 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4504--4506 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4506--4508 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4508--4510 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4510--4512 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (1.36655pt too wide) in paragraph at lines 4512--4514 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron[][][] Overfull \hbox (15.00658pt too wide) in paragraph at lines 4514--4516 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]const[] Overfull \hbox (15.00658pt too wide) in paragraph at lines 4516--4518 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]const[] Overfull \hbox (23.04594pt too wide) in paragraph at lines 4521--4522 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][][]Pointset[] Overfull \hbox (18.43622pt too wide) in paragraph at lines 4524--4525 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][]integer[] Overfull \hbox (13.78458pt too wide) in paragraph at lines 4527--4528 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]difference[][][]assign Overfull \hbox (2.39479pt too wide) in paragraph at lines 4533--4534 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjuncts Overfull \hbox (0.52663pt too wide) in paragraph at lines 4536--4537 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][] Overfull \hbox (0.52663pt too wide) in paragraph at lines 4539--4540 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][] Overfull \hbox (15.26605pt too wide) in paragraph at lines 4542--4543 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]equals[][][][]Pointset[] [378] Overfull \hbox (8.42664pt too wide) in paragraph at lines 4545--4546 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]expand[][][]space[] Overfull \hbox (22.87628pt too wide) in paragraph at lines 4548--4549 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]external[][][]memory[] Overfull \hbox (35.9844pt too wide) in paragraph at lines 4551--4552 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]fold[][][]space[][][]dimensions Overfull \hbox (3.57639pt too wide) in paragraph at lines 4554--4555 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4557--4558 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4560--4561 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4563--4564 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (8.87611pt too wide) in paragraph at lines 4566--4567 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[] Overfull \hbox (8.87611pt too wide) in paragraph at lines 4569--4570 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[] Overfull \hbox (0.54617pt too wide) in paragraph at lines 4572--4573 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]intersection[] Overfull \hbox (17.206pt too wide) in paragraph at lines 4581--4582 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]disjoint[][][]from[] Overfull \hbox (16.93607pt too wide) in paragraph at lines 4587--4588 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]topologically[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4594--4596 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (19.03441pt too wide) in paragraph at lines 4596--4597 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]decrement Overfull \hbox (2.7664pt too wide) in paragraph at lines 4597--4599 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (24.01442pt too wide) in paragraph at lines 4599--4600 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]dereference Overfull \hbox (2.7664pt too wide) in paragraph at lines 4600--4602 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4603--4605 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (8.02618pt too wide) in paragraph at lines 4605--4606 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]equal[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4606--4608 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (17.37436pt too wide) in paragraph at lines 4608--4609 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]increment Overfull \hbox (2.7664pt too wide) in paragraph at lines 4609--4611 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (9.12476pt too wide) in paragraph at lines 4611--4613 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]tag, [][]247[][] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4613--4615 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4615--4617 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4617--4619 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4619--4621 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4621--4623 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4623--4625 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (1.36655pt too wide) in paragraph at lines 4625--4627 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron[][][] Overfull \hbox (16.29482pt too wide) in paragraph at lines 4627--4629 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]iterator, Overfull \hbox (22.77632pt too wide) in paragraph at lines 4629--4631 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]iterator[] Overfull \hbox (0.5165pt too wide) in paragraph at lines 4631--4632 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]map[][][]space[][][] Overfull \hbox (14.70609pt too wide) in paragraph at lines 4637--4638 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize[][][]with[] Overfull \hbox (13.04604pt too wide) in paragraph at lines 4643--4644 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize[][][]with[] Overfull \hbox (1.61514pt too wide) in paragraph at lines 4646--4647 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]omega[][][]reduce Overfull \hbox (9.0347pt too wide) in paragraph at lines 4649--4650 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]pairwise[][][]reduce Overfull \hbox (1.63647pt too wide) in paragraph at lines 4652--4653 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4655--4656 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4658--4659 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] [379] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4661--4662 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4664--4665 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4667--4668 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4670--4671 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (12.72665pt too wide) in paragraph at lines 4673--4674 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]higher[] Overfull \hbox (9.38658pt too wide) in paragraph at lines 4676--4677 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]space[] Overfull \hbox (12.49614pt too wide) in paragraph at lines 4679--4680 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]simplify[][][]using[] Overfull \hbox (12.38466pt too wide) in paragraph at lines 4685--4686 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]space[][][]dimension Overfull \hbox (18.59586pt too wide) in paragraph at lines 4688--4689 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]strictly[][][]contains[] Overfull \hbox (3.33676pt too wide) in paragraph at lines 4693--4695 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]G[]P99[] Overfull \hbox (3.33676pt too wide) in paragraph at lines 4695--4697 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]G[]P99[] Overfull \hbox (3.88681pt too wide) in paragraph at lines 4697--4699 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]H[]Z03[] Overfull \hbox (1.58586pt too wide) in paragraph at lines 4697--4699 [][][]\OT1/ptm/bc/n/10 B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][]assi gn, [][]263[][] Overfull \hbox (3.88681pt too wide) in paragraph at lines 4699--4701 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]H[]Z03[] Overfull \hbox (31.5351pt too wide) in paragraph at lines 4703--4705 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]congruence, Overfull \hbox (35.42499pt too wide) in paragraph at lines 4705--4707 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]congruences, Overfull \hbox (24.88478pt too wide) in paragraph at lines 4707--4709 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]constraint, Overfull \hbox (28.77467pt too wide) in paragraph at lines 4709--4711 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]constraints, Overfull \hbox (17.11488pt too wide) in paragraph at lines 4711--4713 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]disjunct, Overfull \hbox (14.1366pt too wide) in paragraph at lines 4713--4715 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]space[] Overfull \hbox (14.1366pt too wide) in paragraph at lines 4715--4717 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]space[] Overfull \hbox (12.11488pt too wide) in paragraph at lines 4723--4725 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]ascii[][][]dump, Overfull \hbox (6.55482pt too wide) in paragraph at lines 4725--4727 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]ascii[][][]load, Overfull \hbox (8.32687pt too wide) in paragraph at lines 4727--4729 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounded[] Overfull \hbox (8.32687pt too wide) in paragraph at lines 4729--4731 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounded[] Overfull \hbox (2.77682pt too wide) in paragraph at lines 4731--4733 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounds[] Overfull \hbox (2.77682pt too wide) in paragraph at lines 4733--4735 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounds[] Overfull \hbox (21.08636pt too wide) in paragraph at lines 4735--4737 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]concatenate[] Overfull \hbox (7.95483pt too wide) in paragraph at lines 4737--4739 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]constrains, Overfull \hbox (7.21649pt too wide) in paragraph at lines 4739--4741 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]contains[] Overfull \hbox (7.21649pt too wide) in paragraph at lines 4741--4743 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]contains[] Overfull \hbox (14.16646pt too wide) in paragraph at lines 4743--4745 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]difference[] Overfull \hbox (21.0049pt too wide) in paragraph at lines 4745--4747 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]disjunct, Overfull \hbox (24.89479pt too wide) in paragraph at lines 4747--4749 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]disjuncts, Overfull \hbox (16.92662pt too wide) in paragraph at lines 4749--4751 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]some[] Overfull \hbox (16.92662pt too wide) in paragraph at lines 4751--4753 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]some[] Overfull \hbox (3.0366pt too wide) in paragraph at lines 4753--4755 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]equals[][][] Overfull \hbox (2.61691pt too wide) in paragraph at lines 4755--4757 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]expand[] Overfull \hbox (5.9466pt too wide) in paragraph at lines 4757--4759 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]external[] Overfull \hbox (15.8065pt too wide) in paragraph at lines 4759--4761 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]fold[][][]space[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4761--4763 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4763--4765 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4765--4767 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4767--4769 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (28.87611pt too wide) in paragraph at lines 4769--4771 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]geometrically[] Overfull \hbox (16.8455pt too wide) in paragraph at lines 4769--4771 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Pol yhedron, [][]254[][] [380] Overfull \hbox (28.87611pt too wide) in paragraph at lines 4771--4773 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]geometrically[] Overfull \hbox (16.59525pt too wide) in paragraph at lines 4771--4773 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Pol yhedron, [][]254[][] Overfull \hbox (20.54617pt too wide) in paragraph at lines 4773--4775 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]intersection[] Overfull \hbox (12.11516pt too wide) in paragraph at lines 4775--4777 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]bounded, Overfull \hbox (8.77467pt too wide) in paragraph at lines 4777--4779 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]discrete, Overfull \hbox (14.16618pt too wide) in paragraph at lines 4779--4781 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]disjoint[] Overfull \hbox (10.48538pt too wide) in paragraph at lines 4779--4781 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyh edron, [][]258[][] Overfull \hbox (2.67494pt too wide) in paragraph at lines 4781--4783 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]empty, Overfull \hbox (36.93607pt too wide) in paragraph at lines 4783--4785 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]topologically[] Overfull \hbox (11.15494pt too wide) in paragraph at lines 4785--4787 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]universe, Overfull \hbox (16.91649pt too wide) in paragraph at lines 4787--4789 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]map[][][]space[] Overfull \hbox (6.84482pt too wide) in paragraph at lines 4789--4791 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]maximize, Overfull \hbox (13.32632pt too wide) in paragraph at lines 4791--4793 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]maximize[] Overfull \hbox (5.18477pt too wide) in paragraph at lines 4793--4795 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]minimize, Overfull \hbox (11.66628pt too wide) in paragraph at lines 4795--4797 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]minimize[] Overfull \hbox (0.34686pt too wide) in paragraph at lines 4797--4799 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]omega[] Overfull \hbox (7.76642pt too wide) in paragraph at lines 4799--4801 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]pairwise[] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4801--4803 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4803--4805 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4805--4807 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4807--4809 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4809--4811 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4811--4813 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4813--4815 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (3.57686pt too wide) in paragraph at lines 4815--4817 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]remove[] Overfull \hbox (3.57686pt too wide) in paragraph at lines 4817--4819 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]remove[] Overfull \hbox (7.22635pt too wide) in paragraph at lines 4819--4821 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]simplify[] Overfull \hbox (34.88466pt too wide) in paragraph at lines 4823--4825 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]space[][][]dimension, Overfull \hbox (1.66629pt too wide) in paragraph at lines 4825--4827 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]strictly[] Overfull \hbox (7.35512pt too wide) in paragraph at lines 4825--4827 [][]\OT1/ptm/bc/n/10 contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron, Overfull \hbox (20.25616pt too wide) in paragraph at lines 4827--4829 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]time[][][]elapse[] Overfull \hbox (18.88638pt too wide) in paragraph at lines 4829--4831 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]topological[] Overfull \hbox (28.59624pt too wide) in paragraph at lines 4831--4833 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]total[][][]memory[] Overfull \hbox (20.54645pt too wide) in paragraph at lines 4833--4835 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]unconstrain[] Overfull \hbox (20.54645pt too wide) in paragraph at lines 4835--4837 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]unconstrain[] Overfull \hbox (0.25684pt too wide) in paragraph at lines 4837--4839 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]upper[][][] Overfull \hbox (0.25684pt too wide) in paragraph at lines 4839--4841 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]upper[][][] Overfull \hbox (8.30505pt too wide) in paragraph at lines 4841--4843 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron, [][]255[][] Overfull \hbox (6.0049pt too wide) in paragraph at lines 4843--4845 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron, Overfull \hbox (1.00502pt too wide) in paragraph at lines 4845--4847 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][ ][][]C[][][][]Polyhedron, Overfull \hbox (14.69508pt too wide) in paragraph at lines 4847--4849 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron, [][]264[][] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4849--4851 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4851--4853 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4853--4855 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4855--4857 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4857--4859 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4859--4861 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (1.88683pt too wide) in paragraph at lines 4859--4861 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[][][ ]with[][][] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4861--4863 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (0.25616pt too wide) in paragraph at lines 4863--4864 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]time[][][]elapse[] Overfull \hbox (2.48639pt too wide) in paragraph at lines 4866--4867 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]topological[][][] Overfull \hbox (8.59624pt too wide) in paragraph at lines 4869--4870 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]total[][][]memory[] Overfull \hbox (0.54645pt too wide) in paragraph at lines 4872--4873 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[] Overfull \hbox (0.54645pt too wide) in paragraph at lines 4875--4876 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[] Overfull \hbox (5.25684pt too wide) in paragraph at lines 4878--4879 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[] [381] Overfull \hbox (5.25684pt too wide) in paragraph at lines 4881--4882 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4884--4885 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4885--4887 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4887--4888 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4888--4890 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.92676pt too wide) in paragraph at lines 4890--4891 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4891--4893 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.92676pt too wide) in paragraph at lines 4893--4894 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4894--4896 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4897--4899 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (23.47504pt too wide) in paragraph at lines 4899--4900 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruence Overfull \hbox (11.08522pt too wide) in paragraph at lines 4900--4902 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (27.36493pt too wide) in paragraph at lines 4902--4903 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruences Overfull \hbox (11.08522pt too wide) in paragraph at lines 4903--4905 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (16.82472pt too wide) in paragraph at lines 4905--4906 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraint Overfull \hbox (11.08522pt too wide) in paragraph at lines 4906--4908 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (20.71461pt too wide) in paragraph at lines 4908--4909 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraints Overfull \hbox (11.08522pt too wide) in paragraph at lines 4909--4911 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (9.05482pt too wide) in paragraph at lines 4911--4912 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]disjunct Overfull \hbox (11.08522pt too wide) in paragraph at lines 4912--4914 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (8.57654pt too wide) in paragraph at lines 4914--4915 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4915--4917 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (8.57654pt too wide) in paragraph at lines 4917--4918 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4918--4920 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (27.13466pt too wide) in paragraph at lines 4920--4921 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]dimension Overfull \hbox (11.08522pt too wide) in paragraph at lines 4921--4923 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (9.90482pt too wide) in paragraph at lines 4923--4924 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]image Overfull \hbox (11.08522pt too wide) in paragraph at lines 4924--4926 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (22.67471pt too wide) in paragraph at lines 4926--4927 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]preimage Overfull \hbox (11.08522pt too wide) in paragraph at lines 4927--4929 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (4.05482pt too wide) in paragraph at lines 4929--4930 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]dump Overfull \hbox (11.08522pt too wide) in paragraph at lines 4930--4932 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]283[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4933--4935 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]283[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 4935--4936 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4936--4938 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 4938--4939 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4939--4941 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (0.81677pt too wide) in paragraph at lines 4941--4942 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4942--4944 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.81677pt too wide) in paragraph at lines 4944--4945 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4945--4947 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (15.5263pt too wide) in paragraph at lines 4947--4948 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]concatenate[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4948--4950 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4950--4951 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4951--4953 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4953--4954 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4954--4956 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4956--4957 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4957--4959 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4959--4960 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4960--4962 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4962--4963 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4963--4965 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4965--4966 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4966--4968 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4968--4970 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4970--4972 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4972--4974 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4974--4976 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4976--4978 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4978--4980 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4980--4982 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (12.20648pt too wide) in paragraph at lines 4982--4984 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 4984--4986 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 4986--4988 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4989--4991 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (1.65643pt too wide) in paragraph at lines 4991--4992 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[] [382] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4992--4994 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (1.65643pt too wide) in paragraph at lines 4994--4995 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4995--4997 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (8.6064pt too wide) in paragraph at lines 4997--4998 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]difference[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4998--5000 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.94484pt too wide) in paragraph at lines 5000--5001 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjunct Overfull \hbox (11.08522pt too wide) in paragraph at lines 5001--5003 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (16.83473pt too wide) in paragraph at lines 5003--5004 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjuncts Overfull \hbox (11.08522pt too wide) in paragraph at lines 5004--5006 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (11.36656pt too wide) in paragraph at lines 5006--5007 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5007--5009 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (11.36656pt too wide) in paragraph at lines 5009--5010 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5010--5012 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (29.706pt too wide) in paragraph at lines 5012--5013 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]equals[][][][]Pointset[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5013--5015 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (0.65686pt too wide) in paragraph at lines 5015--5016 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]expand[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5016--5018 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (0.38654pt too wide) in paragraph at lines 5018--5019 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]external[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5019--5021 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (10.24644pt too wide) in paragraph at lines 5021--5022 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]fold[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5022--5024 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5024--5025 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5025--5027 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5027--5028 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5028--5030 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5030--5031 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5031--5033 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5033--5034 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5034--5036 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (23.31606pt too wide) in paragraph at lines 5036--5037 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[] Overfull \hbox (11.76543pt too wide) in paragraph at lines 5036--5037 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5037--5039 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (23.31606pt too wide) in paragraph at lines 5039--5040 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[] Overfull \hbox (11.51517pt too wide) in paragraph at lines 5039--5040 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5040--5042 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (14.98611pt too wide) in paragraph at lines 5042--5043 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]intersection[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5043--5045 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (4.0551pt too wide) in paragraph at lines 5045--5046 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]bounded Overfull \hbox (11.08522pt too wide) in paragraph at lines 5046--5048 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.71461pt too wide) in paragraph at lines 5048--5049 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]discrete Overfull \hbox (11.08522pt too wide) in paragraph at lines 5049--5051 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (8.60612pt too wide) in paragraph at lines 5051--5052 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]disjoint[] Overfull \hbox (5.4053pt too wide) in paragraph at lines 5051--5052 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5052--5054 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5055--5057 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (31.376pt too wide) in paragraph at lines 5057--5058 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]topologically[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5058--5060 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (3.09488pt too wide) in paragraph at lines 5060--5061 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]universe Overfull \hbox (11.08522pt too wide) in paragraph at lines 5061--5063 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5063--5064 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5064--5066 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5066--5067 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5067--5069 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5069--5070 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5070--5072 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5072--5073 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5073--5075 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5075--5076 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5076--5078 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5078--5079 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5079--5081 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5081--5083 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5083--5085 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5085--5087 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5087--5089 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5089--5091 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5091--5093 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5093--5095 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (12.20648pt too wide) in paragraph at lines 5095--5097 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5097--5099 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5099--5101 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] [383] Overfull \hbox (11.35643pt too wide) in paragraph at lines 5101--5102 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]map[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5102--5104 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5105--5107 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (7.76627pt too wide) in paragraph at lines 5107--5108 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5108--5110 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5111--5113 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (6.10622pt too wide) in paragraph at lines 5113--5114 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5114--5116 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (16.05508pt too wide) in paragraph at lines 5116--5117 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]omega[][][]reduce Overfull \hbox (11.08522pt too wide) in paragraph at lines 5117--5119 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (2.20636pt too wide) in paragraph at lines 5119--5120 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]pairwise[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5120--5122 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5122--5123 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5123--5125 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5125--5126 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5126--5128 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5128--5129 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5129--5131 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5131--5132 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5132--5134 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5134--5135 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5135--5137 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5137--5138 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5138--5140 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5140--5141 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5141--5143 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (1.6168pt too wide) in paragraph at lines 5143--5144 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5144--5146 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (1.6168pt too wide) in paragraph at lines 5146--5147 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5147--5149 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (1.66629pt too wide) in paragraph at lines 5149--5150 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]simplify[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5150--5152 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5153--5155 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (26.8246pt too wide) in paragraph at lines 5155--5156 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]space[][][]dimension Overfull \hbox (11.08522pt too wide) in paragraph at lines 5156--5158 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (33.0358pt too wide) in paragraph at lines 5158--5159 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]strictly[][][]contains[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5159--5161 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5163--5165 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]G[] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5165--5167 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]G[] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5167--5169 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]H[] Overfull \hbox (1.2758pt too wide) in paragraph at lines 5167--5169 \OT1/ptm/bc/n/10 Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign, Overfull \hbox (2.21677pt too wide) in paragraph at lines 5169--5171 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]H[] Overfull \hbox (13.18533pt too wide) in paragraph at lines 5171--5173 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]OK, [][]276[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5173--5175 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5175--5177 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5177--5179 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5179--5181 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5181--5183 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5183--5185 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5185--5187 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5187--5189 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5189--5191 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5191--5193 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (6.65643pt too wide) in paragraph at lines 5193--5195 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]ascii[] Overfull \hbox (6.65643pt too wide) in paragraph at lines 5195--5197 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]ascii[] Overfull \hbox (22.76682pt too wide) in paragraph at lines 5197--5199 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounded[] Overfull \hbox (22.76682pt too wide) in paragraph at lines 5199--5201 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounded[] Overfull \hbox (17.21677pt too wide) in paragraph at lines 5201--5203 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounds[] Overfull \hbox (17.21677pt too wide) in paragraph at lines 5203--5205 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounds[] Overfull \hbox (35.5263pt too wide) in paragraph at lines 5205--5207 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]concatenate[] Overfull \hbox (22.39478pt too wide) in paragraph at lines 5207--5209 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]constrains, Overfull \hbox (21.65643pt too wide) in paragraph at lines 5209--5211 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]contains[] Overfull \hbox (1.88551pt too wide) in paragraph at lines 5209--5211 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n, [][]275[][] Overfull \hbox (21.65643pt too wide) in paragraph at lines 5211--5213 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]contains[] Overfull \hbox (28.6064pt too wide) in paragraph at lines 5213--5215 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]difference[] [384] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5215--5217 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5217--5219 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5219--5221 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5221--5223 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (13.87654pt too wide) in paragraph at lines 5223--5225 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]equals[] Overfull \hbox (1.88551pt too wide) in paragraph at lines 5223--5225 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n, [][]276[][] Overfull \hbox (17.05685pt too wide) in paragraph at lines 5225--5227 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]expand[] Overfull \hbox (20.38654pt too wide) in paragraph at lines 5227--5229 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]external[] Overfull \hbox (4.43672pt too wide) in paragraph at lines 5229--5231 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]fold[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5231--5233 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5233--5235 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5235--5237 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5237--5239 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (43.31606pt too wide) in paragraph at lines 5239--5241 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]geometrically[] Overfull \hbox (14.26543pt too wide) in paragraph at lines 5239--5241 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron, Overfull \hbox (43.31606pt too wide) in paragraph at lines 5241--5243 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]geometrically[] Overfull \hbox (14.01517pt too wide) in paragraph at lines 5241--5243 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron, Overfull \hbox (34.98611pt too wide) in paragraph at lines 5243--5245 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]intersection[] Overfull \hbox (26.5551pt too wide) in paragraph at lines 5245--5247 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]bounded, Overfull \hbox (23.21461pt too wide) in paragraph at lines 5247--5249 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]discrete, Overfull \hbox (28.60612pt too wide) in paragraph at lines 5249--5251 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]disjoint[] Overfull \hbox (7.9053pt too wide) in paragraph at lines 5249--5251 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron, Overfull \hbox (17.11488pt too wide) in paragraph at lines 5251--5253 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]empty, Overfull \hbox (51.376pt too wide) in paragraph at lines 5253--5255 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]topologically[] Overfull \hbox (25.59488pt too wide) in paragraph at lines 5255--5257 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]universe, Overfull \hbox (5.5467pt too wide) in paragraph at lines 5257--5259 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]map[] Overfull \hbox (21.28476pt too wide) in paragraph at lines 5259--5261 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]maximize, Overfull \hbox (27.76627pt too wide) in paragraph at lines 5261--5263 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]maximize[] Overfull \hbox (19.62471pt too wide) in paragraph at lines 5263--5265 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]minimize, Overfull \hbox (26.10622pt too wide) in paragraph at lines 5265--5267 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]minimize[] Overfull \hbox (14.7868pt too wide) in paragraph at lines 5267--5269 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]omega[] Overfull \hbox (22.20636pt too wide) in paragraph at lines 5269--5271 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]pairwise[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5271--5273 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5273--5275 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5275--5277 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5277--5279 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5279--5281 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5281--5283 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5283--5285 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.0168pt too wide) in paragraph at lines 5285--5287 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]remove[] Overfull \hbox (18.0168pt too wide) in paragraph at lines 5287--5289 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]remove[] Overfull \hbox (21.66629pt too wide) in paragraph at lines 5289--5291 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]simplify[] Overfull \hbox (14.41505pt too wide) in paragraph at lines 5291--5293 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]size, [][]281[][] Overfull \hbox (10.53659pt too wide) in paragraph at lines 5293--5295 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]space[] Overfull \hbox (16.10623pt too wide) in paragraph at lines 5295--5297 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]strictly[] Overfull \hbox (21.79506pt too wide) in paragraph at lines 5295--5297 [][]\OT1/ptm/bc/n/10 contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][ ][][]Polyhedron, Overfull \hbox (6.10649pt too wide) in paragraph at lines 5297--5299 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]time[] Overfull \hbox (33.32632pt too wide) in paragraph at lines 5299--5301 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]topological[] Overfull \hbox (6.10649pt too wide) in paragraph at lines 5301--5303 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]total[] Overfull \hbox (34.98639pt too wide) in paragraph at lines 5303--5305 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]unconstrain[] Overfull \hbox (34.98639pt too wide) in paragraph at lines 5305--5307 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]unconstrain[] Overfull \hbox (11.09677pt too wide) in paragraph at lines 5307--5309 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]upper[] Overfull \hbox (11.09677pt too wide) in paragraph at lines 5309--5311 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]upper[] Overfull \hbox (5.72498pt too wide) in paragraph at lines 5311--5313 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron, Overfull \hbox (20.44484pt too wide) in paragraph at lines 5313--5315 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (15.44496pt too wide) in paragraph at lines 5315--5317 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][ ][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (12.115pt too wide) in paragraph at lines 5317--5319 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][] [][]N[]N[]C[][][][]Polyhedron, [385] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5319--5321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5321--5323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5323--5325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5325--5327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (1.89563pt too wide) in paragraph at lines 5325--5327 [][]\OT1/ptm/bc/n/10 from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]compl exity, Overfull \hbox (4.73679pt too wide) in paragraph at lines 5327--5329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (7.9053pt too wide) in paragraph at lines 5327--5329 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron, Overfull \hbox (4.73679pt too wide) in paragraph at lines 5329--5331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (14.38681pt too wide) in paragraph at lines 5329--5331 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5331--5333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (14.6961pt too wide) in paragraph at lines 5333--5334 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]time[][][]elapse[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5334--5336 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (13.32632pt too wide) in paragraph at lines 5336--5337 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]topological[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5337--5339 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (23.03618pt too wide) in paragraph at lines 5339--5340 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]total[][][]memory[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5340--5342 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (14.98639pt too wide) in paragraph at lines 5342--5343 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5343--5345 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (14.98639pt too wide) in paragraph at lines 5345--5346 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5346--5348 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (19.69678pt too wide) in paragraph at lines 5348--5349 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5349--5351 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (19.69678pt too wide) in paragraph at lines 5351--5352 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5352--5354 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (15.87514pt too wide) in paragraph at lines 5356--5357 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign[][][]with[][][]tokens Overfull \hbox (2.30722pt too wide) in paragraph at lines 5396--5397 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][] Overfull \hbox (2.30722pt too wide) in paragraph at lines 5398--5399 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][] Overfull \hbox (7.85701pt too wide) in paragraph at lines 5402--5403 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign[] [386] Overfull \hbox (2.90495pt too wide) in paragraph at lines 5442--5443 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage[][][]lhs[][][]rhs Overfull \hbox (12.2248pt too wide) in paragraph at lines 5470--5471 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign Overfull \hbox (21.2063pt too wide) in paragraph at lines 5472--5473 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[] Overfull \hbox (1.75647pt too wide) in paragraph at lines 5476--5477 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign[] Overfull \hbox (4.40565pt too wide) in paragraph at lines 5523--5525 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][ ][]assign, [][]311[][] Overfull \hbox (15.2469pt too wide) in paragraph at lines 5525--5527 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][ ][]assign[][][]with[] [387] Overfull \hbox (18.92531pt too wide) in paragraph at lines 5529--5531 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign [][][]with[][][]tokens, Overfull \hbox (3.6558pt too wide) in paragraph at lines 5544--5546 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]recycled[][][]congruen ces, [][]302[][] Overfull \hbox (19.00531pt too wide) in paragraph at lines 5550--5552 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[ ][][]and[][][]embed, Overfull \hbox (20.11516pt too wide) in paragraph at lines 5552--5554 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[ ][][]and[][][]project, Overfull \hbox (18.70721pt too wide) in paragraph at lines 5564--5566 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (18.70721pt too wide) in paragraph at lines 5566--5568 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (2.85739pt too wide) in paragraph at lines 5568--5570 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapo lation[][][] Overfull \hbox (2.85739pt too wide) in paragraph at lines 5570--5572 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapo lation[][][] Overfull \hbox (2.20561pt too wide) in paragraph at lines 5589--5591 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]in teger[][][]points, Overfull \hbox (8.68712pt too wide) in paragraph at lines 5591--5593 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]in teger[][][]points[] Overfull \hbox (3.39551pt too wide) in paragraph at lines 5597--5599 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]external[][][]memory[][][]in[][ ][]bytes, [][]301[][] Overfull \hbox (3.2967pt too wide) in paragraph at lines 5604--5606 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]im age[][][]lhs[] Overfull \hbox (11.33533pt too wide) in paragraph at lines 5606--5608 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]pr eimage, [][]305[][] Overfull \hbox (0.79681pt too wide) in paragraph at lines 5608--5610 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]pr eimage[] Overfull \hbox (10.49533pt too wide) in paragraph at lines 5616--5618 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]congrue nces, [][]298[][] Overfull \hbox (3.84502pt too wide) in paragraph at lines 5618--5620 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]constra ints, [][]298[][] Overfull \hbox (2.16524pt too wide) in paragraph at lines 5620--5622 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]generat ors, [][]309[][] Overfull \hbox (11.34532pt too wide) in paragraph at lines 5628--5630 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][ ][]Polyhedron, [][]300[][] Overfull \hbox (12.60667pt too wide) in paragraph at lines 5636--5638 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (12.60667pt too wide) in paragraph at lines 5638--5640 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (15.27496pt too wide) in paragraph at lines 5640--5642 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapo lation[][][]assign, Overfull \hbox (21.75647pt too wide) in paragraph at lines 5642--5644 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapo lation[][][]assign[] Overfull \hbox (8.155pt too wide) in paragraph at lines 5660--5662 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]positive[][][]time[][][]elapse[ ][][]assign, [][]318[][] Overfull \hbox (2.16551pt too wide) in paragraph at lines 5670--5672 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][][]Congr uence, [][]317[][] Overfull \hbox (15.10536pt too wide) in paragraph at lines 5676--5678 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[] [][]dimensions, Overfull \hbox (2.97559pt too wide) in paragraph at lines 5678--5680 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]remove[][][]space[][][]dimensio ns, [][]307[][] Overfull \hbox (1.39511pt too wide) in paragraph at lines 5680--5682 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]contex t[][][]assign, Overfull \hbox (12.73518pt too wide) in paragraph at lines 5684--5686 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]strictly[][][]contains[][][][]P olyhedron, [][]300[][] Overfull \hbox (4.39523pt too wide) in paragraph at lines 5688--5690 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]topological[][][]closure[][][]a ssign, [][]303[][] Overfull \hbox (16.05528pt too wide) in paragraph at lines 5692--5694 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dim ension, [][]303[][] Overfull \hbox (2.92516pt too wide) in paragraph at lines 5694--5696 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dim ensions, Overfull \hbox (12.54573pt too wide) in paragraph at lines 5698--5700 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]upper[][][]bound[][][]assign[][ ][]if[][][]exact, [][]318[][] Overfull \hbox (15.12535pt too wide) in paragraph at lines 5702--5704 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[ ][][]tokens, [][]318[][] [388] Overfull \hbox (20.70515pt too wide) in paragraph at lines 5706--5708 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]C[][][][]Polyhedron, Overfull \hbox (27.18666pt too wide) in paragraph at lines 5708--5710 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.1451pt too wide) in paragraph at lines 5710--5712 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.6266pt too wide) in paragraph at lines 5712--5714 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.48518pt too wide) in paragraph at lines 5714--5716 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]C[][][][]Polyhedron, Overfull \hbox (24.96669pt too wide) in paragraph at lines 5716--5718 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.92513pt too wide) in paragraph at lines 5718--5720 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (39.40663pt too wide) in paragraph at lines 5720--5722 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (16.60555pt too wide) in paragraph at lines 5722--5724 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]C[][][][]Polyhedron[][][]from[][][] []C[][][][]Polyhedron, [][]294[][] Overfull \hbox (28.46541pt too wide) in paragraph at lines 5724--5726 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from [][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (7.36572pt too wide) in paragraph at lines 5733--5735 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]double, Overfull \hbox (13.84723pt too wide) in paragraph at lines 5735--5737 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]double[] Overfull \hbox (4.40729pt too wide) in paragraph at lines 5737--5739 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (4.40729pt too wide) in paragraph at lines 5739--5741 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (3.84723pt too wide) in paragraph at lines 5741--5743 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (3.84723pt too wide) in paragraph at lines 5743--5745 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (8.01584pt too wide) in paragraph at lines 5745--5747 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C [][][][]Polyhedron, [][]293[][] Overfull \hbox (1.07733pt too wide) in paragraph at lines 5747--5749 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C [][][][]Polyhedron[][][] Overfull \hbox (15.98543pt too wide) in paragraph at lines 5749--5751 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C ongruence[][][][]System, Overfull \hbox (9.33511pt too wide) in paragraph at lines 5751--5753 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C onstraint[][][][]System, Overfull \hbox (1.34592pt too wide) in paragraph at lines 5753--5755 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]D ouble[][][][]Box, [][]314[][] Overfull \hbox (12.18716pt too wide) in paragraph at lines 5755--5757 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]D ouble[][][][]Box[][][]with[] Overfull \hbox (7.64532pt too wide) in paragraph at lines 5757--5759 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]G enerator[][][][]System, Overfull \hbox (22.7753pt too wide) in paragraph at lines 5761--5763 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]G rid[][][]with[][][]complexity, Overfull \hbox (5.43576pt too wide) in paragraph at lines 5763--5765 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N []N[]C[][][][]Polyhedron, Overfull \hbox (11.91727pt too wide) in paragraph at lines 5765--5767 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N []N[]C[][][][]Polyhedron[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5767--5769 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5769--5771 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5771--5773 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5773--5775 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5775--5777 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5777--5779 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (5.7956pt too wide) in paragraph at lines 5779--5781 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]R ational[][][][]Box, [][]313[][] Overfull \hbox (16.63684pt too wide) in paragraph at lines 5781--5783 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]R ational[][][][]Box[][][]with[] Overfull \hbox (2.0954pt too wide) in paragraph at lines 5783--5785 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]spa ce[][][]dimension, Overfull \hbox (2.29729pt too wide) in paragraph at lines 5785--5787 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Congruence[][][] Overfull \hbox (18.61502pt too wide) in paragraph at lines 5787--5789 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Constraint[][][][]System, Overfull \hbox (16.92523pt too wide) in paragraph at lines 5789--5791 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Generator[][][][]System, Overfull \hbox (1.06734pt too wide) in paragraph at lines 5791--5793 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5793--5795 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5795--5797 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5797--5799 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5799--5801 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5801--5803 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (5.43576pt too wide) in paragraph at lines 5803--5805 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]C[][][][]Polyhedron, Overfull \hbox (11.91727pt too wide) in paragraph at lines 5805--5807 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]C[][][][]Polyhedron[] Overfull \hbox (3.85732pt too wide) in paragraph at lines 5807--5809 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Congruence[] Overfull \hbox (0.807pt too wide) in paragraph at lines 5809--5811 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Constraint[][][] Overfull \hbox (15.78586pt too wide) in paragraph at lines 5811--5813 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Double[][][][]Box, [][]314[][] Overfull \hbox (5.24734pt too wide) in paragraph at lines 5813--5815 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Double[][][][]Box[] Overfull \hbox (22.08527pt too wide) in paragraph at lines 5815--5817 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Generator[][][][]System, Overfull \hbox (37.21524pt too wide) in paragraph at lines 5819--5821 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Grid[][][]with[][][]complexity, Overfull \hbox (19.8757pt too wide) in paragraph at lines 5821--5823 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron, [389] Overfull \hbox (26.35721pt too wide) in paragraph at lines 5823--5825 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5825--5827 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5827--5829 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5829--5831 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5831--5833 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5833--5835 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5835--5837 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (3.21552pt too wide) in paragraph at lines 5837--5839 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box, Overfull \hbox (9.69702pt too wide) in paragraph at lines 5839--5841 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box[] Overfull \hbox (16.53534pt too wide) in paragraph at lines 5841--5843 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][]space[][][]dimension, Overfull \hbox (13.13722pt too wide) in paragraph at lines 5843--5845 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Congruence[] Overfull \hbox (6.48691pt too wide) in paragraph at lines 5845--5847 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Constraint[] Overfull \hbox (4.79712pt too wide) in paragraph at lines 5847--5849 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Generator[] Overfull \hbox (21.25548pt too wide) in paragraph at lines 5849--5851 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]C[][][][]Polyhedron, Overfull \hbox (27.73698pt too wide) in paragraph at lines 5851--5853 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.69542pt too wide) in paragraph at lines 5853--5855 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (42.17693pt too wide) in paragraph at lines 5855--5857 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.0355pt too wide) in paragraph at lines 5857--5859 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]C[][][][]Polyhedron, Overfull \hbox (25.51701pt too wide) in paragraph at lines 5859--5861 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (33.47545pt too wide) in paragraph at lines 5861--5863 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (39.95695pt too wide) in paragraph at lines 5863--5865 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (4.67516pt too wide) in paragraph at lines 5869--5871 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]N[]N[]C[ ][][][]Polyhedron, [][]319[][] Overfull \hbox (13.27516pt too wide) in paragraph at lines 5871--5873 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]N[]N[]C[ ][][][]Polyhedron[][][]2, [][]320[][] Overfull \hbox (2.45518pt too wide) in paragraph at lines 5877--5879 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]N[]N[]C[ ][][][]Polyhedron, [][]319[][] Overfull \hbox (11.05519pt too wide) in paragraph at lines 5879--5881 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]N[]N[]C[ ][][][]Polyhedron[][][]2, [][]321[][] Overfull \hbox (10.59486pt too wide) in paragraph at lines 5906--5907 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[][][]tokens Overfull \hbox (4.555pt too wide) in paragraph at lines 5922--5923 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]embed Overfull \hbox (5.66484pt too wide) in paragraph at lines 5924--5925 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]project [390] Overfull \hbox (0.3368pt too wide) in paragraph at lines 5956--5957 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[][][] Overfull \hbox (4.11629pt too wide) in paragraph at lines 5974--5975 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[][][]lhs[] Overfull \hbox (6.94452pt too wide) in paragraph at lines 6002--6003 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign Overfull \hbox (15.92603pt too wide) in paragraph at lines 6004--6005 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign[] Overfull \hbox (0.65504pt too wide) in paragraph at lines 6032--6033 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions Overfull \hbox (2.7554pt too wide) in paragraph at lines 6043--6045 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]narrowin g[][][]assign, [][]338[][] [391] Overfull \hbox (9.96663pt too wide) in paragraph at lines 6047--6049 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening [][][]assign[][][]with[] Overfull \hbox (11.70549pt too wide) in paragraph at lines 6059--6061 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]recycled[][][ ]congruences, [][]339[][] Overfull \hbox (5.05518pt too wide) in paragraph at lines 6061--6063 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]recycled[][][ ]constraints, [][]339[][] Overfull \hbox (3.27672pt too wide) in paragraph at lines 6063--6065 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]di mensions[][][]and[] Overfull \hbox (3.27672pt too wide) in paragraph at lines 6065--6067 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]di mensions[][][]and[] Overfull \hbox (7.7355pt too wide) in paragraph at lines 6079--6081 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][ ][]preimage, [][]335[][] Overfull \hbox (10.2553pt too wide) in paragraph at lines 6095--6097 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]no n[][][]integer[][][]points, Overfull \hbox (16.7368pt too wide) in paragraph at lines 6097--6099 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]no n[][][]integer[][][]points[] Overfull \hbox (6.17543pt too wide) in paragraph at lines 6101--6103 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]expand[][][]space[][][ ]dimension, [][]336[][] Overfull \hbox (11.44519pt too wide) in paragraph at lines 6103--6105 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]external[][][]memory[] [][]in[][][]bytes, [][]337[][] Overfull \hbox (6.61511pt too wide) in paragraph at lines 6109--6111 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]image, [][]335[][] Overfull \hbox (11.34639pt too wide) in paragraph at lines 6111--6113 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]image[][][]lhs[] Overfull \hbox (2.36499pt too wide) in paragraph at lines 6113--6115 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]preimage, Overfull \hbox (8.8465pt too wide) in paragraph at lines 6115--6117 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]preimage[] Overfull \hbox (1.525pt too wide) in paragraph at lines 6123--6125 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][] []congruences, Overfull \hbox (11.8947pt too wide) in paragraph at lines 6125--6127 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][] []constraints, [][]330[][] Overfull \hbox (0.23625pt too wide) in paragraph at lines 6135--6137 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint[][][] from[][][][]Rational[][][] Overfull \hbox (7.3264pt too wide) in paragraph at lines 6143--6145 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (7.3264pt too wide) in paragraph at lines 6145--6147 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (0.20547pt too wide) in paragraph at lines 6159--6161 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]refine[][][]with[][][] congruence, [][]333[][] Overfull \hbox (4.09537pt too wide) in paragraph at lines 6161--6163 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]refine[][][]with[][][] congruences, [][]333[][] Overfull \hbox (10.2152pt too wide) in paragraph at lines 6167--6169 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Congruence, [][]330[][] Overfull \hbox (3.56488pt too wide) in paragraph at lines 6169--6171 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Constraint, [][]330[][] Overfull \hbox (1.87509pt too wide) in paragraph at lines 6171--6173 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Generator, [][]330[][] Overfull \hbox (23.15504pt too wide) in paragraph at lines 6173--6175 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][] []space[][][]dimensions, Overfull \hbox (11.02527pt too wide) in paragraph at lines 6175--6177 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]space[][][ ]dimensions, [][]336[][] Overfull \hbox (9.4448pt too wide) in paragraph at lines 6177--6179 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][ ][]context[][][]assign, Overfull \hbox (1.62611pt too wide) in paragraph at lines 6181--6183 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]strictly[][][]contains [][][][]Rational[][][] Overfull \hbox (12.44492pt too wide) in paragraph at lines 6185--6187 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]topological[][][]closu re[][][]assign, [][]331[][] Overfull \hbox (7.08495pt too wide) in paragraph at lines 6189--6191 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space [][][]dimension, Overfull \hbox (10.97484pt too wide) in paragraph at lines 6191--6193 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space [][][]dimensions, Overfull \hbox (3.5754pt too wide) in paragraph at lines 6195--6197 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]upper[][][]bound[][][] assign[][][]if[][][]exact, Overfull \hbox (6.15501pt too wide) in paragraph at lines 6199--6201 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[] [][]with[][][]tokens, Overfull \hbox (4.69649pt too wide) in paragraph at lines 6203--6205 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Rational[] Overfull \hbox (4.69649pt too wide) in paragraph at lines 6205--6207 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Rational[] Overfull \hbox (2.47652pt too wide) in paragraph at lines 6207--6209 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Rational[] Overfull \hbox (2.47652pt too wide) in paragraph at lines 6209--6211 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Rational[] Overfull \hbox (12.16505pt too wide) in paragraph at lines 6211--6213 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Rational[][][][]Box[][][]from[][][] []Rational[][][][]Box, [][]339[][] [392] Overfull \hbox (5.14548pt too wide) in paragraph at lines 6221--6223 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]double, Overfull \hbox (11.62698pt too wide) in paragraph at lines 6223--6225 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]double[] Overfull \hbox (2.18704pt too wide) in paragraph at lines 6225--6227 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (2.18704pt too wide) in paragraph at lines 6227--6229 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (1.62698pt too wide) in paragraph at lines 6229--6231 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (1.62698pt too wide) in paragraph at lines 6231--6233 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (5.7956pt too wide) in paragraph at lines 6233--6235 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C [][][][]Polyhedron, [][]326[][] Overfull \hbox (16.63684pt too wide) in paragraph at lines 6235--6237 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C [][][][]Polyhedron[][][]with[] Overfull \hbox (13.76518pt too wide) in paragraph at lines 6237--6239 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C ongruence[][][][]System, Overfull \hbox (7.11487pt too wide) in paragraph at lines 6239--6241 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C onstraint[][][][]System, Overfull \hbox (9.96692pt too wide) in paragraph at lines 6243--6245 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]D ouble[][][][]Box[][][]with[] Overfull \hbox (5.42508pt too wide) in paragraph at lines 6245--6247 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]G enerator[][][][]System, Overfull \hbox (20.55505pt too wide) in paragraph at lines 6249--6251 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]G rid[][][]with[][][]complexity, Overfull \hbox (3.21552pt too wide) in paragraph at lines 6251--6253 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N []N[]C[][][][]Polyhedron, Overfull \hbox (9.69702pt too wide) in paragraph at lines 6253--6255 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N []N[]C[][][][]Polyhedron[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6255--6257 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6257--6259 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6259--6261 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6261--6263 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6263--6265 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6265--6267 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (3.57535pt too wide) in paragraph at lines 6267--6269 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]R ational[][][][]Box, [][]327[][] Overfull \hbox (14.4166pt too wide) in paragraph at lines 6269--6271 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]R ational[][][][]Box[][][]with[] Overfull \hbox (16.89517pt too wide) in paragraph at lines 6271--6273 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][]spa ce[][][]dimension, [][]326[][] Overfull \hbox (16.39478pt too wide) in paragraph at lines 6275--6277 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][] []Constraint[][][][]System, Overfull \hbox (14.70499pt too wide) in paragraph at lines 6277--6279 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][] []Generator[][][][]System, Overfull \hbox (5.24681pt too wide) in paragraph at lines 6279--6281 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Rational[] Overfull \hbox (5.24681pt too wide) in paragraph at lines 6281--6283 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Rational[] Overfull \hbox (3.02684pt too wide) in paragraph at lines 6283--6285 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Rational[] Overfull \hbox (3.02684pt too wide) in paragraph at lines 6285--6287 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Rational[] Overfull \hbox (14.57506pt too wide) in paragraph at lines 6315--6316 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.55656pt too wide) in paragraph at lines 6318--6319 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.11662pt too wide) in paragraph at lines 6321--6322 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.11662pt too wide) in paragraph at lines 6324--6325 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.55656pt too wide) in paragraph at lines 6327--6328 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.55656pt too wide) in paragraph at lines 6330--6331 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[] [393] Overfull \hbox (7.18666pt too wide) in paragraph at lines 6335--6336 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.51674pt too wide) in paragraph at lines 6339--6340 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box[] Overfull \hbox (12.6451pt too wide) in paragraph at lines 6345--6346 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.6266pt too wide) in paragraph at lines 6347--6348 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6349--6350 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6352--6353 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6355--6356 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6358--6359 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6361--6362 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6364--6365 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.96642pt too wide) in paragraph at lines 6369--6370 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box[] Overfull \hbox (12.35509pt too wide) in paragraph at lines 6371--6372 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (21.3366pt too wide) in paragraph at lines 6374--6375 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (11.89665pt too wide) in paragraph at lines 6377--6378 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.89665pt too wide) in paragraph at lines 6380--6381 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.3366pt too wide) in paragraph at lines 6383--6384 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.3366pt too wide) in paragraph at lines 6386--6387 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (4.96669pt too wide) in paragraph at lines 6391--6392 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.89677pt too wide) in paragraph at lines 6395--6396 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box[][][] Overfull \hbox (10.42513pt too wide) in paragraph at lines 6401--6402 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (19.40663pt too wide) in paragraph at lines 6403--6404 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6405--6406 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6408--6409 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6411--6412 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6414--6415 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6417--6418 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6420--6421 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.74644pt too wide) in paragraph at lines 6425--6426 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box[] Overfull \hbox (9.82533pt too wide) in paragraph at lines 6427--6428 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][]fr om[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (1.58662pt too wide) in paragraph at lines 6430--6431 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.02657pt too wide) in paragraph at lines 6433--6434 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]from[][][][]B[]D[][][][]Shape[] [394] Overfull \hbox (5.96541pt too wide) in paragraph at lines 6442--6443 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] [][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (14.36655pt too wide) in paragraph at lines 6444--6445 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[] Overfull \hbox (27.96617pt too wide) in paragraph at lines 6447--6448 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[] Overfull \hbox (27.40611pt too wide) in paragraph at lines 6450--6451 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6467--6469 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.47627pt too wide) in paragraph at lines 6485--6486 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]const[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 6486--6488 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (1.26451pt too wide) in paragraph at lines 6488--6489 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]iterator Overfull \hbox (2.7664pt too wide) in paragraph at lines 6489--6491 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6492--6494 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (16.91621pt too wide) in paragraph at lines 6494--6495 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 6495--6497 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (15.70445pt too wide) in paragraph at lines 6497--6498 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]iterator Overfull \hbox (17.20634pt too wide) in paragraph at lines 6498--6500 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.51643pt too wide) in paragraph at lines 6531--6532 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6532--6534 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6551--6553 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] [395] Overfull \hbox (8.46487pt too wide) in paragraph at lines 6566--6567 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid Overfull \hbox (0.24678pt too wide) in paragraph at lines 6567--6569 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6586--6588 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (5.13492pt too wide) in paragraph at lines 6601--6602 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[][] [][]C[][][][]Polyhedron[][][][]Grid Overfull \hbox (0.24678pt too wide) in paragraph at lines 6602--6604 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6621--6623 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.23563pt too wide) in paragraph at lines 6631--6632 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (10.21713pt too wide) in paragraph at lines 6634--6635 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (0.77719pt too wide) in paragraph at lines 6637--6638 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.77719pt too wide) in paragraph at lines 6640--6641 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.21713pt too wide) in paragraph at lines 6643--6644 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (0.21713pt too wide) in paragraph at lines 6646--6647 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (15.22699pt too wide) in paragraph at lines 6652--6653 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron[][][]with[] Overfull \hbox (9.85533pt too wide) in paragraph at lines 6655--6656 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Congruence[][][][]System Overfull \hbox (3.20502pt too wide) in paragraph at lines 6658--6659 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Constraint[][][][]System Overfull \hbox (8.55707pt too wide) in paragraph at lines 6664--6665 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Double[][][][]Box[][][]with[] Overfull \hbox (1.51523pt too wide) in paragraph at lines 6667--6668 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Generator[][][][]System Overfull \hbox (16.6452pt too wide) in paragraph at lines 6673--6674 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Grid[][][]with[][][]complexity Overfull \hbox (8.28717pt too wide) in paragraph at lines 6679--6680 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6682--6683 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6685--6686 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6688--6689 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] [396] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6691--6692 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6694--6695 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6697--6698 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (13.00674pt too wide) in paragraph at lines 6703--6704 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box[][][]with[] Overfull \hbox (19.13524pt too wide) in paragraph at lines 6709--6710 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Congruence[][][][]System Overfull \hbox (12.48492pt too wide) in paragraph at lines 6712--6713 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Constraint[][][][]System Overfull \hbox (10.79514pt too wide) in paragraph at lines 6715--6716 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Generator[][][][]System Overfull \hbox (14.83525pt too wide) in paragraph at lines 6718--6719 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.81676pt too wide) in paragraph at lines 6721--6722 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.37682pt too wide) in paragraph at lines 6724--6725 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.37682pt too wide) in paragraph at lines 6727--6728 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6730--6731 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6733--6734 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (7.44685pt too wide) in paragraph at lines 6739--6740 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.98691pt too wide) in paragraph at lines 6742--6743 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Congruence[][][] Overfull \hbox (16.80464pt too wide) in paragraph at lines 6745--6746 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Constraint[][][][]System Overfull \hbox (0.77693pt too wide) in paragraph at lines 6751--6752 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box[] Overfull \hbox (15.11485pt too wide) in paragraph at lines 6754--6755 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Generator[][][][]System Overfull \hbox (30.24483pt too wide) in paragraph at lines 6760--6761 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (12.90529pt too wide) in paragraph at lines 6763--6764 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.8868pt too wide) in paragraph at lines 6766--6767 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6769--6770 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6772--6773 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6775--6776 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6778--6779 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6781--6782 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6784--6785 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.22661pt too wide) in paragraph at lines 6790--6791 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box[] Overfull \hbox (9.56493pt too wide) in paragraph at lines 6793--6794 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][]space[][][]dimension Overfull \hbox (8.66681pt too wide) in paragraph at lines 6796--6797 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Congruence[] Overfull \hbox (2.0165pt too wide) in paragraph at lines 6799--6800 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Constraint[] Overfull \hbox (0.3267pt too wide) in paragraph at lines 6802--6803 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Generator[] Overfull \hbox (14.27519pt too wide) in paragraph at lines 6805--6806 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.2567pt too wide) in paragraph at lines 6808--6809 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6811--6812 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [397] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6814--6815 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.2567pt too wide) in paragraph at lines 6817--6818 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.2567pt too wide) in paragraph at lines 6820--6821 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (6.8868pt too wide) in paragraph at lines 6826--6827 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.42685pt too wide) in paragraph at lines 6829--6830 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Congruence[][][] Overfull \hbox (16.24458pt too wide) in paragraph at lines 6832--6833 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Constraint[][][][]System Overfull \hbox (0.21687pt too wide) in paragraph at lines 6838--6839 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box[] Overfull \hbox (14.5548pt too wide) in paragraph at lines 6841--6842 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Generator[][][][]System Overfull \hbox (29.68477pt too wide) in paragraph at lines 6847--6848 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (12.34523pt too wide) in paragraph at lines 6850--6851 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.32674pt too wide) in paragraph at lines 6853--6854 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6856--6857 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6859--6860 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6862--6863 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6865--6866 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6868--6869 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6871--6872 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.66655pt too wide) in paragraph at lines 6877--6878 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box[] Overfull \hbox (9.00487pt too wide) in paragraph at lines 6880--6881 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][]space[][][]dimension Overfull \hbox (8.10675pt too wide) in paragraph at lines 6883--6884 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Congruence[] Overfull \hbox (1.45644pt too wide) in paragraph at lines 6886--6887 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Constraint[] Overfull \hbox (3.36665pt too wide) in paragraph at lines 6889--6890 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Generator[][][] Overfull \hbox (15.22699pt too wide) in paragraph at lines 6894--6895 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[] Overfull \hbox (7.44685pt too wide) in paragraph at lines 6898--6899 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.8868pt too wide) in paragraph at lines 6902--6903 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.45709pt too wide) in paragraph at lines 6906--6907 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][] Overfull \hbox (31.65521pt too wide) in paragraph at lines 6914--6915 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity Overfull \hbox (0.2753pt too wide) in paragraph at lines 6920--6921 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gri d[][][]with[][][]complexity [398] Overfull \hbox (13.29703pt too wide) in paragraph at lines 6924--6925 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[] Overfull \hbox (12.07541pt too wide) in paragraph at lines 6926--6927 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double Overfull \hbox (21.05692pt too wide) in paragraph at lines 6928--6929 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (11.61697pt too wide) in paragraph at lines 6930--6931 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.61697pt too wide) in paragraph at lines 6932--6933 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.05692pt too wide) in paragraph at lines 6934--6935 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.05692pt too wide) in paragraph at lines 6936--6937 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (0.23685pt too wide) in paragraph at lines 6940--6941 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][] Overfull \hbox (2.76534pt too wide) in paragraph at lines 6944--6945 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Congruence[][][][]System Overfull \hbox (0.2567pt too wide) in paragraph at lines 6950--6951 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6951--6953 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6953--6954 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (1.32559pt too wide) in paragraph at lines 6953--6954 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]c omplexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6954--6956 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6956--6957 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6957--6959 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6959--6960 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (14.92522pt too wide) in paragraph at lines 6959--6960 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wit h[][][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6960--6962 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6962--6963 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6963--6965 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6965--6966 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (14.36516pt too wide) in paragraph at lines 6965--6966 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wit h[][][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6966--6968 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6968--6969 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6969--6971 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6971--6972 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6972--6974 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6974--6975 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6975--6977 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6977--6978 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6978--6980 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6980--6981 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 6980--6981 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6981--6983 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6983--6984 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 6983--6984 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6984--6986 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6986--6987 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6987--6989 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6989--6990 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6990--6992 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6992--6993 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6993--6995 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6995--6996 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6996--6998 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6998--6999 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6999--7001 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7001--7002 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7002--7004 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7004--7005 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] [399] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7005--7007 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7007--7008 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (28.53528pt too wide) in paragraph at lines 7007--7008 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[] [][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 7008--7010 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7010--7011 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7011--7013 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7013--7014 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (2.66685pt too wide) in paragraph at lines 7013--7014 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] []with[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7014--7016 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7016--7017 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7017--7019 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7019--7020 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (2.1068pt too wide) in paragraph at lines 7019--7020 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] []with[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7020--7022 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7022--7023 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7023--7025 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7025--7026 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7026--7028 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7028--7029 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7029--7031 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (8.55707pt too wide) in paragraph at lines 7033--7034 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]double[][][]with[] Overfull \hbox (0.77693pt too wide) in paragraph at lines 7037--7038 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.21687pt too wide) in paragraph at lines 7041--7042 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (31.65521pt too wide) in paragraph at lines 7045--7046 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][] [][]Polyhedron[][][]with[][][]complexity Overfull \hbox (24.98529pt too wide) in paragraph at lines 7053--7054 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Doubl e[][][][]Box[][][]with[][][]complexity Overfull \hbox (6.6271pt too wide) in paragraph at lines 7063--7064 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[ ]C[][][][]Polyhedron[][][]with[] Overfull \hbox (5.40549pt too wide) in paragraph at lines 7065--7066 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double Overfull \hbox (14.387pt too wide) in paragraph at lines 7067--7068 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double[] Overfull \hbox (4.94705pt too wide) in paragraph at lines 7069--7070 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (4.94705pt too wide) in paragraph at lines 7071--7072 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (4.387pt too wide) in paragraph at lines 7073--7074 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (4.387pt too wide) in paragraph at lines 7075--7076 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (29.43497pt too wide) in paragraph at lines 7079--7080 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ratio nal[][][][]Box[][][]with[][][]complexity Overfull \hbox (16.6452pt too wide) in paragraph at lines 7091--7092 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]double[][][]with[][][]complexity [400] Overfull \hbox (30.24483pt too wide) in paragraph at lines 7095--7096 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]with[][][]complexity Overfull \hbox (29.68477pt too wide) in paragraph at lines 7099--7100 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]with[][][]complexity Overfull \hbox (0.2753pt too wide) in paragraph at lines 7103--7104 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity Overfull \hbox (14.71524pt too wide) in paragraph at lines 7121--7122 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Pol yhedron[][][]with[][][]complexity Overfull \hbox (4.38684pt too wide) in paragraph at lines 7125--7126 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]double[][][]with[] Overfull \hbox (0.20671pt too wide) in paragraph at lines 7129--7130 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][] Overfull \hbox (17.4264pt too wide) in paragraph at lines 7133--7134 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]with[] Overfull \hbox (8.28717pt too wide) in paragraph at lines 7149--7150 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (2.44724pt too wide) in paragraph at lines 7151--7152 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][] Overfull \hbox (2.44724pt too wide) in paragraph at lines 7153--7154 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][] Overfull \hbox (1.88718pt too wide) in paragraph at lines 7155--7156 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (1.88718pt too wide) in paragraph at lines 7157--7158 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (13.29703pt too wide) in paragraph at lines 7161--7162 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[] Overfull \hbox (7.92537pt too wide) in paragraph at lines 7163--7164 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Congruence[][][][]System Overfull \hbox (1.27505pt too wide) in paragraph at lines 7165--7166 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Constraint[][][][]System Overfull \hbox (6.6271pt too wide) in paragraph at lines 7169--7170 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Double[][][][]Box[][][]with[] Overfull \hbox (14.71524pt too wide) in paragraph at lines 7175--7176 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Grid[][][]with[][][]complexity Overfull \hbox (6.35721pt too wide) in paragraph at lines 7179--7180 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7181--7182 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7183--7184 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7185--7186 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] [401] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7187--7188 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7189--7190 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7191--7192 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (11.07678pt too wide) in paragraph at lines 7195--7196 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Rational[][][][]Box[][][]with[] Overfull \hbox (17.20528pt too wide) in paragraph at lines 7199--7200 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Congruence[][][][]System Overfull \hbox (10.55496pt too wide) in paragraph at lines 7201--7202 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Constraint[][][][]System Overfull \hbox (8.86517pt too wide) in paragraph at lines 7203--7204 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Generator[][][][]System Overfull \hbox (6.60698pt too wide) in paragraph at lines 7205--7206 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7208--7209 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7211--7212 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7214--7215 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7217--7218 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7220--7221 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.07541pt too wide) in paragraph at lines 7223--7224 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron Overfull \hbox (21.05692pt too wide) in paragraph at lines 7226--7227 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron[] Overfull \hbox (12.99696pt too wide) in paragraph at lines 7229--7230 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Congruence[] Overfull \hbox (6.34665pt too wide) in paragraph at lines 7232--7233 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Constraint[] Overfull \hbox (5.40549pt too wide) in paragraph at lines 7235--7236 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box Overfull \hbox (14.387pt too wide) in paragraph at lines 7238--7239 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box[] Overfull \hbox (4.65686pt too wide) in paragraph at lines 7241--7242 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Generator[] Overfull \hbox (4.38684pt too wide) in paragraph at lines 7247--7248 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Grid[][][]with[] Overfull \hbox (26.51535pt too wide) in paragraph at lines 7250--7251 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (35.49686pt too wide) in paragraph at lines 7253--7254 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7256--7257 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7259--7260 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7262--7263 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7265--7266 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7268--7269 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7271--7272 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (2.16675pt too wide) in paragraph at lines 7274--7275 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][] Overfull \hbox (2.16675pt too wide) in paragraph at lines 7277--7278 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][] Overfull \hbox (23.17499pt too wide) in paragraph at lines 7280--7281 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][]space[][][]dimension Overfull \hbox (22.27687pt too wide) in paragraph at lines 7283--7284 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Congruence[] Overfull \hbox (15.62656pt too wide) in paragraph at lines 7286--7287 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Constraint[] Overfull \hbox (13.93677pt too wide) in paragraph at lines 7289--7290 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Generator[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7292--7293 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7295--7296 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] [402] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7298--7299 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7301--7302 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7304--7305 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7307--7308 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (25.67503pt too wide) in paragraph at lines 7310--7311 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (34.65654pt too wide) in paragraph at lines 7313--7314 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.59659pt too wide) in paragraph at lines 7316--7317 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Congruence[] Overfull \hbox (19.94627pt too wide) in paragraph at lines 7319--7320 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Constraint[] Overfull \hbox (7.71669pt too wide) in paragraph at lines 7322--7323 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (7.71669pt too wide) in paragraph at lines 7325--7326 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (18.25648pt too wide) in paragraph at lines 7328--7329 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Generator[] Overfull \hbox (0.20671pt too wide) in paragraph at lines 7334--7335 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid[][][] Overfull \hbox (2.98676pt too wide) in paragraph at lines 7337--7338 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (2.98676pt too wide) in paragraph at lines 7340--7341 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7343--7344 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7346--7347 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7349--7350 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7352--7353 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7355--7356 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7358--7359 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (12.16637pt too wide) in paragraph at lines 7361--7362 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (12.16637pt too wide) in paragraph at lines 7364--7365 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (0.4866pt too wide) in paragraph at lines 7367--7368 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][]space[] Overfull \hbox (35.8765pt too wide) in paragraph at lines 7370--7371 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Congruence[] Overfull \hbox (29.22618pt too wide) in paragraph at lines 7373--7374 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Constraint[] Overfull \hbox (27.53639pt too wide) in paragraph at lines 7376--7377 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Generator[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7379--7380 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7382--7383 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7385--7386 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7388--7389 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7391--7392 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7394--7395 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (25.11497pt too wide) in paragraph at lines 7397--7398 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (34.09648pt too wide) in paragraph at lines 7400--7401 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.03653pt too wide) in paragraph at lines 7403--7404 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Congruence[] Overfull \hbox (19.38622pt too wide) in paragraph at lines 7406--7407 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Constraint[] [403] Overfull \hbox (7.15663pt too wide) in paragraph at lines 7409--7410 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (7.15663pt too wide) in paragraph at lines 7412--7413 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (17.69643pt too wide) in paragraph at lines 7415--7416 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Generator[] Overfull \hbox (17.4264pt too wide) in paragraph at lines 7421--7422 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid[][][]with[] Overfull \hbox (2.4267pt too wide) in paragraph at lines 7424--7425 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (2.4267pt too wide) in paragraph at lines 7427--7428 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7430--7431 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7433--7434 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7436--7437 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7439--7440 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7442--7443 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7445--7446 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (11.60631pt too wide) in paragraph at lines 7448--7449 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (11.60631pt too wide) in paragraph at lines 7451--7452 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (3.52655pt too wide) in paragraph at lines 7454--7455 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][]space[][][] Overfull \hbox (35.31644pt too wide) in paragraph at lines 7457--7458 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Congruence[] Overfull \hbox (28.66612pt too wide) in paragraph at lines 7460--7461 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Constraint[] Overfull \hbox (26.97633pt too wide) in paragraph at lines 7463--7464 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Generator[] Overfull \hbox (18.50455pt too wide) in paragraph at lines 7466--7467 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator Overfull \hbox (27.47614pt too wide) in paragraph at lines 7467--7469 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.48605pt too wide) in paragraph at lines 7469--7470 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 7470--7472 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (3.60658pt too wide) in paragraph at lines 7472--7473 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[] Overfull \hbox (3.60658pt too wide) in paragraph at lines 7475--7476 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[] Overfull \hbox (45.25636pt too wide) in paragraph at lines 7478--7479 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Congruence[] Overfull \hbox (38.60605pt too wide) in paragraph at lines 7481--7482 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Constraint[] Overfull \hbox (29.1661pt too wide) in paragraph at lines 7484--7485 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[] Overfull \hbox (29.1661pt too wide) in paragraph at lines 7487--7488 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[] Overfull \hbox (1.92542pt too wide) in paragraph at lines 7487--7488 [][][]\OT1/ptm/bc/n/10 Powerset[][][][]C[][][][]Polyhedron[][][]with[][][]compl exity Overfull \hbox (19.14638pt too wide) in paragraph at lines 7490--7491 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][]space[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 7494--7496 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.77632pt too wide) in paragraph at lines 7496--7497 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 7497--7499 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (9.44652pt too wide) in paragraph at lines 7499--7500 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 7500--7502 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.44652pt too wide) in paragraph at lines 7502--7503 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 7503--7505 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7505--7506 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7506--7508 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7508--7509 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7509--7511 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] [404] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7511--7512 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7512--7514 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7514--7515 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7515--7517 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7517--7518 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7518--7520 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7520--7521 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (12.72676pt too wide) in paragraph at lines 7520--7521 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7521--7523 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7523--7524 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7524--7526 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (8.23476pt too wide) in paragraph at lines 7526--7527 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator Overfull \hbox (17.20634pt too wide) in paragraph at lines 7527--7529 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.21626pt too wide) in paragraph at lines 7529--7530 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 7530--7532 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (13.00674pt too wide) in paragraph at lines 7534--7535 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[] Overfull \hbox (5.22661pt too wide) in paragraph at lines 7538--7539 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (4.66655pt too wide) in paragraph at lines 7542--7543 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.23685pt too wide) in paragraph at lines 7546--7547 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][] Overfull \hbox (29.43497pt too wide) in paragraph at lines 7554--7555 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity Overfull \hbox (11.07678pt too wide) in paragraph at lines 7564--7565 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[] Overfull \hbox (9.85516pt too wide) in paragraph at lines 7566--7567 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double Overfull \hbox (18.83667pt too wide) in paragraph at lines 7568--7569 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (9.39673pt too wide) in paragraph at lines 7570--7571 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (9.39673pt too wide) in paragraph at lines 7572--7573 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (8.83667pt too wide) in paragraph at lines 7574--7575 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (8.83667pt too wide) in paragraph at lines 7576--7577 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (33.88464pt too wide) in paragraph at lines 7580--7581 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity Overfull \hbox (0.54509pt too wide) in paragraph at lines 7584--7585 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Congruence[][][][]System Overfull \hbox (15.12538pt too wide) in paragraph at lines 7590--7591 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (24.10689pt too wide) in paragraph at lines 7593--7594 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.66695pt too wide) in paragraph at lines 7596--7597 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.66695pt too wide) in paragraph at lines 7599--7600 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.10689pt too wide) in paragraph at lines 7602--7603 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (14.10689pt too wide) in paragraph at lines 7605--7606 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[] [405] Overfull \hbox (7.73698pt too wide) in paragraph at lines 7610--7611 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.06706pt too wide) in paragraph at lines 7614--7615 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box[] Overfull \hbox (13.19542pt too wide) in paragraph at lines 7620--7621 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (22.17693pt too wide) in paragraph at lines 7622--7623 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7624--7625 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7627--7628 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7630--7631 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7633--7634 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7636--7637 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7639--7640 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.51674pt too wide) in paragraph at lines 7644--7645 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box[] Overfull \hbox (12.90541pt too wide) in paragraph at lines 7646--7647 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (21.88692pt too wide) in paragraph at lines 7649--7650 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (12.44698pt too wide) in paragraph at lines 7652--7653 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (12.44698pt too wide) in paragraph at lines 7655--7656 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.88692pt too wide) in paragraph at lines 7658--7659 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.88692pt too wide) in paragraph at lines 7661--7662 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (5.51701pt too wide) in paragraph at lines 7666--7667 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.4471pt too wide) in paragraph at lines 7670--7671 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box[][][] Overfull \hbox (10.97545pt too wide) in paragraph at lines 7676--7677 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (19.95695pt too wide) in paragraph at lines 7678--7679 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7680--7681 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7683--7684 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7686--7687 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7689--7690 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7692--7693 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7695--7696 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.29677pt too wide) in paragraph at lines 7700--7701 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box[] [406] Overfull \hbox (3.27629pt too wide) in paragraph at lines 7751--7752 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double[] Overfull \hbox (7.89441pt too wide) in paragraph at lines 7754--7755 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class Overfull \hbox (16.87592pt too wide) in paragraph at lines 7757--7758 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.33435pt too wide) in paragraph at lines 7760--7761 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class Overfull \hbox (16.31586pt too wide) in paragraph at lines 7763--7764 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.05632pt too wide) in paragraph at lines 7807--7808 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double[] Overfull \hbox (5.67444pt too wide) in paragraph at lines 7810--7811 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class Overfull \hbox (14.65594pt too wide) in paragraph at lines 7813--7814 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.11438pt too wide) in paragraph at lines 7816--7817 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class Overfull \hbox (14.09589pt too wide) in paragraph at lines 7819--7820 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] [407] [408]) Package longtable Warning: Table widths have changed. Rerun LaTeX. (./refman.aux (./group__Init.aux) (./group__Version.aux) (./group__Error.aux) (./group__Timeout.aux) (./group__Datatypes.aux)) Package rerunfilecheck Warning: File `refman.out' has changed. (rerunfilecheck) Rerun to get outlines right (rerunfilecheck) or use package `bookmark'. LaTeX Font Warning: Some font shapes were not available, defaults substituted. ) (see the transcript file for additional information){/usr/share/texlive/texmf-d ist/fonts/enc/dvips/base/8r.enc} Output written on refman.pdf (414 pages, 2579809 bytes). Transcript written on refman.log. latex_count=8 ; \ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $latex_count -gt 0 ] ;\ do \ echo "Rerunning latex...." ;\ pdflatex refman ;\ latex_count=`expr $latex_count - 1` ;\ done Package longtable Warning: Table widths have changed. Rerun LaTeX. Rerunning latex.... This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode (./refman.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) (/usr/share/texlive/texmf-dist/tex/latex/a4wide/a4wide.sty (/usr/share/texlive/texmf-dist/tex/latex/ntgclass/a4.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu))) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg) (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty))) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty)) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (./doxygen.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty)) (/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)) (/build/ppl-1.2/doc/ppl.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty)) Writing index file refman.idx (./refman.aux (./group__Init.aux) (./group__Version.aux) (./group__Error.aux) (./group__Timeout.aux) (./group__Datatypes.aux)) (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty)) (./refman.out) (./refman.out) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd) [1{/var/lib/texmf/fo nts/map/pdftex/updmap/pdftex.map} ] [2] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd) [3 ] [4] (./refman.toc [1 ]) [2] (./index.tex Underfull \hbox (badness 10000) detected at line 9 [][][] pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored \relax l.25 [1]) (./GPL.texpdfTeX warning (ext4): destination with the same identifie r (name{page.2}) has been already used, duplicate ignored \relax l.37 ` `Copyright'' also means copyright-\/like laws that apply to other kind... [2]pdfTeX warning (ext4): destination with the same identifier (name{page.3}) h as been already used, duplicate ignored \relax l.68 [3]pdfTeX warning (ext4): destination with the same identifier (name{page .4}) has been already used, duplicate ignored \relax l.104 [4] [5] [6] [7] [8] [9]) Overfull \hbox (10.35326pt too wide) in paragraph at lines 291--187 \OT1/ptm/m/n/10 stead of this Li-cense. But first, please read [][]\OT1/pcr/m/n /10 http[]://www.[]gnu.[]org/philosophy/why-not-lgpl.[] (./GFDL.tex [10] [11] [12] [13] Overfull \hbox (7.49895pt too wide) in paragraph at lines 97--98 \OT1/ptm/m/n/10 ments, form-ing one sec-tion En-ti-tled "[]History"; like-wise com-bine any sec-tions En-ti-tled "[]Acknowledgements", Underfull \vbox (badness 1377) has occurred while \output is active [14]) (./modules.tex) (./annotated.tex [15] [16] Overfull \hbox (20.64815pt too wide) in paragraph at lines 34--34 \OT1/ptm/b/n/10 Types and func-tions for it-er-at-ing on the dis-juncts of a [ ][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./group__PPL__C__interface.tex) Underfull \vbox (badness 7740) has occurred while \output is active [17] [18] (./group__Init.tex Underfull \hbox (badness 10000) detected at line 35 [][][] Underfull \hbox (badness 10000) detected at line 48 [][][] [19]) [20] (./group__Version.tex [21]) [22] (./group__Error.tex (/usr/share/texlive/texmf-dist/tex/latex/psnfss/omsptm.fd) Overfull \hbox (1.62299pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]O[]U[]T[][][][]O[]F[][] [][]M[]E[]M[]O[]RY[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[] I[]D[][][][]A[]R[]G[]U[]M[]E[]NT[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]D []O[]M[] Overfull \hbox (1.35289pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]A[]R[]I[]T[]H[]M[]E[]T[]I[]C[][][][]O[]V[]E[ ]R[]F[]L[]OW[][], [][]P[]P[]L[][][][]S[]T[]D[]I[]O[][][][]E[]R[]R[]OR[][], [][] P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]T[]E[]R[]N[]A[]L[][][][]E[]R[]R[]OR[] [], [][]P[] [23]) [24] (./group__Timeout.tex Underfull \hbox (badness 10000) detected at line 47 [][][] Overfull \hbox (4.67143pt too wide) in paragraph at lines 48--49 []\OT1/pcr/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[]I[]D[][][] []A[]R[]G[]U[]M[]E[]NT \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 unscaled[][][]weight \OT1/ptm/bc/n/10 is zero or if the com-puted weight thresh- [25] Underfull \hbox (badness 10000) detected at line 59 [][][] Underfull \hbox (badness 10000) detected at line 62 [][][] ) [26] (./group__Datatypes.tex Overfull \hbox (3.74069pt too wide) in paragraph at lines 43--45 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/ bc/n/10 ppl[][][]const[][][][]Constraint[][][][]System[][][]const[] Overfull \hbox (0.36111pt too wide) in paragraph at lines 61--63 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/b c/n/10 ppl[][][]const[][][][]Generator[][][][]System[][][]const[] [27] Overfull \hbox (1.80132pt too wide) in paragraph at lines 76--78 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/1 0 ppl[][][][]Congruence[][][][]System[][][]const[][][]iterator[] Overfull \hbox (16.4409pt too wide) in paragraph at lines 139--141 [][] \OT1/ptm/bc/n/10 type-def struct ppl[][][][]Artificial[][][][]Parameter[][ ][][]Sequence[][][]tag const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][ ][]const[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [28] Overfull \hbox (27.11154pt too wide) in paragraph at lines 190--192 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[] Overfull \hbox (14.85136pt too wide) in paragraph at lines 193--195 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Constraints[][][][]Product[] [29] Overfull \hbox (18.00154pt too wide) in paragraph at lines 202--204 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/pt m/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[ ] Overfull \hbox (21.60114pt too wide) in paragraph at lines 226--228 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[] Overfull \hbox (9.34096pt too wide) in paragraph at lines 229--231 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.77115pt too wide) in paragraph at lines 244--246 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] $\OMS/cms y/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (8.4811pt too wide) in paragraph at lines 247--249 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] const $\O MS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[] [30] [31] Underfull \hbox (badness 10000) detected at line 351 [][][] Overfull \hbox (27.05392pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]io[][][]variable[][][]output[][][]function[][][]typ e[] \OT1/pcr/m/n/8 typedef const char$\OMS/cmsy/m/n/8 ^^C$ \OT1/pcr/m/n/8 ppl[] [][]io[][][]variable[][][]output[][][]function[][][]type([][]ppl[] Overfull \vbox (4.91087pt too high) has occurred while \output is active [32] Overfull \hbox (19.9918pt too wide) in paragraph at lines 490--491 []\OT1/ptm/b/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][][ ][]Representation[] \OT1/pcr/m/n/8 enum [][]ppl[][][]enum[][][][]Bounded[][][][ ]Integer[][][][]Type[][][][]Representation[][] Underfull \vbox (badness 3746) has occurred while \output is active [33] Underfull \hbox (badness 10000) detected at line 534 [][][] Underfull \hbox (badness 10000) detected at line 559 [][][] ) [34] (./interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag.tex Overfull \hbox (7.82706pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][][]from[][][][]Artificial[][][][]P arameter[][][][]Sequence[] Overfull \hbox (23.68665pt too wide) in paragraph at lines 22--24 [][]\OT1/ptm/bc/n/10 const[][][]iterator[][] ([][]ppl[][][][]Artificial[][][][] Parameter[][][][]Sequence[][][]const[][][]iterator[][][]t[][] dst, [][]ppl[][][ ]const[][][][]Artificial[][][][]Parameter[] Overfull \hbox (26.38684pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Artif icial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (7.21704pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][] Artificial[][][][]Parameter[] Overfull \hbox (17.78696pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Artificial[][ ][][]Parameter[][][][]Sequence[] ) (./interfaceppl__Artificial__Parameter__tag.tex Overfull \hbox (4.9309pt too wide) in paragraph at lines 15--17 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]get[] [][][]Linear[][][][]Expression[][] ([][]ppl[][][]const[][][][]Artificial[][][][ ]Parameter[][][]t[][] ap, [][]ppl[][][][]Linear[] [35] Overfull \hbox (0.85934pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]coeff icient[][] ([][]ppl[][][]const[][][][]Artificial[][][][]Parameter[][][]t[][] ap , [][]ppl[][][]dimension[][][]type[][] var, ) (./interfaceppl__BD__Shape__double__tag.tex Overfull \hbox (10.32233pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]dimens ion[] Overfull \hbox (28.3727pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Polyhedron[] Overfull \hbox (13.9322pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Rational[] Overfull \hbox (8.07243pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (8.63249pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [36] Overfull \hbox (10.57239pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.13245pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.03285pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [][][]Double[] Overfull \hbox (10.44244pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]S hape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl [][][]const[] Overfull \hbox (7.61217pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (8.17223pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.78229pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (3.65257pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][] const[] [37] Overfull \hbox (11.66246pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][] []t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (2.7528pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.36253pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.12198pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.46193pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.62196pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.96191pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.51242pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]freque ncy[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.29205pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.90219pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (8.92177pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (1.69191pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (14.99254pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (5.5818pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [38] Overfull \hbox (18.88243pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (15.842pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]inters ection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (9.46228pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]differ ence[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x , [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (16.38219pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]concat enate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.55199pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]time[] [][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t [][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (7.5321pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (11.422pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.26245pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]affine [][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (4.2718pt too wide) in paragraph at lines 167--169 \OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (2.81215pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.57211pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.92154pt too wide) in paragraph at lines 175--177 \OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][ ]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][ ][][]Linear[][][][]Expression[] Overfull \hbox (27.50215pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.612pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (23.6022pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove [][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] ph, [][]ppl[][][]dimension[] [39] Overfull \hbox (19.30246pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.86237pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.40245pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.58176pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.3319pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.15248pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C 76[][][]narrowing[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double [][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (26.84183pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][ ][][]Constraint[] Overfull \hbox (23.46225pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape [][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][] [][]Generator[] [40] Overfull \hbox (1.78282pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[ ][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (5.03233pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.81236pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (4.48201pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.26204pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (20.41179pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] []Shape[][][]double[][][]from[][][]space[][][]dimension [41] Overfull \hbox (4.67235pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]C[][][][]Polyhedron ( Overfull \hbox (19.11229pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]double[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.72226pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]Rational[][][][]Box ( Overfull \hbox (14.10329pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (15.22328pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.74298pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (5.86298pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [42] Overfull \hbox (1.07347pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (37.7932pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]Octagonal[] Overfull \hbox (18.24309pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (10.60301pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (0.9931pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []B[]D[][][][]Shape[][][]double[][][]from[][][][]Grid[] Overfull \hbox (15.293pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (25.41252pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (26.53252pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] [43] Overfull \hbox (23.73222pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (9.18303pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (12.3827pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (10.70241pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.74335pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Constraint[] Overfull \hbox (22.29341pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Congruence[] [44] Overfull \hbox (10.26341pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[ ][][][]Shape[][][]double[][][]from[][][][]Generator[] Overfull \hbox (11.51178pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Constraint Overfull \hbox (5.03185pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]relation[][][]with[][][][]Generator Overfull \hbox (17.06184pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Congruence Overfull \hbox (23.1515pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]constraints Overfull \hbox (28.70157pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]congruences [45] Overfull \hbox (1.1418pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]contains[][][]integer[][][]point ( Overfull \hbox (5.39171pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]topolo gically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]is[][][]topologically[][][]closed ( Overfull \hbox (3.42314pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]topological[][ ][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]topological[][][]closure[] [46] Overfull \hbox (19.51176pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] []B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]contains[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (32.32272pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][] contains[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]double[][][]strictly[][][]contains[] Overfull \hbox (1.39285pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoi nt[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoint[] Overfull \hbox (1.5818pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]equals[][][][] B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]double[][][]equals[][][][]B[]D[][][][]Shape[][][]double [47] Overfull \hbox (5.39195pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]refine[][][]with[][][]congruence ( Overfull \hbox (8.53178pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]constraints ( Overfull \hbox (4.48184pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]congruences [48] Overfull \hbox (7.98315pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]upper[][][]bound[][][]assign[] Overfull \hbox (30.80284pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][] using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]simplify[][][]using[][][]context[] Overfull \hbox (9.01286pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]unconstrain[][][]space[] Overfull \hbox (12.90276pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]double[][][]unconstrain[][][]space[] [49] Overfull \hbox (9.50198pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]bounded[][][]affine[][][]preimage Overfull \hbox (11.68184pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]generalized[][][]affine[][][]image Overfull \hbox (8.04321pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]generalized[][][]affine[] [50] Overfull \hbox (27.10283pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]generalized[][][]affine[] Overfull \hbox (9.6827pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]generalized[] Overfull \hbox (42.03287pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (44.0629pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (10.95177pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]remove[][][]space[][][]dimensions Overfull \hbox (5.2329pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hi gher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]remove[][][]higher[] Overfull \hbox (2.11176pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][]sp ace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]expand[][][]space[][][]dimension [51] Overfull \hbox (27.4932pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]double[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (2.49318pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]drop[][][]some[][][]non[][][] Overfull \hbox (0.96347pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]external[][][] memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]external[][][]memory[][][]in[][][] Overfull \hbox (2.0126pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][] [][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (3.23283pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wid ening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]double[][][][]H79[][][]widening[] Overfull \hbox (9.3417pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]double[][][][]B[]H[]M[]Z05[][][]widening[][][]assign [52] Overfull \hbox (18.33296pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][] assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]widening[][][]assign[][][]with[] Overfull \hbox (19.372pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr /m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (33.07224pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 in t ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[] Overfull \hbox (3.25226pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (2.08258pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]double[][][]limited[] [53] Overfull \hbox (61.86285pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]limited[][][][]H79[][][]extrapolation[] Overfull \hbox (8.04286pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]limited[][][][]C[]C76[] Overfull \hbox (57.01285pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.24341pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.84216pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][][]C[]C76[][][]narrowing[][][]assign ( Overfull \hbox (40.0231pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Constraint[] [54] Overfull \hbox (45.57317pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Congruence[] Overfull \hbox (33.54317pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]double[][][]recycle[][][][]Generator[] Overfull \hbox (0.37323pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][]fr om[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]assign[ ][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][] Overfull \hbox (12.06174pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]constraints Overfull \hbox (17.6118pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]congruences Overfull \hbox (2.01312pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (0.3432pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]P[] [55] Overfull \hbox (1.46292pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][] Overfull \hbox (4.593pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][][]P[] Overfull \hbox (2.93312pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (1.2632pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (7.18292pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (5.513pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] [56]) (./interfaceppl__BD__Shape__mpq__class__tag.tex Overfull \hbox (5.86221pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (3.64197pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (10.56195pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.12201pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] [57] Overfull \hbox (0.95065pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pph, Overfull \hbox (5.40195pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.93196pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] Overfull \hbox (3.1817pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.77185pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (12.33191pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (18.1617pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.14209pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.49162pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.2818pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]const[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (25.56108pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [58] Overfull \hbox (1.9613pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.61162pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (0.25233pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.86206pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (6.12149pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (4.46144pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (14.71156pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (14.12123pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.93167pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (12.4822pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (3.07146pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (16.37209pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (28.89116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [59] Overfull \hbox (12.2214pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.84169pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.7616pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.9314pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.66202pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (5.592pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (18.3619pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.2415pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (30.0114pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.06163pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (15.83153pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (9.43188pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.54173pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (21.65166pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.53194pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] [60] Overfull \hbox (16.80182pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []expand[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.07158pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.88039pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] ph, int com- Overfull \hbox (1.2322pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.17146pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ps, size[] Overfull \hbox (4.35188pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.24164pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (2.78186pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.19151pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.70154pt too wide) in paragraph at lines 219--221 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (6.82141pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (9.79172pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpq[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] [61] Overfull \hbox (8.77168pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (15.422pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (7.0819pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.38148pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (15.68144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (28.98207pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (8.45016pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (6.2302pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (7.89984pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (5.67987pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, [62] Overfull \hbox (9.94308pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][]space[] Overfull \hbox (21.70216pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (3.84358pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]N[]N[]C[] Overfull \hbox (10.45357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Rational[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (2.49307pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.41278pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [63] Overfull \hbox (3.0421pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (0.82327pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]B[]D[] Overfull \hbox (18.34299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (22.7929pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.35281pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (5.54291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (19.8428pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] [64] Overfull \hbox (9.0023pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (13.73283pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.1325pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (43.37317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Constraint[] [65] Overfull \hbox (0.9232pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][] Overfull \hbox (36.89323pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Generator[] Overfull \hbox (38.1416pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (31.66167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (1.79314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[] [66] Overfull \hbox (3.0828pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (8.63286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (0.2731pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]contains[][][]integer[] Overfull \hbox (2.60301pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (30.05296pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]topological[][][]closure[] [67] Overfull \hbox (7.81178pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (6.15161pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (1.11285pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contains[][][] Overfull \hbox (31.82233pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strictly[] [68] Overfull \hbox (0.89246pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] Overfull \hbox (19.66292pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.8717pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (22.42177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]congruence [69] Overfull \hbox (25.5616pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (31.11166pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]congruences Overfull \hbox (2.93295pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]upper[][][]bound[] Overfull \hbox (20.95264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]simplify[][][]using[] [70] Overfull \hbox (8.76266pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (12.65256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (7.47191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (3.83328pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]bounded[][][]affine[] [71] Overfull \hbox (20.41315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]generalized[][][]affine[] Overfull \hbox (2.99301pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (22.05263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (36.31252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (17.78265pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (19.81268pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (37.58159pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]remove[][][]space[][][]dimensions [72] Overfull \hbox (0.1827pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]remove[] Overfull \hbox (28.74158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]expand[][][]space[][][]dimension Overfull \hbox (13.1315pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (10.8016pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (0.36298pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (8.96298pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (12.23328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]external[][][]memory[] [73] Overfull \hbox (12.81189pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (1.7624pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[] Overfull \hbox (29.86266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[][][]widening[] Overfull \hbox (13.27301pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (8.39174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (22.88277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]widening[][][]assign[] Overfull \hbox (1.84178pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [74] Overfull \hbox (23.22203pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.00206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (28.7124pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (5.93262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (12.59267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (3.96262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (29.87323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][][]C[]C76[][][]extrapolation[] [75] Overfull \hbox (1.05347pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][][]C[]C76[][][]narrowing[][][] Overfull \hbox (15.77289pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (21.32295pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (14.09296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (3.71283pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [76] Overfull \hbox (38.69156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (0.4231pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][] Overfull \hbox (6.13176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (4.46184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (8.48293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (6.813pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (12.73273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (11.0628pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (14.11327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [77] Overfull \hbox (12.44334pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (17.08293pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (15.41301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (21.33273pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (19.66281pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] [78]) (./interfaceppl__BD__Shape__mpz__class__tag.tex Overfull \hbox (4.7421pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (2.52185pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (9.44183pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (10.00189pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (12.8701pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\ OT1/ptm/bc/n/10 pph, Overfull \hbox (4.28183pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.81184pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] [79] Overfull \hbox (2.06158pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.65173pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.21179pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (17.04158pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.02197pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.3715pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (24.44096pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (37.7416pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (0.84119pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (7.4915pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] [80] Overfull \hbox (5.00137pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (3.34132pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (13.03139pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (13.83092pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []strictly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][] ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.44106pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.2515pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (11.36208pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (1.95134pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (15.25197pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (27.77104pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (11.10129pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.72157pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.64148pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.81128pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.5419pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (10.4113pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] [81] Overfull \hbox (4.47188pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.24178pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (16.12138pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.89128pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.94151pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.71141pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (8.31177pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (9.42162pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (20.53154pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (4.41182pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.6817pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []expand[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (6.95146pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (2.76027pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] ph, int com- Overfull \hbox (0.11208pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (2.05135pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ps, size[] [82] Overfull \hbox (3.23177pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (7.12152pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (1.66174pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (3.0714pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (5.7013pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.6716pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpz[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] Overfull \hbox (7.65157pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (14.30188pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.96178pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (9.70131pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (14.56133pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (27.86195pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (7.33005pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, [83] Overfull \hbox (5.11008pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (6.77972pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (4.55975pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (8.82309pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][]space[] Overfull \hbox (20.58217pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (2.72359pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]N[]N[]C[] [84] Overfull \hbox (9.33357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Rational[] Overfull \hbox (0.25308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (8.17279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.9221pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (2.58328pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]B[]D[][][] Overfull \hbox (17.22299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] [85] Overfull \hbox (21.6729pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.23282pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (4.42291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (18.72281pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.76231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [86] Overfull \hbox (1.40201pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (12.61284pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.01251pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (23.73222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (42.25317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Constraint[] Overfull \hbox (47.80324pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Congruence[] Overfull \hbox (35.77324pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Generator[] [87] Overfull \hbox (37.0216pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (30.54167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (0.67314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[] Overfull \hbox (1.9628pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] Overfull \hbox (7.51286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] [88] Overfull \hbox (2.03311pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]contains[][][]integer[][][] Overfull \hbox (1.48302pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (28.93297pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]topological[][][]closure[] [89] Overfull \hbox (6.69179pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (5.03162pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (3.67287pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contains[][][][]B[] Overfull \hbox (29.58234pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strictly[] Overfull \hbox (1.53247pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][][] Overfull \hbox (17.42293pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] [90] Overfull \hbox (15.75171pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (21.30177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]congruence Overfull \hbox (24.4416pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (29.99167pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]congruences [91] Overfull \hbox (1.81296pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]upper[][][]bound[] Overfull \hbox (19.83264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]simplify[][][]using[] Overfull \hbox (7.64267pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]unconstrain[] [92] Overfull \hbox (11.53256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]unconstrain[] Overfull \hbox (6.35191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (2.71329pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]bounded[][][]affine[] Overfull \hbox (19.29315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]generalized[][][]affine[] Overfull \hbox (1.87302pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]generalized[] [93] Overfull \hbox (20.93263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (35.19252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (16.66266pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (18.69269pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (36.4616pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]remove[][][]space[][][]dimensions Overfull \hbox (1.9427pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]remove[][][] Overfull \hbox (27.62158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]expand[][][]space[][][]dimension [94] Overfull \hbox (12.0115pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (9.68161pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (2.12299pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[][][] Overfull \hbox (7.84299pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[] Overfull \hbox (11.11328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]external[][][]memory[] Overfull \hbox (11.6919pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (0.64241pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[] [95] Overfull \hbox (28.74266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[][][]widening[] Overfull \hbox (12.15302pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (7.27174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (21.76277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]widening[][][]assign[] Overfull \hbox (0.72179pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.10204pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.88206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [96] Overfull \hbox (27.5924pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (4.81262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (11.47267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (2.84262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (28.75323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (19.75198pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][][]C[]C76[][][]narrowing[][][]assign [97] Overfull \hbox (14.6529pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (20.20296pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (12.97296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (1.47284pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (37.57156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (43.12163pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]congruences Overfull \hbox (5.01176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( [98] Overfull \hbox (3.34184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( Overfull \hbox (7.36293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (5.69301pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (11.61273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (9.94281pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (12.99327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.32335pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.96294pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (14.29301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] [99] Overfull \hbox (20.21274pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (18.54282pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Coefficient__tag.tex [100]) (./interfaceppl__Congruence__System__const__iterator__tag.tex [101] Overfull \hbox (1.72762pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[] Overfull \hbox (2.27753pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System [][][]const[][][]iterator[] Overfull \hbox (17.54732pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Congruence[][][ ][]System[][][]const[][][]iterator[] ) (./interfaceppl__Congruence__System__tag.tex [102] Overfull \hbox (7.63844pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Congruence[][][][]System[][][ ]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][]Sys tem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[] Overfull \hbox (9.56808pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][] System[][][]t[][] dst, [][]ppl[] Overfull \hbox (10.67792pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]space[][ ][]dimension[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][][]dimension[] Overfull \hbox (4.96837pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]begin[][ ] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][ ][][]Congruence[][][][]System[] Overfull \hbox (23.98816pt too wide) in paragraph at lines 60--62 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]insert[] [][][]Congruence[][] ([][]ppl[][][][]Congruence[][][][]System[][][]t[][] cs, [] []ppl[][][]const[][][][]Congruence[] [103]) (./interfaceppl__Congruence__tag.tex Overfull \hbox (15.0983pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][]coefficient[][] ([][]p pl[][][]const[][][][]Congruence[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] [104]) (./interfaceppl__Constraint__System__const__iterator__tag.tex Overfull \hbox (25.10667pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][][] iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (33.69638pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (11.7268pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Constraint[][][][]S ystem[][][]const[][][]iterator[] Overfull \hbox (4.24669pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Constraint[][][ ][]System[][][]const[][][]iterator[] [105]) (./interfaceppl__Constraint__System__tag.tex Overfull \hbox (24.61707pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (2.09717pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]end[][] ([][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] cs, [][]ppl[][][ ][]Constraint[][][][]System[][][]const[] [106]) (./interfaceppl__Constraint__tag.tex Overfull \hbox (1.5281pt too wide) in paragraph at lines 16--18 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][] ([][]ppl[][][] []Constraint[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pc, [][]ppl[][][ ]const[][][][]Linear[][][][]Expression[][][]t[][] le, enum [][]ppl[][][]enum[] [107] Overfull \hbox (1.79767pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][]coefficient[][] ([][]p pl[][][]const[][][][]Constraint[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] ) (./interfaceppl__Constraints__Product__C__Polyhedron__Grid__tag.tex Overfull \hbox (14.4614pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.42136pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension[][] ([][] ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.32178pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (19.76172pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (27.2516pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][] ([][]ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.10153pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] [108] Overfull \hbox (0.58157pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.2312pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.79126pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (21.69168pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (14.19164pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.26022pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[][] Overfull \hbox (5.4219pt too wide) in paragraph at lines 41--43 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.44136pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.72202pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (2.39153pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexi ty[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (38.22112pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (20.69154pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (21.2516pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (20.90985pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]with[][][]complexity[][] Overfull \hbox (2.55026pt too wide) in paragraph at lines 55--57 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, int Overfull \hbox (21.46991pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]with[][][]complexity[][] Overfull \hbox (3.11032pt too wide) in paragraph at lines 57--59 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, int Overfull \hbox (33.77144pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (7.65198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (7.87029pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][][]with[][][]complexity[][] Overfull \hbox (9.24173pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (16.57161pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 with[][][]complexity[][] ([][]ppl[][][][]Constraints[][][] []Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^ ^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (23.66107pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Constraints[][][][]Product[] [109] Overfull \hbox (26.11101pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[ ][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (25.8513pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.3313pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.29152pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.80093pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][ ][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (31.95103pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.9711pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]topological[][][]closure[][][]assign[][] ([][]ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (9.71191pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (10.32164pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (30.02118pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 97--99 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (28.36113pt too wide) in paragraph at lines 99--101 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 99--101 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (15.58107pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 101--103 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (13.92102pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 103--105 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (21.13144pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][ ]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (12.5711pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][] Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.18124pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][] [][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.35155pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C [][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (5.02113pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][][]OK[][] ([][]ppl[][][]const[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.35141pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraint[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (30.00172pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruence[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] [110] Overfull \hbox (27.2413pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraints[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (33.89162pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruences[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.62155pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (34.7512pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]difference[][][]assign[][] ([][]ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.84091pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][] Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.1216pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[] [] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (6.42146pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]constrains[][] ([][]ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.63115pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (16.4315pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]image[][] ([][]ppl[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.2014pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]preimage[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26169pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (6.1413pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][] ([][]ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (18.9112pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (2.52121pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][] rhs[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (15.2911pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][ ][]rhs[][] ([][]ppl[][][][]Constraints[] [111] Overfull \hbox (8.89146pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embe d[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.00131pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]proj ect[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.55145pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (4.99152pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.70161pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][] [][]Constraints[][][][]Product[] Overfull \hbox (0.69177pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[ ][][]2[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.97137pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes[][] ([][] ppl[][][]const[][][][]Constraints[] Overfull \hbox (21.40106pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl [][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (22.70122pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens[][] ([ ][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (31.69138pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.85143pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Constraints[][][][]Pro duct[][][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.83125pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Constraints[][][][]P roduct[][][][]C[][][][]Polyhedron[][][][]Grid[][] (char $\OMS/cmsy/m/n/10 ^^C$$ ^^C$\OT1/ptm/bc/n/10 strp, [][]ppl[][][]const[][][][]Constraints[][][][]Product [] Overfull \hbox (35.29124pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.02145pt too wide) in paragraph at lines 199--200 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]load[][] ([][]ppl[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (36.6532pt too wide) in paragraph at lines 211--212 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Constraints[][][][]Product[][][][]C[] [][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3924pt too wide) in paragraph at lines 217--218 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/ 8 int ppl[][][]new[][][][]Constraints[] [112] Overfull \hbox (7.45296pt too wide) in paragraph at lines 223--224 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (21.8929pt too wide) in paragraph at lines 229--230 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/p cr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.60298pt too wide) in paragraph at lines 235--236 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Constraints[][][][]Product[] Overfull \hbox (4.50287pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (36.70241pt too wide) in paragraph at lines 247--248 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (37.8224pt too wide) in paragraph at lines 253--254 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (11.0221pt too wide) in paragraph at lines 259--260 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (12.14209pt too wide) in paragraph at lines 265--266 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [113] Overfull \hbox (1.2729pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][] Overfull \hbox (23.67259pt too wide) in paragraph at lines 277--278 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \O T1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (0.87228pt too wide) in paragraph at lines 283--284 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (21.9302pt too wide) in paragraph at lines 289--290 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (7.24219pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (21.68213pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (40.87224pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexity()[] \ OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.2921pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] [114] Overfull \hbox (8.31012pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (9.43011pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (15.90984pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 331--332 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity Overfull \hbox (17.02983pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 337--338 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity Overfull \hbox (1.06213pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (23.46182pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]w ith[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (2.88002pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity()[] Overfull \hbox (8.37407pt too wide) in paragraph at lines 355--356 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity ( [115] Overfull \hbox (1.85179pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid[] Overfull \hbox (9.12473pt too wide) in paragraph at lines 361--362 [][]\OT1/ptm/b/n/10 with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]fro m[][][][]Constraints[][][][]Product[] Overfull \hbox (27.82246pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (33.37253pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Congruence[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (2.81264pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (0.49269pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]C onstraints[][][][]Product[][][][]C[] Overfull \hbox (26.7724pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.09247pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 in t ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (32.32246pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] [116] Overfull \hbox (16.91315pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.16286pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (27.49298pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.85233pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (23.39287pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.78227pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.47299pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (5.57285pt too wide) in paragraph at lines 451--452 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (21.08315pt too wide) in paragraph at lines 457--458 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] [117] Overfull \hbox (19.42297pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.84259pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (9.18242pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (15.74998pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (5.10138pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][]Product[ ][][][]C[][][][]Polyhedron[] Overfull \hbox (3.73514pt too wide) in paragraph at lines 487--488 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]strictly[][][]contains[][] [][]Constraints[][][][]Product[] Overfull \hbox (2.97153pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][][][]Prod uct[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.69514pt too wide) in paragraph at lines 493--494 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from [][][][]Constraints[][][][]Product[][][][]C[] [118] Overfull \hbox (7.42003pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C[][][][] Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (17.62337pt too wide) in paragraph at lines 505--506 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][][]O[]K()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][ ][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (43.0329pt too wide) in paragraph at lines 511--512 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.58293pt too wide) in paragraph at lines 517--518 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][] Overfull \hbox (46.92279pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.59282pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[] Overfull \hbox (15.10251pt too wide) in paragraph at lines 535--536 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (20.65257pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] [119] Overfull \hbox (18.9924pt too wide) in paragraph at lines 547--548 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (24.54247pt too wide) in paragraph at lines 553--554 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (1.13237pt too wide) in paragraph at lines 559--560 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []Constraints[][][][]Product[] Overfull \hbox (7.54259pt too wide) in paragraph at lines 565--566 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (1.40259pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.6827pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Constraints[][][][]Product[] Overfull \hbox (2.6125pt too wide) in paragraph at lines 583--584 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[][][] Overfull \hbox (6.58226pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/ pcr/m/n/8 int ppl[][][][]Constraints[] [120] Overfull \hbox (23.87296pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[ ][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.49197pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (14.38187pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.02313pt too wide) in paragraph at lines 613--614 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Const raints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (47.28302pt too wide) in paragraph at lines 619--620 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.30272pt too wide) in paragraph at lines 625--626 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (29.5626pt too wide) in paragraph at lines 631--632 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] [121] Overfull \hbox (26.94246pt too wide) in paragraph at lines 637--638 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (4.72232pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (23.78194pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (38.04182pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (31.03197pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \O T1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.062pt too wide) in paragraph at lines 667--668 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] [122] Overfull \hbox (31.01239pt too wide) in paragraph at lines 673--674 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.91202pt too wide) in paragraph at lines 679--680 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pc r/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (26.97238pt too wide) in paragraph at lines 685--686 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (16.16231pt too wide) in paragraph at lines 691--692 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (18.63242pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (13.61229pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1 /pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (22.2123pt too wide) in paragraph at lines 709--710 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.1626pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Constraints[][][][]Product[] [123] Overfull \hbox (17.7627pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (7.33206pt too wide) in paragraph at lines 727--728 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m /n/8 int ppl[][][][]Constraints[] Overfull \hbox (0.60266pt too wide) in paragraph at lines 733--734 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (1.51312pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[][] [][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]pri nt[][][][]Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.96307pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fp rint[][][][]Constraints[][][][]Product[] Overfull \hbox (12.32301pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]a sprint[][][][]Constraints[][][][]Product[] Overfull \hbox (27.48296pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.81302pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] [124]) (./interfaceppl__Double__Box__tag.tex Overfull \hbox (7.5225pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (8.08257pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (20.86249pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (2.41263pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (0.19238pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (7.11237pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (7.67242pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (10.54063pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, Overfull \hbox (11.1007pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, [125] Overfull \hbox (9.49263pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Congruence[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[ ] Overfull \hbox (3.63234pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]relation[][][]with [][][][]Congruence[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.28996pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]constrain ts[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][ ]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/pt m/bc/n/10 pcs) Overfull \hbox (11.96216pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]minimized [][][]congruences[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] p h, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (4.71272pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]above[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.32245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]below[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.72252pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]upper[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (9.47238pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]lower[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (10.58188pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]maximize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.92183pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]minimize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] [126] Overfull \hbox (5.85234pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]refine[][][]with[] [][]congruences[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]const[][][][]Congruence[][][][]System[] Overfull \hbox (0.82236pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]affine[][][]image[ ][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension[][] []type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (9.33069pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, enum Overfull \hbox (32.23175pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Double[][][][]Box[][][]t [][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.37874pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]remove[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]dimension[][][]type[][] ds[]$ $[], size[] [127] Overfull \hbox (8.12848pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]map[][][]space[][] []dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][] dimension[][][]type[][] maps[]$ $[], size[] Overfull \hbox (6.6776pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][] []non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.24174pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[] C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Do uble[][][][]Box[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (13.81174pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Constraint[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[][][][]S ystem[] Overfull \hbox (10.43216pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Generator[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[][][][]Sys tem[] Overfull \hbox (2.53229pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (0.31232pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (8.11209pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.89212pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (6.40175pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] Overfull \hbox (4.18178pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] [128] Overfull \hbox (1.9221pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [129] Overfull \hbox (3.0421pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class Overfull \hbox (3.4633pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (17.3135pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double [][][][]Box[][][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (29.44342pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][] [][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.60333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[ ]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[]C[] [130] Overfull \hbox (17.61194pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Grid[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][] [][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (9.21332pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ratio nal[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (0.13283pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.25282pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (8.05254pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (9.17253pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (10.78336pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Doubl e[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Double[][][][]Box[][][]from[][][][]Double[][][][]Box[] Overfull \hbox (2.46303pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[][][] [131] Overfull \hbox (17.10274pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.68216pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Const raint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Constraint[][][][]System ( Overfull \hbox (7.23222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Congr uence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Congruence[][][][]System ( [132] [133] [134] Overfull \hbox (9.26186pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]strictly[][][]contains[][] [][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] strictly[][][]contains[][][][]Double[][][][]Box ( Overfull \hbox (0.412pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]is[][][]disjoint[][][]from [][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[] [][]is[][][]disjoint[][][]from[][][][]Double[][][][]Box ( [135] [136] Overfull \hbox (0.60197pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]upper[][][]bound[][][]assi gn[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] upper[][][]bound[][][]assign[][][]if[][][]exact ( Overfull \hbox (6.14165pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][]c ontext[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]sim plify[][][]using[][][]context[][][]assign Overfull \hbox (8.35168pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstrai n[][][]space[][][]dimension ( Overfull \hbox (7.44157pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstra in[][][]space[][][]dimensions [137] Overfull \hbox (2.58203pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]generalize d[][][]affine[][][]preimage ( Overfull \hbox (6.62314pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]generalized[][][]affine[][][]image[] Overfull \hbox (35.28304pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]generalized[][][]affine[][][]preimage[] Overfull \hbox (11.95317pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][ ][]add[][][]space[][][]dimensions[][][]and[] Overfull \hbox (13.9832pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]add[][][]space[][][]dimensions[][][]and[] [138] Overfull \hbox (26.65173pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]higher[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]re move[][][]higher[][][]space[][][]dimensions Overfull \hbox (2.832pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][ ]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (20.41351pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]drop[][][]some[][][]non[][][]integer[][][]points[] [139] Overfull \hbox (1.8932pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][] []assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][] Box[][][][]C[]C76[][][]widening[][][]assign[][][] Overfull \hbox (3.27177pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][][] with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]widen ing[][][]assign[][][]with[][][]tokens ( Overfull \hbox (25.9632pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]limited[][][][]C[]C76[][][]extrapolation[] [140] Overfull \hbox (15.36191pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co nstraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Constraint[][][][]System Overfull \hbox (1.09346pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co ngruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Congruence[][][] Overfull \hbox (8.88197pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Ge nerator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][] Box[][][]recycle[][][][]Generator[][][][]System [141] Overfull \hbox (13.21346pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (11.54353pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]P[]R[][][][]Double[] Overfull \hbox (17.46326pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (15.79333pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]P[]R[][][][]Double[] Overfull \hbox (21.81346pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (20.14354pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]P[]R[][][][]Double[] [142] Overfull \hbox (26.06326pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (24.39334pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]P[]R[][][][]Double[] ) (./interfaceppl__Generator__System__const__iterator__tag.tex [143] Overfull \hbox (20.03731pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][]it erator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (28.62701pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][ ]iterator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (8.34723pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Generator[][][][]Sys tem[][][]const[][][]iterator[] Overfull \hbox (0.86711pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Generator[][][][ ]System[][][]const[][][]iterator[] ) (./interfaceppl__Generator__System__tag.tex Overfull \hbox (18.41797pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][] ([][]ppl[][][][]Generator[][][][]System[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (7.88792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Generator[][][][]System [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[] [144] Overfull \hbox (5.21785pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]begin[][] ([][]ppl[][][]const[][][][]Generator[][][][]System[][][]t[][] gs, [][]ppl[][][ ][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Generator__tag.tex [145] [146]) (./interfaceppl__Grid__Generator__System__const__iterator__tag.tex Overfull \hbox (20.31735pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][][]S ystem[][][]const[][][]iterator[][] ([][]ppl[] Overfull \hbox (2.36742pt too wide) in paragraph at lines 19--21 [][][]\OT1/ptm/bc/n/10 Grid[][][][]Generator[][][][]System[][][]const[][][]iter ator[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgit, [][]ppl[][][]const [][][][]Grid[][][][]Generator[][][][]System[][][]const[][][]iterator[] Overfull \hbox (1.91568pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][] []System[][][]const[][][]iterator[][] Overfull \hbox (10.18723pt too wide) in paragraph at lines 22--24 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Grid[][][][]Generator[][][][]System[][][]const [][][]iterator[][][]t[][] dst, [][]ppl[][][]const[][][][]Grid[][][][]Generator[ ][][][]System[][][]const[][][]iterator[] Overfull \hbox (20.85709pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Grid[][][][]Generator [][][][]System[][][]const[][][]iterator[] Overfull \hbox (12.24728pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Grid [][][][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Grid__Generator__System__tag.tex [147] Overfull \hbox (4.49792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][][][ ]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.08763pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][] [][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.24803pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]begin[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][] []t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (5.61804pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]end[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][][] t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (2.72562pt too wide) in paragraph at lines 73--75 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][] System[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) [148]) (./interfaceppl__Grid__Generator__tag.tex [149]) (./interfaceppl__Grid__tag.tex Overfull \hbox (3.80247pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][ ][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron [] [150] Overfull \hbox (1.55243pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][] []Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[] [][][]Shape[] Overfull \hbox (27.93198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[ ][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (6.9618pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][] []Generator[][][][]System[][] ([][]ppl[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid[][][][]Generator[][][ ][]System[] Overfull \hbox (3.21011pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][ ][]Congruence[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p cs) Overfull \hbox (7.22137pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]grid[][ ][]generators[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (28.41115pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]maximize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (26.7511pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]minimize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] [151] Overfull \hbox (24.14204pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]bounded[][][]affine[][][]image[ ][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] va r, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.17998pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum Overfull \hbox (4.87045pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]dimension[][][]type[][] var, enum Overfull \hbox (1.3616pt too wide) in paragraph at lines 187--189 [][]\OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]c onst[][][][]Coefficient[][][]t[][] d, [][]ppl[] [152] Overfull \hbox (5.27174pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]pr eimage[][][]lhs[][][]rhs[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][] []t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.88818pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]fold[][][]space[][][]dimensions [][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] d s[]$ $[], size[][][]t n, [][]ppl[][][]dimension[] Overfull \hbox (9.77875pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]wrap[][][]assign[][] ([][]ppl[] [][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], size[ ][][]t n, enum [][]ppl[][][]enum[][][][]Bounded[] Overfull \hbox (8.82231pt too wide) in paragraph at lines 237--239 [][][]\OT1/ptm/bc/n/10 Bounded[][][][]Integer[][][][]Type[][][][]Overflow[][] o , const [][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cms y/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, un-signed complexity[] [153] Overfull \hbox (4.96187pt too wide) in paragraph at lines 269--271 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.7419pt too wide) in paragraph at lines 271--273 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (4.41154pt too wide) in paragraph at lines 273--275 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.19157pt too wide) in paragraph at lines 275--277 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] [154] Overfull \hbox (8.37189pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class Overfull \hbox (9.49188pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class Overfull \hbox (36.272pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Pol yhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Gr id[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[] [155] Overfull \hbox (33.32191pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][]Bo x[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity Overfull \hbox (2.50291pt too wide) in paragraph at lines 399--400 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.7429pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.06262pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (20.18262pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (17.61194pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Box[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity [156] Overfull \hbox (0.9931pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (6.0328pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Grid[][][]from[][][][]Octagonal[] [157] [158] [159] [160] [161] [162] Overfull \hbox (3.7116pt too wide) in paragraph at lines 807--808 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[][][]a ffine[][][]preimage[][][]lhs[][][]rhs Overfull \hbox (13.20297pt too wide) in paragraph at lines 813--814 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[] [][]affine[][][]image[][][]with[] [163] Overfull \hbox (19.78285pt too wide) in paragraph at lines 819--820 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalize d[][][]affine[][][]preimage[] Overfull \hbox (0.44244pt too wide) in paragraph at lines 825--826 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[ ][][]generalized[][][]affine[][][] Overfull \hbox (11.82233pt too wide) in paragraph at lines 831--832 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Gr id[][][]generalized[][][]affine[] [164] Overfull \hbox (17.18285pt too wide) in paragraph at lines 903--904 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[][ ][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]congruence[][][ ]widening[][][]assign[][][]with[] Overfull \hbox (5.15298pt too wide) in paragraph at lines 909--910 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generator[][][]w idening[][][]assign[][][]with[] [165] Overfull \hbox (10.54222pt too wide) in paragraph at lines 939--940 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][ ][]limited[][][]congruence[] Overfull \hbox (1.39236pt too wide) in paragraph at lines 945--946 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][] []limited[][][]generator[][][] Overfull \hbox (22.05283pt too wide) in paragraph at lines 951--952 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]congru ence[][][]extrapolation[] Overfull \hbox (10.02296pt too wide) in paragraph at lines 957--958 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]generat or[][][]extrapolation[] [166] Overfull \hbox (7.5717pt too wide) in paragraph at lines 981--982 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Grid[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]recyc le[][][][]Grid[][][][]Generator[][][][]System ( [167] [168]) (./interfaceppl__Linear__Expression__tag.tex [169] Overfull \hbox (22.34773pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (18.96815pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Generator[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Generator [] Overfull \hbox (15.40788pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]inhomoge neous[][][]term[][] ([][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[ ][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (2.65662pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le , [][]ppl[][][]dimension[][][]type[][] var, [170] Overfull \hbox (22.89804pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]inhomogeneous[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (25.43753pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]multiply[][][][]Linear[][][][]Expression [][][]by[][][][]Coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t [][] le, [][]ppl[][][]const[][][][]Coefficient[] ) (./interfaceppl__MIP__Problem__tag.tex [171] Overfull \hbox (14.92802pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][] ([ ][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pmip, [][]ppl[][][]dimension[][][]type[][] d, [][]ppl[][][]const[][][][ ]Constraint[] Overfull \hbox (20.14798pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][][]f rom[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pmip, [][]ppl[][][]const[][][][ ]M[]I[]P[][][][]Problem[] Overfull \hbox (14.84767pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]M[]I[]P[][][][]Problem[][] []from[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[] Overfull \hbox (1.62802pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]number[][] []of[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[] I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[] Overfull \hbox (0.81778pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]integer[][ ][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (28.59772pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]objective[ ][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [172] Overfull \hbox (11.228pt too wide) in paragraph at lines 97--99 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]s pace[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]M[]I[]P[][][][]Pro blem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (5.5279pt too wide) in paragraph at lines 100--102 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]t o[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][][]M[]I[]P[][][][]Pr oblem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (18.59772pt too wide) in paragraph at lines 109--111 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]set[][][]o bjective[][][]function[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] mi p, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (28.95757pt too wide) in paragraph at lines 124--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][ ]objective[][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]const[][][][]Generator[] [173] Underfull \hbox (badness 10000) detected at line 188 [][][] Overfull \hbox (2.87207pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][]objecti ve[][][]function()[] \OT1/pcr/m/n/8 int ppl[][][][]M[]I[]P[][][][]Problem[][][] evaluate[][][]objective[][][]function Underfull \vbox (badness 10000) has occurred while \output is active [174]) (./interfaceppl__Octagonal__Shape__double__tag.tex Overfull \hbox (8.3726pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (6.15236pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (19.41191pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (19.97197pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.70268pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (0.96109pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , Overfull \hbox (6.37234pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (1.80223pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.24217pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] [175] Overfull \hbox (3.17188pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (18.17213pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.342pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (2.93048pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (9.5808pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (1.24069pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (7.51181pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][] double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.2519pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][] [][]Shape[][][]double[] Overfull \hbox (2.76273pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] [176] Overfull \hbox (3.37245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.63188pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m aximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.97183pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m inimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.18202pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]e quals[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (26.40169pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][] t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (30.29158pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (8.17241pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] x, [][]ppl[] [177] Overfull \hbox (14.04181pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]s implify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (7.54207pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.75189pt too wide) in paragraph at lines 165--167 \OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Linear[ ][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expres sion[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (0.3125pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 169--171 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (11.962pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.4618pt too wide) in paragraph at lines 173--175 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.47182pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (3.46184pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel -sym, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.07217pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[] Overfull \hbox (2.18202pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (3.60226pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]r emove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.11154pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]t otal[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] ps, size[] [178] Overfull \hbox (2.2523pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (10.75203pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (29.17184pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] x, [][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (11.14146pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (19.01163pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (3.4617pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (2.10213pt too wide) in paragraph at lines 217--219 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.62177pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l inear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][ ]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (12.21039pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (10.5206pt too wide) in paragraph at lines 229--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (14.96205pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (4.28249pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]recycled[][][]congruences[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.76215pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (15.54218pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.21182pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] [179] Overfull \hbox (14.99185pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (2.71152pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.49155pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.83298pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octag onal[][][][]Shape[][][]double[][][] Overfull \hbox (9.09355pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (1.45348pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]double[] [180] Overfull \hbox (6.14346pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (16.26299pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.38298pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.23317pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.55287pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[] [181] Overfull \hbox (1.20277pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[] Overfull \hbox (15.64272pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (20.43282pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.13269pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][] Overfull \hbox (30.45222pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [182] Overfull \hbox (1.0919pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (19.02274pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.42241pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.3421pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \O T1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (7.38304pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (12.9331pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (5.70311pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (8.91173pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]space[][][]dimension ( [183] Overfull \hbox (4.67178pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]affine[][][]dimension Overfull \hbox (11.13298pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (9.45305pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]relation[] Overfull \hbox (16.68304pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (1.67188pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]constraints ( Overfull \hbox (7.22194pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]congruences ( Overfull \hbox (40.05272pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][]minimized[] Overfull \hbox (2.40276pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][] [184] Overfull \hbox (0.763pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]contains[] Overfull \hbox (36.69293pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]t opologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]is[][][]topologically[] Overfull \hbox (30.54286pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topologic al[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]topological[] Overfull \hbox (2.31358pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] Overfull \hbox (2.41344pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] [185] Overfull \hbox (17.28319pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]maximize[][][]with[] Overfull \hbox (15.62302pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]minimize[][][]with[] Overfull \hbox (9.77266pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (11.68211pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[ ][][]contains[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.55226pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]d isjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [186] Overfull \hbox (1.4427pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][ ][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[] Overfull \hbox (1.88202pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]double [][][]add[][][]congruence ( Overfull \hbox (5.02185pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]constraints ( Overfull \hbox (0.97191pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]congruences Overfull \hbox (11.9431pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (17.49316pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (15.833pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][]with[] Overfull \hbox (2.18304pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][] [187] Overfull \hbox (4.69296pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]intersect ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]intersection[] Overfull \hbox (4.38318pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]upper[][][]bound[] Overfull \hbox (10.38168pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]differenc e[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]dou ble[][][]difference[][][]assign Overfull \hbox (0.44328pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]concatena te[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]do uble[][][]concatenate[] Overfull \hbox (19.2716pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]time[][][ ]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]time[][][]elapse[][][]assign Overfull \hbox (13.02286pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]double[][][]upper[] Overfull \hbox (31.04254pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[ ][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]simplify[] Overfull \hbox (45.73259pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]unconstrain[] [188] Overfull \hbox (49.62248pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]unconstrain[] Overfull \hbox (5.38208pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]affine[][][]preimage ( Overfull \hbox (26.54332pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]bounded[][][]affine[] Overfull \hbox (9.12318pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]bounded[] Overfull \hbox (25.70305pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]generalized[] Overfull \hbox (39.96294pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]generalized[] [189] Overfull \hbox (3.34251pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (17.6024pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (10.59254pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (12.62257pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (5.77296pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]remove[] Overfull \hbox (5.4726pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (1.73296pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]expand[] [190] Overfull \hbox (8.2029pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][ ]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]fold[][][]space[] Overfull \hbox (5.873pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]map[][][]space[] Overfull \hbox (15.25288pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[][][]drop[] Overfull \hbox (1.77287pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.52318pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]external[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]external[] Overfull \hbox (19.40329pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[][] []memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]total[][][]memory[] Overfull \hbox (2.2523pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int pp l[][][][]Octagonal[][][][]Shape[][][] [191] Overfull \hbox (8.9629pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]double[][][][]B[]H[]M[]Z05[] Overfull \hbox (28.17267pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]widening[] Overfull \hbox (6.70175pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]widening[][][]assign ( Overfull \hbox (24.4117pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.29196pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.40228pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.08257pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (1.57251pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl [][][][]Octagonal[][][][]Shape[] [192] Overfull \hbox (1.56311pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][][]C[]C76[] Overfull \hbox (35.14339pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][][]C[]C76[][][]narrowing[] Overfull \hbox (9.26175pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[][ ][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]linear[][][]partition ( Overfull \hbox (16.26279pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (21.81285pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58286pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]double[] [193] Overfull \hbox (0.85263pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]assign[][][][]Octagonal[][][] Overfull \hbox (28.96295pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (34.51302pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (10.80316pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.13324pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (24.33284pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (22.66292pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (28.58264pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (26.91272pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] [194] Overfull \hbox (19.40317pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.73325pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (32.93285pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (31.26292pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (37.18265pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (35.51273pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] [195]) (./interfaceppl__Octagonal__Shape__mpq__class__tag.tex Overfull \hbox (1.09158pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.79044pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (4.43195pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.57019pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (2.1917pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.75175pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.12051pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (6.36191pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.53203pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] [196] Overfull \hbox (15.40186pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.80197pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (13.18161pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (17.33156pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.73193pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.3313pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.64151pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.47102pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.78123pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.00133pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.41159pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (3.98143pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] [197] Overfull \hbox (7.47116pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.2513pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (24.68086pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (23.291pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (13.56143pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.33154pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (13.3314pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (1.11198pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] x, [][]ppl[] [198] Overfull \hbox (4.79182pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.66122pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.96138pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.30138pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.19127pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (21.97142pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (14.74185pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.60994pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (3.58142pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (11.6315pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.23186pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[] Overfull \hbox (6.3417pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (1.33191pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[] Overfull \hbox (2.17026pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (11.47173pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] [199] Overfull \hbox (6.07129pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.44176pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.37144pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (24.74109pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (9.19116pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.79141pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.62138pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.29158pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11128pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (20.00146pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.22195pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.34146pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pq[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.05pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, [200] Overfull \hbox (0.54193pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][ ]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.52112pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.30115pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.14194pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.92197pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.59161pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.37164pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.06079pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (2.50148pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.58278pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][] Overfull \hbox (13.64336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] [201] Overfull \hbox (1.20328pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (9.49188pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]from[][][][]Grid Overfull \hbox (10.69327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.61278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (2.73277pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (1.85248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.97247pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] [202] Overfull \hbox (2.98297pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.35258pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (29.79253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.9026pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.4025pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [203] Overfull \hbox (11.24171pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (12.36171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.29253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.0919pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (7.13284pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (12.6829pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] [204] Overfull \hbox (5.45291pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (25.94154pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]space[][][]dimension Overfull \hbox (31.3016pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]affine[][][]dimension Overfull \hbox (37.7628pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (36.08287pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (2.03284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (18.70169pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]constraints Overfull \hbox (24.25175pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]congruences Overfull \hbox (3.3225pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] [205] Overfull \hbox (8.87256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (27.39282pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]contains[] Overfull \hbox (0.92271pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]is[][][] Overfull \hbox (1.49265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.86339pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] Overfull \hbox (6.96324pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] [206] Overfull \hbox (21.833pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]maximize[] Overfull \hbox (20.17282pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]minimize[] Overfull \hbox (6.39226pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] [207] Overfull \hbox (13.10172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.97186pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.9423pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.36177pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]constraint Overfull \hbox (18.91183pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]congruence Overfull \hbox (22.05167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]constraints Overfull \hbox (27.60173pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]congruences Overfull \hbox (16.4929pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] [208] Overfull \hbox (22.04297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (20.3828pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (25.93286pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (31.32278pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]intersection[] Overfull \hbox (4.13298pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]upper[] Overfull \hbox (14.31299pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]difference[] Overfull \hbox (27.0731pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpq[][][]class[][][]concatenate[] Overfull \hbox (23.20291pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]time[][][]elapse[] [209] Overfull \hbox (12.77266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.39233pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.68237pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (20.57227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.352pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]affine[][][]image ( Overfull \hbox (22.4119pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]affine[][][]preimage Overfull \hbox (21.49312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]bounded[] [210] Overfull \hbox (2.15298pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][] Overfull \hbox (52.33287pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (10.91272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.09232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (10.34235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpq[] [211] Overfull \hbox (12.37238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (0.72276pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.2224pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (28.36278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]expand[] Overfull \hbox (7.9527pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[][][]fold[] Overfull \hbox (5.6228pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]map[] Overfull \hbox (19.80269pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.52267pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpq[] [212] Overfull \hbox (2.87297pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (14.35309pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]total[] Overfull \hbox (13.52211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.9127pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (13.52246pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.03305pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]widening[] Overfull \hbox (38.56151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [213] Overfull \hbox (22.44177pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (11.67209pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.83237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.72232pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.29317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (26.29156pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]linear[][][]partition [214] Overfull \hbox (1.61258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (4.28264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.33266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (26.27225pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (14.31274pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]add[] Overfull \hbox (2.5828pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.95296pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][] Overfull \hbox (23.28305pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] [215] Overfull \hbox (36.81273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (42.73245pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (41.06253pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (6.67296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (5.00304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (5.80263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.1327pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] [216] Overfull \hbox (5.25243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (3.5825pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] ) (./interfaceppl__Octagonal__Shape__mpz__class__tag.tex [217] Overfull \hbox (10.67032pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (3.31183pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.45007pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (1.63164pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.1917pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.0004pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (5.24179pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.41191pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.8418pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.24191pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (12.62155pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.21144pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.17188pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.17188pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (7.21118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.8615pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.5214pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [218] Overfull \hbox (11.3509pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.66112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.88121pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.53152pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.29147pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (2.86131pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.35104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (23.56075pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (22.17088pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] [219] Overfull \hbox (12.44131pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.21143pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.21129pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.10118pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.6717pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.5411pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.84126pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.18126pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.07115pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (20.8513pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (13.62173pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.61021pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (1.48982pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]t[][] ph, [220] Overfull \hbox (2.4613pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (10.51138pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.11174pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[] Overfull \hbox (5.22159pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (0.21179pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[] Overfull \hbox (1.05014pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (16.10132pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.35161pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.95117pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.8817pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.25133pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.55139pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz [][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (24.18103pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.6311pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.23135pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.50127pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] [221] Overfull \hbox (4.73152pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.99117pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (18.88135pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.10184pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (10.22134pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pz[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.401pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.18103pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.58188pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.36191pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.03156pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.81158pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.94067pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] [222] Overfull \hbox (1.38136pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (25.67891pt too wide) in paragraph at lines 267--269 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) Overfull \hbox (23.4628pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.52336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.37189pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]from[][][][]Grid Overfull \hbox (9.57327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.49278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] [223] Overfull \hbox (1.61278pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (0.73248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.85248pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (3.4633pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.86298pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.23259pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (28.67253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [224] Overfull \hbox (1.78261pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.2825pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (1.40201pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (10.12172pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (11.24171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.17253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] [225] Overfull \hbox (30.45222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (6.01285pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.56291pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.33292pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (24.82155pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]space[][][]dimension Overfull \hbox (30.18161pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]affine[][][]dimension Overfull \hbox (36.6428pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]relation[] [226] Overfull \hbox (34.96288pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]relation[] Overfull \hbox (0.91284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (17.5817pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]constraints Overfull \hbox (23.13176pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]congruences Overfull \hbox (2.2025pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.75256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] [227] Overfull \hbox (26.27283pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]contains[] Overfull \hbox (62.20276pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]is[][][]topologically[] Overfull \hbox (0.37265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.7434pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (5.84325pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (20.713pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]maximize[] [228] Overfull \hbox (19.05283pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]minimize[] Overfull \hbox (4.15227pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (10.86172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.73187pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (13.10233pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]mpz[] [229] Overfull \hbox (12.24178pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]constraint Overfull \hbox (17.79184pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]congruence Overfull \hbox (20.93167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]constraints Overfull \hbox (26.48174pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]congruences Overfull \hbox (15.37291pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (20.92297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (19.2628pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (24.81287pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (30.20279pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]intersection[] [230] Overfull \hbox (3.01299pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]upper[] Overfull \hbox (13.193pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpz[][][]class[][][]difference[] Overfull \hbox (25.95311pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpz[][][]class[][][]concatenate[] Overfull \hbox (22.08292pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]time[][][]elapse[] Overfull \hbox (11.65266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.27234pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.56238pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (19.45227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [231] Overfull \hbox (2.23201pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]affine[][][]image ( Overfull \hbox (21.2919pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]affine[][][]preimage Overfull \hbox (20.37312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]bounded[] Overfull \hbox (1.03299pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (51.21288pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (9.79272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] [232] Overfull \hbox (1.97232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.8322pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (9.22235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.25238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (2.48277pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (4.1024pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (27.24278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]expand[] [233] Overfull \hbox (6.8327pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[][][]fold[] Overfull \hbox (4.5028pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]map[] Overfull \hbox (18.6827pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.40268pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.75298pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.2331pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]total[] Overfull \hbox (12.40211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.79271pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] [234] Overfull \hbox (12.40247pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.79306pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]widening[][][] Overfull \hbox (37.44151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (21.32178pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.5521pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.71237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.60233pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [235] Overfull \hbox (4.99292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.17317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (25.17157pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]linear[][][]partition Overfull \hbox (0.49258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (3.16264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (13.21266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpz[] [236] Overfull \hbox (24.03226pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (13.19275pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]add[] Overfull \hbox (1.4628pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[] Overfull \hbox (23.83298pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (22.16306pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (37.36266pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (35.69273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (41.61246pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (39.94254pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] [237] Overfull \hbox (5.55296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (3.88304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (4.68263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (3.01271pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.13243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (2.46251pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] [238]) (./interfaceppl__PIP__Decision__Node__tag.tex) (./interfaceppl__PIP__Problem__tag.tex [239] Overfull \hbox (4.04826pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]const[][][][ ]P[]I[]P[][][][]Problem[] Overfull \hbox (1.52785pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]P[]I[]P[][][][]Problem[][] []from[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[] Overfull \hbox (5.47821pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][]constraints[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]dimension[][][]type[][] d , [][]ppl[] Overfull \hbox (4.99655pt too wide) in paragraph at lines 56--58 [][][]\OT1/ptm/bc/n/10 Constraint[][][][]System[][][]const[][][]iterator[][][]t [][] first, [][]ppl[][][][]Constraint[][][][]System[][][]const[][][]iterator[][ ][]t[][] last, size[][][]t n, [][]ppl[] Overfull \hbox (1.6448pt too wide) in paragraph at lines 58--58 []\OT1/ptm/m/it/9 Builds a P[]IP prob-lem hav-ing space di-men-sion \OT1/pcr/m/ sl/9 d \OT1/ptm/m/it/9 from the se-quence of con-straints in the range $\OT1/cm r/m/n/9 [[]\OML/cmm/m/it/9 ; []\OT1/cmr/m/n/9 )$\OT1/ptm/m/it/9 ; Overfull \hbox (4.54796pt too wide) in paragraph at lines 68--70 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]number[][] []of[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P []I[]P[][][][]Problem[][][]t[][] pip, [][]ppl[] Overfull \hbox (3.73772pt too wide) in paragraph at lines 71--73 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]parameter[ ][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Proble m[][][]t[][] pip, [][]ppl[][][]dimension[] [240] Overfull \hbox (6.23784pt too wide) in paragraph at lines 74--76 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]get[][][]b ig[][][]parameter[][][]dimension[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] Overfull \hbox (7.51797pt too wide) in paragraph at lines 80--82 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]constraint [][][]at[][][]index[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[][][] t[][] pip, [][]ppl[][][]dimension[][][]type[][] i, [][]ppl[] Overfull \hbox (8.44783pt too wide) in paragraph at lines 101--103 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]t o[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] [241] Overfull \hbox (4.83315pt too wide) in paragraph at lines 180--181 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]d imensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][] Problem[][][]add[][][]space[][][]dimensions[] Overfull \vbox (12.41583pt too high) has occurred while \output is active [242] Underfull \hbox (badness 10000) detected at line 205 [][][] ) (./interfaceppl__PIP__Solution__Node__tag.tex Overfull \hbox (28.95125pt too wide) in paragraph at lines 15--16 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][] get[][][]parametric[][][]values[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]S olution[][][][]Node[][][]t[][] pip[][][]sol, [][]ppl[][][]dimension[] Overfull \hbox (0.65196pt too wide) in paragraph at lines 48--49 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][]get[][][ ]parametric[][][]values()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][]Soluti on[][][][]Node[][][]get[][][]parametric[][][]values [243] Underfull \hbox (badness 10000) detected at line 65 [][][] ) (./interfaceppl__PIP__Tree__Node__tag.tex Overfull \hbox (0.62167pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]a s[][][]decision[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[ ][][]t[][] spip[][][]tree, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Decision[] Overfull \hbox (17.25174pt too wide) in paragraph at lines 30--32 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]b egin[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pip[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (9.62175pt too wide) in paragraph at lines 33--35 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]e nd[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pi p[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [244]) (./interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag.tex Overfull \hbox (12.70763pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.57777pt too wide) in paragraph at lines 18--19 \OT1/ptm/bc/n/10 Powerset[][][][]C[][][][]Polyhedron[][][]const[][][]iterator[] [][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pit, [][]ppl[][][]const[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[][][]const[] Overfull \hbox (35.44739pt too wide) in paragraph at lines 22--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]end[][] ([][]ppl[][][]const[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.6573pt too wide) in paragraph at lines 30--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][ ][][]Pointset[][][][]Powerset[] Overfull \hbox (36.28717pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] [245] Overfull \hbox (37.94722pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.17719pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]cons t[][][][]Pointset[][][][]Powerset[] Overfull \hbox (31.45328pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3125pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (20.29312pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (12.51323pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.74301pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[ ][][][]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (46.56291pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [246] Underfull \hbox (badness 10000) detected at line 105 [][][] Overfull \hbox (40.09293pt too wide) in paragraph at lines 112--113 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (41.75298pt too wide) in paragraph at lines 122--123 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.88287pt too wide) in paragraph at lines 132--133 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag.tex Overfull \hbox (20.47737pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]iterator[] [247] Overfull \hbox (20.17732pt too wide) in paragraph at lines 24--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.57744pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.23749pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.44711pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.63354pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.95306pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (35.75342pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]iterator[] Overfull \hbox (27.97353pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]iterator[] [248] Overfull \hbox (27.80331pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.74318pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 105 [][][] Underfull \hbox (badness 10000) detected at line 108 [][][] Overfull \hbox (14.2732pt too wide) in paragraph at lines 115--116 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.93324pt too wide) in paragraph at lines 125--126 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.06314pt too wide) in paragraph at lines 135--136 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__tag.tex [249] Overfull \hbox (38.41113pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.16135pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (27.31155pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.16983pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][][]with[][][]complexity[][] Overfull \hbox (20.07114pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]space[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.3812pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.48979pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]t[][] ph) Overfull \hbox (33.96088pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]topological[][][]closure[][][]assign[][] ([][]ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.70169pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.31142pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.85016pt too wide) in paragraph at lines 61--63 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][] Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p optimum) Overfull \hbox (2.16966pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]t[][] ph, [250] Overfull \hbox (37.57085pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (35.9108pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 67--69 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (21.75092pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (15.91096pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (13.97102pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (1.04984pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (15.07112pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72144pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96101pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (25.61133pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.14104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.8517pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.68123pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.85103pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.01141pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]constrains[][] ([][]ppl[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] [251] Overfull \hbox (14.02145pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.00993pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (16.48157pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.25146pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.13107pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 123--125 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (40.90097pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 125--127 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (12.01096pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([] []ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (5.61131pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.72116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]p pl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (32.54123pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71136pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (27.69139pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96115pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.07114pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]map[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.85179pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (8.96167pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.44122pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign[ ][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.9914pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][] ppl[][][][]Pointset[][][][]Powerset[] [252] Overfull \hbox (22.42798pt too wide) in paragraph at lines 174--176 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.6074pt too wide) in paragraph at lines 177--178 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]size[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][ ][][]C[][][][]Polyhedron[][][]t[][] ps, size[] Overfull \hbox (23.49762pt too wide) in paragraph at lines 179--180 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (23.24736pt too wide) in paragraph at lines 181--182 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (15.89742pt too wide) in paragraph at lines 185--186 \OT1/ptm/bc/n/10 t[][] ps, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]t[][] cit, [][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.23778pt too wide) in paragraph at lines 189--190 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[] [253] Underfull \hbox (badness 10000) detected at line 214 [][][] Overfull \hbox (25.52202pt too wide) in paragraph at lines 221--222 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (25.74188pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.22339pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]add[] Overfull \hbox (15.2834pt too wide) in paragraph at lines 251--252 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (19.1733pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (3.18323pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] [254] Overfull \hbox (9.6629pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (37.45274pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (1.60347pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.06046pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] Overfull \hbox (3.57407pt too wide) in paragraph at lines 305--306 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity Overfull \hbox (30.19272pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (19.09297pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.64304pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] [255] Overfull \hbox (5.60315pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (6.16321pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.12292pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.443pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (45.67299pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.08215pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]is[][][]empty Overfull \hbox (25.73187pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]universe Overfull \hbox (22.262pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]is[][][]bounded Overfull \hbox (29.75294pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [256] Overfull \hbox (29.20285pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.96188pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]discrete Overfull \hbox (45.1328pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72368pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]omega[] Overfull \hbox (18.82352pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.92337pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (8.17215pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]maximize Overfull \hbox (6.51198pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]minimize [257] Overfull \hbox (24.19312pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.53294pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.99251pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (6.30196pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (4.1721pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.66255pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (0.70338pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][] [258] Overfull \hbox (3.37344pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71327pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26334pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.45303pt too wide) in paragraph at lines 497--498 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.0031pt too wide) in paragraph at lines 503--504 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.34293pt too wide) in paragraph at lines 509--510 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.89299pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (14.4829pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] [259] Overfull \hbox (20.89311pt too wide) in paragraph at lines 527--528 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.0731pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.03322pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.08302pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.73277pt too wide) in paragraph at lines 551--552 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.47244pt too wide) in paragraph at lines 557--558 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.56197pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]constrains Overfull \hbox (1.76248pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[] [260] Overfull \hbox (5.65237pt too wide) in paragraph at lines 575--576 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (19.49364pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]affine[] Overfull \hbox (2.0735pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.65324pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (42.91313pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.29298pt too wide) in paragraph at lines 605--606 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [261] Overfull \hbox (3.67284pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (15.05244pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.31233pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.30247pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.3325pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (44.36292pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.18253pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] [262] Overfull \hbox (40.3229pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.51283pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.98294pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.8828pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (13.4828pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (46.51312pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.11322pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.15227pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][] assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [263] Overfull \hbox (22.31267pt too wide) in paragraph at lines 701--702 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.85257pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[] \OT1 /pcr/m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (18.69278pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.80214pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron ( Overfull \hbox (6.33209pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (16.69203pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (9.15346pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] Overfull \hbox (2.48352pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] [264]) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__const__iterator__tag.tex Overfull \hbox (11.83833pt too wide) in paragraph at lines 1--1 []\OT1/ptm/b/n/12 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]const[][][]iterator[][][]tag In-ter-face Ref-er-ence Overfull \hbox (30.36118pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.3908pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][] []const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.1415pt too wide) in paragraph at lines 23--25 [][][]\OT1/ptm/bc/n/10 N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][] t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]const[][][]iterator[] Overfull \hbox (10.87091pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.61319pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.75244pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [265] Overfull \hbox (44.33307pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.55318pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44278pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int p pl[][][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (3.65283pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (0.51288pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][] Overfull \hbox (2.44281pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (9.50294pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]d elete[][][][]Pointset[][][][]Powerset[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__iterator__tag.tex [266] Overfull \hbox (5.65144pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (11.31146pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]begin[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68147pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]end[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.23099pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.89104pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.83087pt too wide) in paragraph at lines 31--32 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.6735pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.393pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (18.51334pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.73344pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.10309pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [267] Overfull \hbox (38.31314pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (39.97319pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.78313pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.96323pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__tag.tex Overfull \hbox (5.3514pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.03156pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (0.11113pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.76144pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] [268] Overfull \hbox (4.25085pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.56107pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]con st[][][][]Pointset[][][][]Powerset[] Overfull \hbox (10.90117pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.7413pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.2213pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.18152pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.84103pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89133pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.47177pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.91118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]maximize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 63--65 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (19.25113pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (1.19106pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (14.80135pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (21.47098pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (20.08112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerse t[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (14.15979pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 77--79 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.90953pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 79--81 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [269] Overfull \hbox (7.02145pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][] [][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (14.24141pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraint[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89172pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruence[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.1313pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (24.78162pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruences[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.89159pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.02092pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.73158pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.6412pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]difference[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (32.56111pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.73091pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44106pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.9711pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (7.3215pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.0914pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.7517pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.6313pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[] [270] Overfull \hbox (13.681pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (26.4509pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.05125pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([ ][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (21.1611pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.1513pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.19162pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (3.25156pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][ ]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85156pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.13116pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][ ]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.47151pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.36153pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (14.25142pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjuncts[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.29173pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][] widening[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (23.40161pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assi gn[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (17.43134pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.74142pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [271] Overfull \hbox (26.18124pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.50212pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (24.10284pt too wide) in paragraph at lines 201--202 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.77258pt too wide) in paragraph at lines 207--208 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (27.60335pt too wide) in paragraph at lines 213--214 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.94034pt too wide) in paragraph at lines 219--220 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity()[] Overfull \hbox (22.77408pt too wide) in paragraph at lines 219--220 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity Overfull \hbox (0.51256pt too wide) in paragraph at lines 225--226 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[] [272] Overfull \hbox (33.53291pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.68295pt too wide) in paragraph at lines 237--238 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][] Overfull \hbox (29.6431pt too wide) in paragraph at lines 243--244 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.20316pt too wide) in paragraph at lines 249--250 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68283pt too wide) in paragraph at lines 255--256 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.0029pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (1.55289pt too wide) in paragraph at lines 267--268 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (8.22359pt too wide) in paragraph at lines 273--274 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[][][]is[] [273] Overfull \hbox (4.99329pt too wide) in paragraph at lines 279--280 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.32341pt too wide) in paragraph at lines 285--286 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.91286pt too wide) in paragraph at lines 291--292 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.36276pt too wide) in paragraph at lines 297--298 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.2233pt too wide) in paragraph at lines 303--304 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.0127pt too wide) in paragraph at lines 309--310 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (27.22318pt too wide) in paragraph at lines 315--316 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.8836pt too wide) in paragraph at lines 321--322 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.86346pt too wide) in paragraph at lines 327--328 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.96332pt too wide) in paragraph at lines 333--334 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [274] Overfull \hbox (2.79358pt too wide) in paragraph at lines 339--340 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (1.1334pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (0.23303pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][] Overfull \hbox (46.57289pt too wide) in paragraph at lines 357--358 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.59236pt too wide) in paragraph at lines 363--364 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (7.00032pt too wide) in paragraph at lines 369--370 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int [275] Overfull \hbox (4.87047pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][ ]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int Overfull \hbox (3.82037pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 381--382 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (4.04024pt too wide) in paragraph at lines 387--388 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 387--388 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (34.54243pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Poly hedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (21.86333pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (27.41339pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.75322pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [276] Overfull \hbox (31.30328pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.61295pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.363pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.70284pt too wide) in paragraph at lines 441--442 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (1.4529pt too wide) in paragraph at lines 447--448 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (38.52284pt too wide) in paragraph at lines 453--454 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.93306pt too wide) in paragraph at lines 459--460 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.11305pt too wide) in paragraph at lines 465--466 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [277] Overfull \hbox (39.07317pt too wide) in paragraph at lines 471--472 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.12297pt too wide) in paragraph at lines 477--478 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (12.29271pt too wide) in paragraph at lines 483--484 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (15.91238pt too wide) in paragraph at lines 489--490 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.70338pt too wide) in paragraph at lines 495--496 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (16.20242pt too wide) in paragraph at lines 501--502 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.09232pt too wide) in paragraph at lines 507--508 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85356pt too wide) in paragraph at lines 513--514 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [278] Overfull \hbox (26.11345pt too wide) in paragraph at lines 519--520 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.81316pt too wide) in paragraph at lines 525--526 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (1.67303pt too wide) in paragraph at lines 531--532 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][] Overfull \hbox (3.85289pt too wide) in paragraph at lines 537--538 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (10.43277pt too wide) in paragraph at lines 543--544 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.49239pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [279] Overfull \hbox (2.47224pt too wide) in paragraph at lines 555--556 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.74242pt too wide) in paragraph at lines 561--562 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m /n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.37242pt too wide) in paragraph at lines 567--568 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (0.24281pt too wide) in paragraph at lines 573--574 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (31.62247pt too wide) in paragraph at lines 579--580 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.88281pt too wide) in paragraph at lines 585--586 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.67274pt too wide) in paragraph at lines 591--592 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]N[]N[]C[] [280] Overfull \hbox (0.34285pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (19.32274pt too wide) in paragraph at lines 603--604 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n /8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (27.92274pt too wide) in paragraph at lines 609--610 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.39302pt too wide) in paragraph at lines 615--616 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.27313pt too wide) in paragraph at lines 621--622 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (12.98332pt too wide) in paragraph at lines 633--634 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (17.24333pt too wide) in paragraph at lines 639--640 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [281] Overfull \hbox (21.13322pt too wide) in paragraph at lines 645--646 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.59221pt too wide) in paragraph at lines 651--652 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.75261pt too wide) in paragraph at lines 657--658 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.4125pt too wide) in paragraph at lines 663--664 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[ ] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (33.13272pt too wide) in paragraph at lines 669--670 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.24208pt too wide) in paragraph at lines 675--676 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (30.37204pt too wide) in paragraph at lines 681--682 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][] [][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.71346pt too wide) in paragraph at lines 687--688 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] [282] Overfull \hbox (6.31339pt too wide) in paragraph at lines 693--694 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.52345pt too wide) in paragraph at lines 699--700 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[][][] ) (./interfaceppl__Polyhedron__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Rational[][][][ ]Box[] Overfull \hbox (10.59242pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (11.15248pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (6.71233pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] Overfull \hbox (7.27238pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] [283] Overfull \hbox (11.9928pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[ ][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[ ][][][]Shape[] Overfull \hbox (23.9324pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Octago nal[] Overfull \hbox (3.80247pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid [] Overfull \hbox (3.2623pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedr on[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (10.18228pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (0.8408pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (10.74234pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (1.40086pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (6.25206pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (6.81212pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (11.58266pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl [][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]p pl[] Overfull \hbox (0.57098pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [284] Overfull \hbox (25.27213pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][] Polyhedron[][][]t[][] y, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.6022pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (3.38223pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (20.04214pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.82217pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (11.182pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (8.96204pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (25.62195pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (23.40198pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (26.14159pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (23.92162pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (14.20235pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (11.98238pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (13.65202pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] [285] Overfull \hbox (11.43205pt too wide) in paragraph at lines 157--158 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (10.48825pt too wide) in paragraph at lines 168--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (23.78888pt too wide) in paragraph at lines 172--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (8.35905pt too wide) in paragraph at lines 174--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.46918pt too wide) in paragraph at lines 184--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedro n[] Overfull \hbox (24.92819pt too wide) in paragraph at lines 188--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint [] [286] Overfull \hbox (9.49837pt too wide) in paragraph at lines 190--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[] Overfull \hbox (22.799pt too wide) in paragraph at lines 194--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.72865pt too wide) in paragraph at lines 196--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] dst, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 202--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 204--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 206--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 208--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] [287] Overfull \hbox (2.65869pt too wide) in paragraph at lines 230--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][] Congruence[][][][]System[] Overfull \hbox (2.68785pt too wide) in paragraph at lines 232--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c onstraints[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Constraint[] Overfull \hbox (15.98848pt too wide) in paragraph at lines 234--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c ongruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Congruence[] Overfull \hbox (8.73904pt too wide) in paragraph at lines 250--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]abo ve[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (9.34877pt too wide) in paragraph at lines 252--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]bel ow[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (14.6082pt too wide) in paragraph at lines 254--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (1.86832pt too wide) in paragraph at lines 256--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][] ([][]ppl[][] []const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][] []Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (12.94815pt too wide) in paragraph at lines 258--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.84818pt too wide) in paragraph at lines 260--262 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][] []point[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Linear[][][][]Expression[] [288] Overfull \hbox (11.01836pt too wide) in paragraph at lines 265--266 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]strictly[][][]contains[][ ][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl [][][]const[][][][]Polyhedron[] Overfull \hbox (9.6285pt too wide) in paragraph at lines 267--268 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]fro m[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][ ]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.87866pt too wide) in paragraph at lines 299--300 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]refine[][][]with[][][]con gruences[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][] []Congruence[][][][]System[] [289] Overfull \hbox (2.82346pt too wide) in paragraph at lines 315--316 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][ ][]dimensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimens ion[][][]type[][] ds[]$ $[], Overfull \hbox (4.84868pt too wide) in paragraph at lines 317--318 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]affine[][][]image[][] ([] []ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.24907pt too wide) in paragraph at lines 323--324 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][] preimage[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] var, [][]ppl[] Overfull \hbox (0.58711pt too wide) in paragraph at lines 325--326 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]image[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[ ][][]type[][] var, enum Overfull \hbox (6.12796pt too wide) in paragraph at lines 327--328 \OT1/ptm/bc/n/10 enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-s ym, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] [][]const[][][][]Coefficient[] Overfull \hbox (0.9884pt too wide) in paragraph at lines 331--332 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [] []ppl[][][]const[][][][]Linear[] Overfull \hbox (12.40506pt too wide) in paragraph at lines 343--344 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]remove[][][]space[][][]di mensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] ds[]$ $[], size[] Overfull \hbox (12.1548pt too wide) in paragraph at lines 347--348 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]map[][][]space[][][]dimen sions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][ ]type[][] maps[]$ $[], size[] [290] Overfull \hbox (7.10867pt too wide) in paragraph at lines 371--372 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cm sy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (21.54861pt too wide) in paragraph at lines 375--376 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (6.11879pt too wide) in paragraph at lines 377--378 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[] Overfull \hbox (7.50677pt too wide) in paragraph at lines 379--380 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]generators[][] ( [][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]G enerator[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs) [291] Overfull \hbox (14.67685pt too wide) in paragraph at lines 393--394 [][][]\OT1/ptm/bc/n/10 Integer[][][][]Type[][][][]Overflow[][] o, const [][]ppl [][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 pcs, un-signed complexity[][][]threshold, Overfull \hbox (28.9686pt too wide) in paragraph at lines 395--396 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widen ing[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.51877pt too wide) in paragraph at lines 397--398 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][] assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]p pl[][][]const[][][][]Polyhedron[] Overfull \hbox (1.88829pt too wide) in paragraph at lines 403--404 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] Overfull \hbox (7.1482pt too wide) in paragraph at lines 405--406 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[] [][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (25.31825pt too wide) in paragraph at lines 407--408 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (5.86842pt too wide) in paragraph at lines 409--410 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (7.98883pt too wide) in paragraph at lines 411--412 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] [292] Overfull \hbox (31.4188pt too wide) in paragraph at lines 415--416 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.96896pt too wide) in paragraph at lines 417--418 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (1.31215pt too wide) in paragraph at lines 436--437 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]space [][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[ ][][]from[][][]space[][][]dimension ( Overfull \hbox (0.10345pt too wide) in paragraph at lines 456--457 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]C[][][] [293] Underfull \hbox (badness 10000) detected at line 462 [][][] Overfull \hbox (10.74222pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Constraint[][][][]System Overfull \hbox (11.32346pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Constraint[] Underfull \hbox (badness 10000) detected at line 487 [][][] Overfull \hbox (16.29228pt too wide) in paragraph at lines 494--495 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Congruence[][][][]System Overfull \hbox (16.87352pt too wide) in paragraph at lines 504--505 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 512 [][][] [294] Overfull \hbox (15.75209pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension Overfull \hbox (14.45259pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C [][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (5.94331pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 555 [][][] Overfull \hbox (12.08365pt too wide) in paragraph at lines 562--563 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[] Overfull \hbox (35.3634pt too wide) in paragraph at lines 572--573 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Constraint[] [295] Underfull \hbox (badness 10000) detected at line 580 [][][] Overfull \hbox (17.63371pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[] Overfull \hbox (40.91347pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 605 [][][] Overfull \hbox (37.75237pt too wide) in paragraph at lines 612--613 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] [][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]N []N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (3.98338pt too wide) in paragraph at lines 632--633 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 638 [][][] [296] Overfull \hbox (13.58339pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 661 [][][] [297] [298] Underfull \vbox (badness 10000) has occurred while \output is active [299] Overfull \hbox (9.58202pt too wide) in paragraph at lines 918--919 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]strictly[][][]contains[][][][]Pol yhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]strictly[][][]contain s[][][][]Polyhedron ( Overfull \hbox (0.73216pt too wide) in paragraph at lines 928--929 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][ ]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]is[][][]disjoint[ ][][]from[][][][]Polyhedron ( [300] [301] Underfull \hbox (badness 10000) detected at line 1024 [][][] Underfull \hbox (badness 10000) detected at line 1037 [][][] [302] Overfull \hbox (6.30173pt too wide) in paragraph at lines 1114--1115 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]context[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]simplify[][][]usi ng[][][]context[][][]assign Overfull \hbox (8.51176pt too wide) in paragraph at lines 1144--1145 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sion()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[] [][]dimension ( Overfull \hbox (7.60165pt too wide) in paragraph at lines 1154--1155 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[ ][][]dimensions [303] [304] Overfull \hbox (2.74211pt too wide) in paragraph at lines 1275--1276 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generalized[][][]affine[ ][][]preimage ( Underfull \vbox (badness 10000) has occurred while \output is active [305] Overfull \hbox (6.78322pt too wide) in paragraph at lines 1298--1299 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]imag e[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generaliz ed[][][]affine[][][]image[] Overfull \hbox (35.44312pt too wide) in paragraph at lines 1319--1320 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (12.11325pt too wide) in paragraph at lines 1350--1351 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][]sp ace[][][]dimensions[][][]and[] Overfull \hbox (14.14328pt too wide) in paragraph at lines 1360--1361 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][] space[][][]dimensions[][][]and[] [306] Overfull \hbox (26.81181pt too wide) in paragraph at lines 1380--1381 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]remove[][][]high er[][][]space[][][]dimensions Overfull \hbox (7.42976pt too wide) in paragraph at lines 1396--1397 []\OT1/ptm/bc/n/10 The par-tial func-tion is de-fined on di-men-sion \OT1/pcr/m /n/10 i \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 i $\OML/cmm/m/it/10 <$ \OT1/pcr/m/n /10 n \OT1/ptm/bc/n/10 and \OT1/pcr/m/n/10 maps[]i[] != ppl[][][]not[][][]a[][] []dimension\OT1/ptm/bc/n/10 ; [307] Overfull \hbox (4.26228pt too wide) in paragraph at lines 1472--1473 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhe dron[][][]from[][][][]Generator[][][][]System Overfull \hbox (4.84352pt too wide) in paragraph at lines 1482--1483 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Pol yhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1490 [][][] Overfull \hbox (5.60371pt too wide) in paragraph at lines 1497--1498 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Generator[] [308] Overfull \hbox (28.88347pt too wide) in paragraph at lines 1507--1508 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[] C[][][][]Polyhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1515 [][][] [309] Underfull \hbox (badness 10000) detected at line 1568 [][][] [310] Overfull \hbox (22.67305pt too wide) in paragraph at lines 1626--1627 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][ ][]B[]H[]R[]Z03[][][]widening[][][]assign[] Overfull \hbox (9.79324pt too wide) in paragraph at lines 1636--1637 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign[] [][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][][]H79[][ ][]widening[][][]assign[][][]with[] Overfull \hbox (6.43242pt too wide) in paragraph at lines 1666--1667 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]limited[] [311] Overfull \hbox (3.15262pt too wide) in paragraph at lines 1676--1677 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]limited[][][][]H79[] Overfull \hbox (49.62305pt too wide) in paragraph at lines 1686--1687 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]lim ited[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (14.66322pt too wide) in paragraph at lines 1696--1697 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (13.67258pt too wide) in paragraph at lines 1706--1707 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]bounded[] Overfull \hbox (10.39278pt too wide) in paragraph at lines 1716--1717 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]bounded[][][][]H79[] [312] Overfull \hbox (56.8632pt too wide) in paragraph at lines 1726--1727 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bou nded[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (21.90338pt too wide) in paragraph at lines 1736--1737 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bounded[][][ ][]H79[][][]extrapolation[] Overfull \hbox (2.68365pt too wide) in paragraph at lines 1770--1771 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (9.44359pt too wide) in paragraph at lines 1776--1777 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] [313] Overfull \hbox (3.80365pt too wide) in paragraph at lines 1782--1783 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (10.56358pt too wide) in paragraph at lines 1788--1789 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.12337pt too wide) in paragraph at lines 1794--1795 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (23.24336pt too wide) in paragraph at lines 1806--1807 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (1.20328pt too wide) in paragraph at lines 1812--1813 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (4.67235pt too wide) in paragraph at lines 1830--1831 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][] Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [314] Overfull \hbox (19.11229pt too wide) in paragraph at lines 1836--1837 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[] N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (9.09355pt too wide) in paragraph at lines 1842--1843 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][ ][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (33.1335pt too wide) in paragraph at lines 1848--1849 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []N[]N[]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (36.272pt too wide) in paragraph at lines 1854--1855 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 1860--1861 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[ ]N[]C[][][][]Polyhedron[][][]from[][][][]Grid[][][]with[] Overfull \hbox (27.87338pt too wide) in paragraph at lines 1866--1867 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]Rational[] Overfull \hbox (10.6333pt too wide) in paragraph at lines 1872--1873 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (18.7929pt too wide) in paragraph at lines 1878--1879 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[] [315] Overfull \hbox (20.75282pt too wide) in paragraph at lines 1884--1885 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.71288pt too wide) in paragraph at lines 1890--1891 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][] Overfull \hbox (21.87282pt too wide) in paragraph at lines 1896--1897 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.7126pt too wide) in paragraph at lines 1902--1903 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.75252pt too wide) in paragraph at lines 1908--1909 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][] Overfull \hbox (27.8326pt too wide) in paragraph at lines 1914--1915 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.99251pt too wide) in paragraph at lines 1920--1921 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [316] Overfull \hbox (12.1634pt too wide) in paragraph at lines 1926--1927 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]C[][][][]Polyhedron[][][]from[][][][]Double[] Overfull \hbox (4.52333pt too wide) in paragraph at lines 1932--1933 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (5.76308pt too wide) in paragraph at lines 1938--1939 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]C[][][][]Polyhedron[][][]from[] Overfull \hbox (7.723pt too wide) in paragraph at lines 1944--1945 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.68279pt too wide) in paragraph at lines 1950--1951 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.72273pt too wide) in paragraph at lines 1956--1957 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] [317] Overfull \hbox (0.76205pt too wide) in paragraph at lines 1980--1981 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]upper[][][]bound[][][]assign[][][ ]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact ( Overfull \hbox (2.99208pt too wide) in paragraph at lines 1998--1999 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[][][]som e[][][]non[][][]integer[][][]points Overfull \hbox (20.5736pt too wide) in paragraph at lines 2004--2005 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[] [][]some[][][]non[][][]integer[][][]points[] Overfull \hbox (3.43185pt too wide) in paragraph at lines 2010--2011 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[][ ][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]widening[][][]assig n[][][]with[][][]tokens ( [318] Overfull \hbox (1.1535pt too wide) in paragraph at lines 2058--2059 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]C[][][] Overfull \hbox (38.5021pt too wide) in paragraph at lines 2064--2065 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]C[][][][]Polyhedron [319] Overfull \hbox (0.23343pt too wide) in paragraph at lines 2070--2071 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (3.36351pt too wide) in paragraph at lines 2076--2077 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]P[]R[] Overfull \hbox (2.5233pt too wide) in paragraph at lines 2082--2083 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]C[] Overfull \hbox (0.85338pt too wide) in paragraph at lines 2088--2089 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]C[] Overfull \hbox (4.48323pt too wide) in paragraph at lines 2094--2095 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]M[] Overfull \hbox (2.81331pt too wide) in paragraph at lines 2100--2101 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]P[] [320] Overfull \hbox (2.0735pt too wide) in paragraph at lines 2130--2131 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][] Overfull \hbox (0.40358pt too wide) in paragraph at lines 2136--2137 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][] Overfull \hbox (1.15343pt too wide) in paragraph at lines 2142--2143 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[] Overfull \hbox (2.36351pt too wide) in paragraph at lines 2148--2149 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[][][] Overfull \hbox (3.4433pt too wide) in paragraph at lines 2154--2155 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.77338pt too wide) in paragraph at lines 2160--2161 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[] Overfull \hbox (5.40323pt too wide) in paragraph at lines 2166--2167 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] [321] Overfull \hbox (3.7333pt too wide) in paragraph at lines 2172--2173 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Rational__Box__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhe dron[] Overfull \hbox (3.3823pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box[][][ ]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[ ]D[][][][]Shape[] Overfull \hbox (29.76184pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][ ][]Octagonal[] Overfull \hbox (1.04219pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Ra tional[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]pp l[] [322] Overfull \hbox (9.09174pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational [][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][ ]const[] Overfull \hbox (16.01172pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (4.64206pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Double[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational[] [][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]c onst[] Overfull \hbox (2.97215pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][] []Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[] Overfull \hbox (6.40042pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (5.09135pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constra int[] Overfull \hbox (18.39198pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congrue nce[] Overfull \hbox (1.71178pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generato r[] Overfull \hbox (12.5317pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]relation[][][]wi th[][][][]Congruence[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[ ][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (7.53172pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (7.56088pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]constraints[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (20.86151pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]congruences[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (13.61208pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]above[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (14.2218pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]below[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (18.62187pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]upper[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (18.37173pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]lower[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] [323] Overfull \hbox (6.74135pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (5.0813pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (19.48123pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (17.82118pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.13179pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]frequency[][] ([ ][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.61139pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]contains[][][][] Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (11.72083pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]strictly[][][]co ntains[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][] []Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (10.33096pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint [][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[] [][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.45107pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]constraints[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (14.7517pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]congruences[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (4.91129pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]simplify[][][]us ing[][][]context[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (7.69649pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][ ]space[][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.72171pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]affine[][][]imag e[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension [][][]type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounded[][][]aff ine[][][]preimage[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (5.46014pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]image[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]p pl[][][]dimension[][][]type[][] var, enum [324] Overfull \hbox (5.86143pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.69801pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]fold[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]dimension[][][]type[][] ds[]$ $[], size[] Overfull \hbox (8.29143pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]wi dening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Bo x[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.6215pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]widening[][][]as sign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x , [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (4.64108pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C []C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][ ][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (2.96216pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] [325] Overfull \hbox (11.43164pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (9.21167pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.01144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (14.79147pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (19.75078pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (17.5308pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (5.59184pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (3.37187pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (5.04152pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (2.82155pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] [326] Overfull \hbox (2.61357pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.85356pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.17328pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (20.29327pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (1.72226pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[ ][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [327] Overfull \hbox (6.14346pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rati onal[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (45.1534pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.0333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (33.32191pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational [][][][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (24.9233pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (15.8428pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (16.9628pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (6.4825pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] [328] Overfull \hbox (7.6025pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] Overfull \hbox (9.21332pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Rational[][][][]Box[][][]from[][][][]Double[] Overfull \hbox (2.81299pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (10.7327pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Rational[][][][]Box[] Overfull \hbox (7.79213pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Constraint[][][][]System Overfull \hbox (13.3422pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Congruence[][][][]System Overfull \hbox (1.3122pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][ ]Box[][][]from[][][][]Generator[][][][]System [329] Overfull \hbox (1.10178pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]constraints ( Overfull \hbox (6.65184pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]congruences ( [330] Overfull \hbox (4.07193pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]topological[][][]closure [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]topolog ical[][][]closure[][][]assign ( [331] Overfull \hbox (22.7833pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]strictly[][][]contains[] [][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box [][][]strictly[][][]contains[][][][]Rational[] Overfull \hbox (13.93344pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint[][][]fr om[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][ ]Box[][][]is[][][]disjoint[][][]from[][][][]Rational[] [332] [333] Overfull \hbox (6.71194pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]upper[][][]bound[][][]as sign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[] [][]upper[][][]bound[][][]assign[][][]if[][][]exact Overfull \hbox (2.03311pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][][ ]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][ ]simplify[][][]using[][][]context[][][] Overfull \hbox (14.46165pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncons train[][][]space[][][]dimension Overfull \hbox (23.15155pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncon strain[][][]space[][][]dimensions [334] Overfull \hbox (8.692pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (22.33311pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]generalized[][][]affine[][][]image[] [335] Overfull \hbox (9.71298pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]generalized[][][]affine[] Overfull \hbox (10.38313pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Bo x[][][]add[][][]space[][][]dimensions[] Overfull \hbox (12.41316pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]add[][][]space[][][]dimensions[] Overfull \hbox (0.46318pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][] []remove[][][]higher[][][]space[] [336] Overfull \hbox (18.54198pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[ ][][]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (4.44347pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (14.72318pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][] [][]Box[][][][]C[]C76[][][]widening[][][]assign[] Overfull \hbox (9.38174pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]w idening[][][]assign[][][]with[][][]tokens [337] Overfull \hbox (8.08255pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[] [][][]Rational[][][][]Box[][][]limited[] Overfull \hbox (41.67317pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]limited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (8.37337pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Constraint[] Overfull \hbox (13.92343pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Congruence[] [338] Overfull \hbox (1.89343pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][] [][]Box[][][]recycle[][][][]Generator[] Overfull \hbox (28.92343pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (27.25351pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (33.17323pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]Rational[] Overfull \hbox (31.50331pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]Rational[] [339] Overfull \hbox (37.52344pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (35.85352pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (0.49321pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.7033pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[][][] [340]) [341] [342] (./refman.ind Overfull \hbox (1.62616pt too wide) in paragraph at lines 14--16 []| \OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][ ][][]Overflow, [][]33[][] Overfull \hbox (12.22548pt too wide) in paragraph at lines 16--18 []| \OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][ ][][]Representation, Overfull \hbox (0.87602pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[][][] const[][][]iterator[][][] Overfull \hbox (2.72694pt too wide) in paragraph at lines 50--51 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign[] Overfull \hbox (2.57677pt too wide) in paragraph at lines 56--57 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign[] Overfull \hbox (2.4369pt too wide) in paragraph at lines 65--66 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wid ening[][][]assign[][][]with[] Overfull \hbox (1.86687pt too wide) in paragraph at lines 89--90 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[] Overfull \hbox (1.86687pt too wide) in paragraph at lines 92--93 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[] Overfull \hbox (6.34544pt too wide) in paragraph at lines 137--138 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points Overfull \hbox (15.32695pt too wide) in paragraph at lines 140--141 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points[] [343] Overfull \hbox (9.93654pt too wide) in paragraph at lines 161--162 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image[][][]lhs[] Overfull \hbox (7.43665pt too wide) in paragraph at lines 167--168 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage[] Overfull \hbox (3.26663pt too wide) in paragraph at lines 191--192 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoi nt[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.46648pt too wide) in paragraph at lines 203--204 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (21.46648pt too wide) in paragraph at lines 206--207 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (5.91655pt too wide) in paragraph at lines 209--210 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (5.91655pt too wide) in paragraph at lines 212--213 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (3.39668pt too wide) in paragraph at lines 215--216 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][] Overfull \hbox (3.39668pt too wide) in paragraph at lines 218--219 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][] Overfull \hbox (19.2452pt too wide) in paragraph at lines 260--261 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hi gher[][][]space[][][]dimensions Overfull \hbox (5.53494pt too wide) in paragraph at lines 266--267 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][] using[][][]context[][][]assign Overfull \hbox (4.6565pt too wide) in paragraph at lines 272--273 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][] contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.24544pt too wide) in paragraph at lines 277--279 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z 05[][][]widening[][][]assign, Overfull \hbox (22.72694pt too wide) in paragraph at lines 279--281 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z 05[][][]widening[][][]assign[] Overfull \hbox (16.09526pt too wide) in paragraph at lines 281--283 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []extrapolation[][][]assign, Overfull \hbox (22.57677pt too wide) in paragraph at lines 283--285 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []extrapolation[][][]assign[] Overfull \hbox (4.32553pt too wide) in paragraph at lines 285--287 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []narrowing[][][]assign, Overfull \hbox (6.59566pt too wide) in paragraph at lines 287--289 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]w idening[][][]assign, [][]53[][] Overfull \hbox (1.05714pt too wide) in paragraph at lines 289--291 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]w idening[][][]assign[] [344] Overfull \hbox (13.27562pt too wide) in paragraph at lines 301--303 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]rec ycled[][][]congruences, Overfull \hbox (6.6253pt too wide) in paragraph at lines 303--305 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]rec ycled[][][]constraints, Overfull \hbox (3.82692pt too wide) in paragraph at lines 305--307 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]spa ce[][][]dimensions[] Overfull \hbox (3.82692pt too wide) in paragraph at lines 307--309 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]spa ce[][][]dimensions[] Overfull \hbox (8.55576pt too wide) in paragraph at lines 319--321 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][ ]affine[][][]image, [][]50[][] Overfull \hbox (9.30563pt too wide) in paragraph at lines 321--323 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][ ]affine[][][]preimage, Overfull \hbox (17.61546pt too wide) in paragraph at lines 331--333 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][] [][]B[]D[][][][]Shape[][][]double, Overfull \hbox (8.66544pt too wide) in paragraph at lines 333--335 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][] []integer[][][]point, [][]46[][] Overfull \hbox (7.27727pt too wide) in paragraph at lines 337--339 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]so me[][][]non[][][]integer[] Overfull \hbox (7.27727pt too wide) in paragraph at lines 339--341 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]so me[][][]non[][][]integer[] Overfull \hbox (9.83557pt too wide) in paragraph at lines 341--343 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]equals[][][] []B[]D[][][][]Shape[][][]double, Overfull \hbox (7.74556pt too wide) in paragraph at lines 343--345 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][] space[][][]dimension, Overfull \hbox (13.01532pt too wide) in paragraph at lines 345--347 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]external[][] []memory[][][]in[][][]bytes, Overfull \hbox (11.03534pt too wide) in paragraph at lines 347--349 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]fold[][][]sp ace[][][]dimensions, [][]51[][] Overfull \hbox (8.18524pt too wide) in paragraph at lines 351--353 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]image, Overfull \hbox (14.66675pt too wide) in paragraph at lines 353--355 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]image[] Overfull \hbox (20.95514pt too wide) in paragraph at lines 355--357 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]preimage, Overfull \hbox (27.43665pt too wide) in paragraph at lines 357--359 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]preimage[] Overfull \hbox (20.11514pt too wide) in paragraph at lines 363--365 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]min imized[][][]congruences, Overfull \hbox (13.46483pt too wide) in paragraph at lines 365--367 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]min imized[][][]constraints, Overfull \hbox (23.26663pt too wide) in paragraph at lines 373--375 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disj oint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.13515pt too wide) in paragraph at lines 377--379 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]topo logically[][][]closed, Overfull \hbox (41.46648pt too wide) in paragraph at lines 381--383 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (41.46648pt too wide) in paragraph at lines 383--385 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (25.91655pt too wide) in paragraph at lines 385--387 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (25.91655pt too wide) in paragraph at lines 387--389 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (19.79668pt too wide) in paragraph at lines 389--391 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (19.79668pt too wide) in paragraph at lines 391--393 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (0.1253pt too wide) in paragraph at lines 395--397 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]map[][][]spa ce[][][]dimensions, Overfull \hbox (4.9353pt too wide) in paragraph at lines 399--401 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize[][] []with[][][]point, [][]47[][] Overfull \hbox (3.27525pt too wide) in paragraph at lines 403--405 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize[][] []with[][][]point, [][]47[][] Overfull \hbox (1.7756pt too wide) in paragraph at lines 405--407 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]congruence, Overfull \hbox (5.6655pt too wide) in paragraph at lines 407--409 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]congruences, Overfull \hbox (7.14531pt too wide) in paragraph at lines 409--411 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]constraint, [][]48[][] Overfull \hbox (11.0352pt too wide) in paragraph at lines 411--413 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]constraints, [][]48[][] Overfull \hbox (11.78532pt too wide) in paragraph at lines 413--415 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Congruence, Overfull \hbox (5.13501pt too wide) in paragraph at lines 415--417 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Constraint, Overfull \hbox (3.44522pt too wide) in paragraph at lines 417--419 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Generator, Overfull \hbox (2.6673pt too wide) in paragraph at lines 419--421 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][] higher[][][]space[][][] Overfull \hbox (12.5954pt too wide) in paragraph at lines 421--423 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][] space[][][]dimensions, Overfull \hbox (5.91682pt too wide) in paragraph at lines 423--425 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][] []using[][][]context[] Overfull \hbox (0.21667pt too wide) in paragraph at lines 427--429 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][] []contains[][][][]B[]D[][][] Overfull \hbox (14.01505pt too wide) in paragraph at lines 431--433 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]topological[ ][][]closure[][][]assign, Overfull \hbox (10.7553pt too wide) in paragraph at lines 433--435 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]total[][][]m emory[][][]in[][][]bytes, [][]52[][] [345] Overfull \hbox (25.6751pt too wide) in paragraph at lines 435--437 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[ ][][]space[][][]dimension, Overfull \hbox (29.56499pt too wide) in paragraph at lines 437--439 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[ ][][]space[][][]dimensions, Overfull \hbox (4.09723pt too wide) in paragraph at lines 441--443 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]upper[][][]b ound[][][]assign[][][]if[] Overfull \hbox (1.61693pt too wide) in paragraph at lines 445--447 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][] []assign[][][]with[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 449--451 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 451--453 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 453--455 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 455--457 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.987pt too wide) in paragraph at lines 457--459 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (2.9973pt too wide) in paragraph at lines 467--469 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 469--471 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 471--473 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 473--475 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 475--477 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 477--479 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (7.36572pt too wide) in paragraph at lines 479--481 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]C[][][][]Polyhedron, Overfull \hbox (13.84723pt too wide) in paragraph at lines 481--483 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.78728pt too wide) in paragraph at lines 483--485 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Congruence[] Overfull \hbox (2.73697pt too wide) in paragraph at lines 485--487 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Constraint[][][] Overfull \hbox (0.6958pt too wide) in paragraph at lines 487--489 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Double[][][][]Box, Overfull \hbox (7.1773pt too wide) in paragraph at lines 489--491 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Double[][][][]Box[] Overfull \hbox (1.04718pt too wide) in paragraph at lines 491--493 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Generator[][][] Overfull \hbox (0.77716pt too wide) in paragraph at lines 495--497 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Grid[][][]with[][][] Overfull \hbox (21.80566pt too wide) in paragraph at lines 497--499 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (28.28717pt too wide) in paragraph at lines 499--501 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.16716pt too wide) in paragraph at lines 501--503 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 503--505 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 505--507 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 507--509 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 509--511 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 511--513 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (5.14548pt too wide) in paragraph at lines 513--515 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Rational[][][][]Box, Overfull \hbox (11.62698pt too wide) in paragraph at lines 515--517 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Rational[][][][]Box[] Overfull \hbox (18.4653pt too wide) in paragraph at lines 517--519 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][]space[][][]dimension, Overfull \hbox (15.06718pt too wide) in paragraph at lines 519--521 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Congruence[] Overfull \hbox (8.41687pt too wide) in paragraph at lines 521--523 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Constraint[] Overfull \hbox (6.72708pt too wide) in paragraph at lines 523--525 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 525--527 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 527--529 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 529--531 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 531--533 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.60512pt too wide) in paragraph at lines 533--535 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]double, [][]55[][] Overfull \hbox (10.20512pt too wide) in paragraph at lines 535--537 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]double[][][]2, [][]56[][] Overfull \hbox (7.98515pt too wide) in paragraph at lines 539--541 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]double[][][]2, [][]56[][] Overfull \hbox (3.1751pt too wide) in paragraph at lines 550--551 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimension Overfull \hbox (7.06499pt too wide) in paragraph at lines 553--554 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimensions [346] Overfull \hbox (2.24516pt too wide) in paragraph at lines 565--566 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][] assign[][][]with[][][]tokens Overfull \hbox (7.34506pt too wide) in paragraph at lines 571--572 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign Overfull \hbox (16.32657pt too wide) in paragraph at lines 574--575 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[] Overfull \hbox (7.19489pt too wide) in paragraph at lines 577--578 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign Overfull \hbox (16.17639pt too wide) in paragraph at lines 580--581 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[] Overfull \hbox (16.03653pt too wide) in paragraph at lines 589--590 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[] Overfull \hbox (4.37524pt too wide) in paragraph at lines 607--608 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]congruences Overfull \hbox (1.02655pt too wide) in paragraph at lines 613--614 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (1.02655pt too wide) in paragraph at lines 616--617 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (0.40526pt too wide) in paragraph at lines 637--638 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]preimage Overfull \hbox (8.25665pt too wide) in paragraph at lines 652--653 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.87689pt too wide) in paragraph at lines 661--662 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.87689pt too wide) in paragraph at lines 664--665 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.47676pt too wide) in paragraph at lines 667--668 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (4.11494pt too wide) in paragraph at lines 673--674 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes Overfull \hbox (8.26637pt too wide) in paragraph at lines 685--686 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image[] Overfull \hbox (12.05476pt too wide) in paragraph at lines 688--689 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (21.03627pt too wide) in paragraph at lines 691--692 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (11.21477pt too wide) in paragraph at lines 700--701 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]congruences Overfull \hbox (4.56445pt too wide) in paragraph at lines 703--704 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]constraints [347] Overfull \hbox (16.86626pt too wide) in paragraph at lines 715--716 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (35.0661pt too wide) in paragraph at lines 727--728 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (35.0661pt too wide) in paragraph at lines 730--731 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (19.51617pt too wide) in paragraph at lines 733--734 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (19.51617pt too wide) in paragraph at lines 736--737 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (13.3963pt too wide) in paragraph at lines 739--740 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (13.3963pt too wide) in paragraph at lines 742--743 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (2.88495pt too wide) in paragraph at lines 775--776 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Congruence Overfull \hbox (32.84482pt too wide) in paragraph at lines 784--785 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions Overfull \hbox (3.69502pt too wide) in paragraph at lines 787--788 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]space[][][]dimensions Overfull \hbox (3.11646pt too wide) in paragraph at lines 790--791 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simpli fy[][][]using[][][]context[][][] Overfull \hbox (18.25612pt too wide) in paragraph at lines 796--797 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.72694pt too wide) in paragraph at lines 801--803 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.72694pt too wide) in paragraph at lines 803--805 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.57677pt too wide) in paragraph at lines 805--807 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (7.57677pt too wide) in paragraph at lines 807--809 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (17.92516pt too wide) in paragraph at lines 809--811 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]narrowing[][][]assign, Overfull \hbox (8.17526pt too wide) in paragraph at lines 811--813 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H7 9[][][]widening[][][]assign, Overfull \hbox (14.65677pt too wide) in paragraph at lines 813--815 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H7 9[][][]widening[][][]assign[] Overfull \hbox (1.57555pt too wide) in paragraph at lines 819--821 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]congruences, [][]69[][] Overfull \hbox (26.87524pt too wide) in paragraph at lines 825--827 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]recycled[][][]congruences, Overfull \hbox (20.22493pt too wide) in paragraph at lines 827--829 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]recycled[][][]constraints, Overfull \hbox (17.42654pt too wide) in paragraph at lines 829--831 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (17.42654pt too wide) in paragraph at lines 831--833 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (1.34528pt too wide) in paragraph at lines 833--835 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affi ne[][][]dimension, [][]66[][] Overfull \hbox (10.13536pt too wide) in paragraph at lines 843--845 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ded[][][]affine[][][]image, Overfull \hbox (22.90526pt too wide) in paragraph at lines 845--847 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ded[][][]affine[][][]preimage, [348] Overfull \hbox (0.64575pt too wide) in paragraph at lines 847--849 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ds[][][]from[][][]above, Overfull \hbox (1.25548pt too wide) in paragraph at lines 849--851 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ds[][][]from[][][]below, Overfull \hbox (9.35504pt too wide) in paragraph at lines 851--853 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]conc atenate[][][]assign, [][]70[][] Overfull \hbox (6.87675pt too wide) in paragraph at lines 855--857 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]cont ains[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.24504pt too wide) in paragraph at lines 857--859 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]cont ains[][][]integer[][][]point, Overfull \hbox (2.43513pt too wide) in paragraph at lines 859--861 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]diff erence[][][]assign, [][]70[][] Overfull \hbox (20.87689pt too wide) in paragraph at lines 861--863 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (20.87689pt too wide) in paragraph at lines 863--865 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (2.69687pt too wide) in paragraph at lines 865--867 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equa ls[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (21.34518pt too wide) in paragraph at lines 867--869 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expa nd[][][]space[][][]dimension, Overfull \hbox (0.60683pt too wide) in paragraph at lines 869--871 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]exte rnal[][][]memory[][][] Overfull \hbox (12.61494pt too wide) in paragraph at lines 871--873 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold [][][]space[][][]dimensions, Overfull \hbox (0.2267pt too wide) in paragraph at lines 875--877 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 877--879 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 879--881 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 881--883 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (33.71477pt too wide) in paragraph at lines 887--889 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[ ][][]minimized[][][]congruences, Overfull \hbox (27.06445pt too wide) in paragraph at lines 889--891 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[ ][][]minimized[][][]constraints, Overfull \hbox (8.81485pt too wide) in paragraph at lines 891--893 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]inte rsection[][][]assign, [][]70[][] Overfull \hbox (1.60646pt too wide) in paragraph at lines 897--899 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] [][]disjoint[][][]from[][][][]B[] Overfull \hbox (13.73477pt too wide) in paragraph at lines 901--903 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] [][]topologically[][][]closed, Overfull \hbox (2.44666pt too wide) in paragraph at lines 905--907 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (2.44666pt too wide) in paragraph at lines 907--909 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (39.51617pt too wide) in paragraph at lines 909--911 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (39.51617pt too wide) in paragraph at lines 911--913 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (33.3963pt too wide) in paragraph at lines 913--915 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (33.3963pt too wide) in paragraph at lines 915--917 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (13.72493pt too wide) in paragraph at lines 919--921 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]map[ ][][]space[][][]dimensions, Overfull \hbox (6.51491pt too wide) in paragraph at lines 923--925 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maxi mize[][][]with[][][]point, Overfull \hbox (4.85486pt too wide) in paragraph at lines 927--929 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]mini mize[][][]with[][][]point, Overfull \hbox (15.37523pt too wide) in paragraph at lines 929--931 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]congruence, Overfull \hbox (19.26512pt too wide) in paragraph at lines 931--933 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]congruences, Overfull \hbox (8.72491pt too wide) in paragraph at lines 933--935 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]constraint, Overfull \hbox (12.6148pt too wide) in paragraph at lines 935--937 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]constraints, Overfull \hbox (25.38495pt too wide) in paragraph at lines 937--939 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Congruence, Overfull \hbox (18.73463pt too wide) in paragraph at lines 939--941 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Constraint, Overfull \hbox (17.04485pt too wide) in paragraph at lines 941--943 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Generator, Overfull \hbox (12.66692pt too wide) in paragraph at lines 943--945 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remo ve[][][]higher[][][]space[] Overfull \hbox (26.19502pt too wide) in paragraph at lines 945--947 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remo ve[][][]space[][][]dimensions, Overfull \hbox (19.51645pt too wide) in paragraph at lines 947--949 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simp lify[][][]using[][][]context[] Overfull \hbox (1.03522pt too wide) in paragraph at lines 949--951 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]spac e[][][]dimension, [][]66[][] Overfull \hbox (2.99632pt too wide) in paragraph at lines 951--953 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]stri ctly[][][]contains[][][][]B[] Overfull \hbox (8.52484pt too wide) in paragraph at lines 953--955 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]time [][][]elapse[][][]assign, [][]70[][] Overfull \hbox (5.49655pt too wide) in paragraph at lines 955--957 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topo logical[][][]closure[] Overfull \hbox (12.3349pt too wide) in paragraph at lines 957--959 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]tota l[][][]memory[][][]in[][][]bytes, Overfull \hbox (0.48671pt too wide) in paragraph at lines 959--961 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unco nstrain[][][]space[] Overfull \hbox (0.48671pt too wide) in paragraph at lines 961--963 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unco nstrain[][][]space[] Overfull \hbox (1.5055pt too wide) in paragraph at lines 963--965 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uppe r[][][]bound[][][]assign, Overfull \hbox (7.987pt too wide) in paragraph at lines 965--967 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uppe r[][][]bound[][][]assign[] Overfull \hbox (15.21655pt too wide) in paragraph at lines 969--971 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wide ning[][][]assign[][][]with[] [349] Overfull \hbox (12.73672pt too wide) in paragraph at lines 973--975 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 975--977 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 977--979 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 979--981 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.58662pt too wide) in paragraph at lines 981--983 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 991--993 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 993--995 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 995--997 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 997--999 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 999--1001 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 1001--1003 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.96535pt too wide) in paragraph at lines 1003--1005 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]C[][][][]Polyhedron, Overfull \hbox (27.44685pt too wide) in paragraph at lines 1005--1007 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (19.3869pt too wide) in paragraph at lines 1007--1009 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Congruence[] Overfull \hbox (12.73659pt too wide) in paragraph at lines 1009--1011 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Constraint[] Overfull \hbox (0.507pt too wide) in paragraph at lines 1011--1013 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Double[] Overfull \hbox (0.507pt too wide) in paragraph at lines 1013--1015 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Double[] Overfull \hbox (11.0468pt too wide) in paragraph at lines 1015--1017 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Generator[] Overfull \hbox (10.77678pt too wide) in paragraph at lines 1019--1021 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Grid[][][]with[] Overfull \hbox (35.40529pt too wide) in paragraph at lines 1021--1023 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.8868pt too wide) in paragraph at lines 1023--1025 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1025--1027 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1027--1029 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1029--1031 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1031--1033 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1033--1035 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1035--1037 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (4.95668pt too wide) in paragraph at lines 1037--1039 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (4.95668pt too wide) in paragraph at lines 1039--1041 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (32.06493pt too wide) in paragraph at lines 1041--1043 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][]space[][][]dimension, Overfull \hbox (28.66681pt too wide) in paragraph at lines 1043--1045 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Congruence[] Overfull \hbox (22.0165pt too wide) in paragraph at lines 1045--1047 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Constraint[] Overfull \hbox (20.3267pt too wide) in paragraph at lines 1047--1049 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1049--1051 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1051--1053 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1053--1055 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1055--1057 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (3.18472pt too wide) in paragraph at lines 1057--1059 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class, Overfull \hbox (9.66623pt too wide) in paragraph at lines 1059--1061 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.96475pt too wide) in paragraph at lines 1061--1063 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class, Overfull \hbox (7.44626pt too wide) in paragraph at lines 1063--1065 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.11467pt too wide) in paragraph at lines 1068--1069 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topolo gical[][][]closure[][][]assign Overfull \hbox (16.77472pt too wide) in paragraph at lines 1074--1075 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimension Overfull \hbox (20.66461pt too wide) in paragraph at lines 1077--1078 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimensions Overfull \hbox (1.29686pt too wide) in paragraph at lines 1083--1084 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][] Overfull \hbox (15.84479pt too wide) in paragraph at lines 1089--1090 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens [350] Overfull \hbox (6.785pt too wide) in paragraph at lines 1095--1096 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign Overfull \hbox (15.76651pt too wide) in paragraph at lines 1098--1099 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[] Overfull \hbox (6.63483pt too wide) in paragraph at lines 1101--1102 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign Overfull \hbox (15.61633pt too wide) in paragraph at lines 1104--1105 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[] Overfull \hbox (15.47647pt too wide) in paragraph at lines 1113--1114 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[] Overfull \hbox (3.81519pt too wide) in paragraph at lines 1131--1132 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]congruences Overfull \hbox (0.46649pt too wide) in paragraph at lines 1137--1138 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (0.46649pt too wide) in paragraph at lines 1140--1141 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (7.13654pt too wide) in paragraph at lines 1176--1177 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (0.31683pt too wide) in paragraph at lines 1185--1186 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.31683pt too wide) in paragraph at lines 1188--1189 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (2.95665pt too wide) in paragraph at lines 1191--1192 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (3.55489pt too wide) in paragraph at lines 1197--1198 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes Overfull \hbox (7.70631pt too wide) in paragraph at lines 1209--1210 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image[] Overfull \hbox (11.4947pt too wide) in paragraph at lines 1212--1213 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (20.47621pt too wide) in paragraph at lines 1215--1216 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (10.65471pt too wide) in paragraph at lines 1224--1225 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]congruences Overfull \hbox (4.0044pt too wide) in paragraph at lines 1227--1228 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]constraints [351] Overfull \hbox (16.3062pt too wide) in paragraph at lines 1239--1240 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (34.50604pt too wide) in paragraph at lines 1251--1252 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (34.50604pt too wide) in paragraph at lines 1254--1255 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (18.95612pt too wide) in paragraph at lines 1257--1258 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (18.95612pt too wide) in paragraph at lines 1260--1261 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (12.83624pt too wide) in paragraph at lines 1263--1264 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (12.83624pt too wide) in paragraph at lines 1266--1267 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (2.32489pt too wide) in paragraph at lines 1299--1300 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Congruence Overfull \hbox (32.28476pt too wide) in paragraph at lines 1308--1309 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions Overfull \hbox (3.13496pt too wide) in paragraph at lines 1311--1312 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]space[][][]dimensions Overfull \hbox (2.5564pt too wide) in paragraph at lines 1314--1315 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simpli fy[][][]using[][][]context[][][] Overfull \hbox (17.69606pt too wide) in paragraph at lines 1320--1321 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.16689pt too wide) in paragraph at lines 1325--1327 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.16689pt too wide) in paragraph at lines 1327--1329 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.01671pt too wide) in paragraph at lines 1329--1331 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (7.01671pt too wide) in paragraph at lines 1331--1333 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (17.3651pt too wide) in paragraph at lines 1333--1335 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]narrowing[][][]assign, Overfull \hbox (7.6152pt too wide) in paragraph at lines 1335--1337 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H7 9[][][]widening[][][]assign, Overfull \hbox (14.09671pt too wide) in paragraph at lines 1337--1339 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H7 9[][][]widening[][][]assign[] Overfull \hbox (1.01549pt too wide) in paragraph at lines 1343--1345 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]congruences, [][]91[][] Overfull \hbox (26.31519pt too wide) in paragraph at lines 1349--1351 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]recycled[][][]congruences, Overfull \hbox (19.66487pt too wide) in paragraph at lines 1351--1353 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]recycled[][][]constraints, Overfull \hbox (16.86649pt too wide) in paragraph at lines 1353--1355 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (16.86649pt too wide) in paragraph at lines 1355--1357 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (0.78522pt too wide) in paragraph at lines 1357--1359 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affi ne[][][]dimension, [][]88[][] Overfull \hbox (9.5753pt too wide) in paragraph at lines 1367--1369 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ded[][][]affine[][][]image, Overfull \hbox (22.3452pt too wide) in paragraph at lines 1369--1371 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ded[][][]affine[][][]preimage, Overfull \hbox (0.69542pt too wide) in paragraph at lines 1373--1375 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ds[][][]from[][][]below, Overfull \hbox (8.79498pt too wide) in paragraph at lines 1375--1377 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]conc atenate[][][]assign, [][]92[][] [352] Overfull \hbox (6.3167pt too wide) in paragraph at lines 1379--1381 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]cont ains[][][][]B[]D[][][][]Shape[] Overfull \hbox (9.68498pt too wide) in paragraph at lines 1381--1383 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]cont ains[][][]integer[][][]point, Overfull \hbox (1.87508pt too wide) in paragraph at lines 1383--1385 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]diff erence[][][]assign, [][]92[][] Overfull \hbox (20.31683pt too wide) in paragraph at lines 1385--1387 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (20.31683pt too wide) in paragraph at lines 1387--1389 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (2.13681pt too wide) in paragraph at lines 1389--1391 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equa ls[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (20.78513pt too wide) in paragraph at lines 1391--1393 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expa nd[][][]space[][][]dimension, Overfull \hbox (12.05489pt too wide) in paragraph at lines 1395--1397 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold [][][]space[][][]dimensions, Overfull \hbox (3.26665pt too wide) in paragraph at lines 1399--1401 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1401--1403 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1403--1405 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1405--1407 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (33.15471pt too wide) in paragraph at lines 1411--1413 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[ ][][]minimized[][][]congruences, Overfull \hbox (26.5044pt too wide) in paragraph at lines 1413--1415 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[ ][][]minimized[][][]constraints, Overfull \hbox (8.25479pt too wide) in paragraph at lines 1415--1417 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]inte rsection[][][]assign, [][]92[][] Overfull \hbox (1.0464pt too wide) in paragraph at lines 1421--1423 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[] [][]disjoint[][][]from[][][][]B[] Overfull \hbox (13.17471pt too wide) in paragraph at lines 1425--1427 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[] [][]topologically[][][]closed, Overfull \hbox (1.8866pt too wide) in paragraph at lines 1429--1431 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (1.8866pt too wide) in paragraph at lines 1431--1433 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (38.95612pt too wide) in paragraph at lines 1433--1435 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (38.95612pt too wide) in paragraph at lines 1435--1437 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (32.83624pt too wide) in paragraph at lines 1437--1439 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (32.83624pt too wide) in paragraph at lines 1439--1441 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (13.16487pt too wide) in paragraph at lines 1443--1445 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]map[ ][][]space[][][]dimensions, Overfull \hbox (5.95485pt too wide) in paragraph at lines 1447--1449 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maxi mize[][][]with[][][]point, Overfull \hbox (4.2948pt too wide) in paragraph at lines 1451--1453 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]mini mize[][][]with[][][]point, Overfull \hbox (14.81517pt too wide) in paragraph at lines 1453--1455 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]congruence, Overfull \hbox (18.70506pt too wide) in paragraph at lines 1455--1457 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]congruences, Overfull \hbox (8.16486pt too wide) in paragraph at lines 1457--1459 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]constraint, Overfull \hbox (12.05475pt too wide) in paragraph at lines 1459--1461 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]constraints, Overfull \hbox (24.82489pt too wide) in paragraph at lines 1461--1463 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Congruence, Overfull \hbox (18.17458pt too wide) in paragraph at lines 1463--1465 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Constraint, Overfull \hbox (16.48479pt too wide) in paragraph at lines 1465--1467 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Generator, Overfull \hbox (12.10686pt too wide) in paragraph at lines 1467--1469 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remo ve[][][]higher[][][]space[] Overfull \hbox (25.63496pt too wide) in paragraph at lines 1469--1471 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remo ve[][][]space[][][]dimensions, Overfull \hbox (18.95639pt too wide) in paragraph at lines 1471--1473 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simp lify[][][]using[][][]context[] Overfull \hbox (0.47516pt too wide) in paragraph at lines 1473--1475 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]spac e[][][]dimension, [][]87[][] Overfull \hbox (2.43626pt too wide) in paragraph at lines 1475--1477 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]stri ctly[][][]contains[][][][]B[] Overfull \hbox (7.96478pt too wide) in paragraph at lines 1477--1479 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]time [][][]elapse[][][]assign, [][]92[][] Overfull \hbox (4.9365pt too wide) in paragraph at lines 1479--1481 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topo logical[][][]closure[] Overfull \hbox (11.77484pt too wide) in paragraph at lines 1481--1483 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]tota l[][][]memory[][][]in[][][]bytes, Overfull \hbox (3.52666pt too wide) in paragraph at lines 1483--1485 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unco nstrain[][][]space[][][] Overfull \hbox (3.52666pt too wide) in paragraph at lines 1485--1487 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unco nstrain[][][]space[][][] Overfull \hbox (0.94543pt too wide) in paragraph at lines 1487--1489 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uppe r[][][]bound[][][]assign, Overfull \hbox (7.42694pt too wide) in paragraph at lines 1489--1491 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uppe r[][][]bound[][][]assign[] Overfull \hbox (14.6565pt too wide) in paragraph at lines 1493--1495 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wide ning[][][]assign[][][]with[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 1497--1499 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 1499--1501 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] [353] Overfull \hbox (10.51675pt too wide) in paragraph at lines 1501--1503 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 1503--1505 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.02657pt too wide) in paragraph at lines 1505--1507 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1515--1517 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1517--1519 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1519--1521 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1521--1523 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1523--1525 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1525--1527 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.40529pt too wide) in paragraph at lines 1527--1529 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]C[][][][]Polyhedron, Overfull \hbox (26.8868pt too wide) in paragraph at lines 1529--1531 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.82684pt too wide) in paragraph at lines 1531--1533 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Congruence[] Overfull \hbox (12.17653pt too wide) in paragraph at lines 1533--1535 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Constraint[] Overfull \hbox (3.54695pt too wide) in paragraph at lines 1535--1537 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Double[][][] Overfull \hbox (3.54695pt too wide) in paragraph at lines 1537--1539 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Double[][][] Overfull \hbox (10.48674pt too wide) in paragraph at lines 1539--1541 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Generator[] Overfull \hbox (10.21672pt too wide) in paragraph at lines 1543--1545 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Grid[][][]with[] Overfull \hbox (34.84523pt too wide) in paragraph at lines 1545--1547 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.32674pt too wide) in paragraph at lines 1547--1549 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1549--1551 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1551--1553 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1553--1555 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1555--1557 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1557--1559 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1559--1561 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (4.39662pt too wide) in paragraph at lines 1561--1563 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (4.39662pt too wide) in paragraph at lines 1563--1565 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (31.50487pt too wide) in paragraph at lines 1565--1567 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][]space[][][]dimension, Overfull \hbox (28.10675pt too wide) in paragraph at lines 1567--1569 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Congruence[] Overfull \hbox (21.45644pt too wide) in paragraph at lines 1569--1571 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Constraint[] Overfull \hbox (19.76665pt too wide) in paragraph at lines 1571--1573 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1573--1575 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1575--1577 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1577--1579 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1579--1581 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (2.62466pt too wide) in paragraph at lines 1581--1583 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class, Overfull \hbox (9.10617pt too wide) in paragraph at lines 1583--1585 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.4047pt too wide) in paragraph at lines 1585--1587 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class, Overfull \hbox (6.8862pt too wide) in paragraph at lines 1587--1589 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.55461pt too wide) in paragraph at lines 1592--1593 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topolo gical[][][]closure[][][]assign Overfull \hbox (16.21466pt too wide) in paragraph at lines 1598--1599 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimension Overfull \hbox (20.10455pt too wide) in paragraph at lines 1601--1602 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimensions Overfull \hbox (0.7368pt too wide) in paragraph at lines 1607--1608 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][] Overfull \hbox (15.28473pt too wide) in paragraph at lines 1613--1614 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens [354] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1629--1631 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1631--1632 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1632--1634 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1634--1635 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1635--1637 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1637--1638 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1638--1640 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1640--1641 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1641--1643 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1643--1644 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1644--1646 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1646--1647 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1647--1649 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1649--1650 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1650--1652 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1652--1653 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1653--1655 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1655--1656 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1656--1658 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17635pt too wide) in paragraph at lines 1658--1659 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1659--1661 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17635pt too wide) in paragraph at lines 1661--1662 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1662--1664 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.28673pt too wide) in paragraph at lines 1664--1665 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1665--1667 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.28673pt too wide) in paragraph at lines 1667--1668 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1668--1670 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.73668pt too wide) in paragraph at lines 1670--1671 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1671--1673 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.73668pt too wide) in paragraph at lines 1673--1674 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1674--1676 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (31.04622pt too wide) in paragraph at lines 1676--1677 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]concatenate[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1677--1679 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (15.41469pt too wide) in paragraph at lines 1679--1680 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]constrains Overfull \hbox (0.24678pt too wide) in paragraph at lines 1680--1682 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (17.17635pt too wide) in paragraph at lines 1682--1683 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]contains[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1683--1685 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (24.12631pt too wide) in paragraph at lines 1685--1686 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]difference[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1686--1688 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17674pt too wide) in paragraph at lines 1688--1689 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1689--1691 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17674pt too wide) in paragraph at lines 1691--1692 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1692--1694 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (9.39645pt too wide) in paragraph at lines 1694--1695 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]equals[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1695--1697 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.57677pt too wide) in paragraph at lines 1697--1698 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]expand[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1698--1700 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (15.90645pt too wide) in paragraph at lines 1700--1701 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]external[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1701--1703 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (3.55664pt too wide) in paragraph at lines 1703--1704 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]fold[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1704--1706 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [355] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1706--1707 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1707--1709 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1709--1710 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1710--1712 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1712--1713 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1713--1715 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1715--1716 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1716--1718 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (30.50603pt too wide) in paragraph at lines 1718--1719 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]intersection[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1719--1721 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (19.57501pt too wide) in paragraph at lines 1721--1722 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]bounded Overfull \hbox (0.24678pt too wide) in paragraph at lines 1722--1724 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (16.23453pt too wide) in paragraph at lines 1724--1725 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]discrete Overfull \hbox (0.24678pt too wide) in paragraph at lines 1725--1727 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (24.12604pt too wide) in paragraph at lines 1727--1728 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]disjoint[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 1727--1728 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1728--1730 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (10.1348pt too wide) in paragraph at lines 1730--1731 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]empty Overfull \hbox (0.24678pt too wide) in paragraph at lines 1731--1733 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (46.89592pt too wide) in paragraph at lines 1733--1734 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]topologically[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1734--1736 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.61479pt too wide) in paragraph at lines 1736--1737 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]universe Overfull \hbox (0.24678pt too wide) in paragraph at lines 1737--1739 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.06662pt too wide) in paragraph at lines 1739--1740 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]map[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1740--1742 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.30467pt too wide) in paragraph at lines 1742--1743 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize Overfull \hbox (0.24678pt too wide) in paragraph at lines 1743--1745 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (23.28618pt too wide) in paragraph at lines 1745--1746 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1746--1748 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.64462pt too wide) in paragraph at lines 1748--1749 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize Overfull \hbox (0.24678pt too wide) in paragraph at lines 1749--1751 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.62613pt too wide) in paragraph at lines 1751--1752 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1752--1754 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1754--1755 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1755--1757 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1757--1758 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1758--1760 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1760--1761 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1761--1763 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1763--1764 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1764--1766 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1766--1767 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1767--1769 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1769--1770 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1770--1772 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1772--1773 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1773--1775 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (13.53671pt too wide) in paragraph at lines 1775--1776 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1776--1778 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (13.53671pt too wide) in paragraph at lines 1778--1779 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1779--1781 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.0565pt too wide) in paragraph at lines 1781--1782 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]space[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1782--1784 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.62614pt too wide) in paragraph at lines 1784--1785 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]strictly[] Overfull \hbox (21.86665pt too wide) in paragraph at lines 1784--1785 [][]\OT1/ptm/bc/n/10 contains[][][][]Constraints[][][][]Product[][][][]C[][][][ ]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1785--1787 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.60513pt too wide) in paragraph at lines 1787--1789 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]tag, [][]108[][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1789--1791 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [356] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1791--1793 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1793--1795 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1795--1797 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1797--1799 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1799--1801 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1801--1803 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1803--1805 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1805--1807 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1807--1809 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1809--1811 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1811--1813 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1813--1815 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1815--1817 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1817--1819 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1819--1821 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1821--1823 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1823--1825 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1825--1827 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.86665pt too wide) in paragraph at lines 1825--1827 [][]\OT1/ptm/bc/n/10 contains[][][][]Constraints[][][][]Product[][][][]C[][][][ ]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1827--1829 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1829--1831 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1831--1833 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1833--1835 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.08676pt too wide) in paragraph at lines 1833--1835 [][]\OT1/ptm/bc/n/10 equals[][][][]Constraints[][][][]Product[][][][]C[][][][]P olyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1835--1837 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1837--1839 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1839--1841 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1841--1843 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1843--1845 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1845--1847 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1847--1849 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1849--1851 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1851--1853 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1853--1855 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1855--1857 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.14642pt too wide) in paragraph at lines 1855--1857 [][]\OT1/ptm/bc/n/10 is[][][]disjoint[][][]from[][][][]Constraints[][][][]Produ ct[][][][]C[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1857--1859 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1859--1861 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1861--1863 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1863--1865 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1865--1867 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1867--1869 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1869--1871 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1871--1873 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1873--1875 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1875--1877 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1877--1879 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1879--1881 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1881--1883 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1883--1885 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1885--1887 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1887--1889 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1889--1891 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1891--1893 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1893--1895 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (3.53629pt too wide) in paragraph at lines 1893--1895 [][]\OT1/ptm/bc/n/10 strictly[][][]contains[][][][]Constraints[][][][]Product[] [][][]C[] [357] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1895--1897 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1897--1899 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1899--1901 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1901--1903 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1903--1905 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1905--1907 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1907--1909 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1909--1911 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1911--1913 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (5.79657pt too wide) in paragraph at lines 1913--1915 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Constraints[][][][]Product[][][][]C [][][][]Polyhedron[] Overfull \hbox (20.51643pt too wide) in paragraph at lines 1915--1917 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[] Overfull \hbox (15.51656pt too wide) in paragraph at lines 1917--1919 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[ ][][][]C[][][][]Polyhedron[] Overfull \hbox (12.1866pt too wide) in paragraph at lines 1919--1921 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1921--1923 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1923--1925 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (22.75539pt too wide) in paragraph at lines 1923--1925 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]wit h[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1925--1927 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1927--1929 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (36.35501pt too wide) in paragraph at lines 1927--1929 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]with[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1929--1931 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1931--1933 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (35.79495pt too wide) in paragraph at lines 1931--1933 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]with[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1933--1935 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1935--1937 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (6.38548pt too wide) in paragraph at lines 1935--1937 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]com plexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1937--1939 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1939--1941 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1941--1943 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (26.9067pt too wide) in paragraph at lines 1941--1943 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1943--1945 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (26.9067pt too wide) in paragraph at lines 1943--1945 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1945--1947 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1947--1949 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (16.73558pt too wide) in paragraph at lines 1947--1949 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]compl exity, [][]115[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1949--1951 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1951--1953 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1953--1955 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1955--1957 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (20.82542pt too wide) in paragraph at lines 1955--1957 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][ ][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1957--1959 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1959--1961 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (7.99702pt too wide) in paragraph at lines 1959--1961 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] []with[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1961--1963 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (10.7554pt too wide) in paragraph at lines 1961--1963 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass, [][]113[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1963--1965 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (0.21689pt too wide) in paragraph at lines 1963--1965 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1965--1967 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (10.19534pt too wide) in paragraph at lines 1965--1967 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass, [][]113[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1967--1969 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (3.25684pt too wide) in paragraph at lines 1967--1969 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1969--1971 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1971--1973 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (4.16524pt too wide) in paragraph at lines 1971--1973 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]com plexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1973--1975 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.6264pt too wide) in paragraph at lines 1975--1976 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]time[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1976--1978 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (28.84624pt too wide) in paragraph at lines 1978--1979 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]topological[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1979--1981 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.6264pt too wide) in paragraph at lines 1981--1982 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]total[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1982--1984 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (30.5063pt too wide) in paragraph at lines 1984--1985 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1985--1987 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [358] Overfull \hbox (30.5063pt too wide) in paragraph at lines 1987--1988 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1988--1990 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61668pt too wide) in paragraph at lines 1990--1991 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1991--1993 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61668pt too wide) in paragraph at lines 1993--1994 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1994--1996 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.06648pt too wide) in paragraph at lines 1996--1997 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1997--1999 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.06648pt too wide) in paragraph at lines 1999--2000 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 2000--2002 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.14519pt too wide) in paragraph at lines 2006--2007 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][] []assign[][][]with[][][]tokens Overfull \hbox (0.10532pt too wide) in paragraph at lines 2022--2023 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]embed Overfull \hbox (1.21516pt too wide) in paragraph at lines 2024--2025 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]project Overfull \hbox (3.26662pt too wide) in paragraph at lines 2074--2075 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage[][][]lhs[][][] [359] Overfull \hbox (2.49484pt too wide) in paragraph at lines 2102--2103 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign Overfull \hbox (11.47635pt too wide) in paragraph at lines 2104--2105 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign[] Overfull \hbox (5.51695pt too wide) in paragraph at lines 2147--2149 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[] Overfull \hbox (7.25581pt too wide) in paragraph at lines 2158--2160 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]recycled[][][]c ongruences, [][]141[][] Overfull \hbox (0.6055pt too wide) in paragraph at lines 2160--2162 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]recycled[][][]c onstraints, [][]141[][] Overfull \hbox (2.42705pt too wide) in paragraph at lines 2162--2164 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][] Overfull \hbox (2.42705pt too wide) in paragraph at lines 2164--2166 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][] Overfull \hbox (3.28583pt too wide) in paragraph at lines 2178--2180 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][ ]preimage, [][]138[][] Overfull \hbox (5.80562pt too wide) in paragraph at lines 2194--2196 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points, Overfull \hbox (12.28712pt too wide) in paragraph at lines 2196--2198 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[] Overfull \hbox (1.72575pt too wide) in paragraph at lines 2200--2202 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]expand[][][]space[][][]d imension, [][]139[][] Overfull \hbox (6.99551pt too wide) in paragraph at lines 2202--2204 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]external[][][]memory[][] []in[][][]bytes, [][]139[][] Overfull \hbox (2.16544pt too wide) in paragraph at lines 2208--2210 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]image, [][]138[][] Overfull \hbox (6.89671pt too wide) in paragraph at lines 2210--2212 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]image[][][]lhs[] Overfull \hbox (14.93533pt too wide) in paragraph at lines 2212--2214 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]preimage, [][]138[][] Overfull \hbox (4.39682pt too wide) in paragraph at lines 2214--2216 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[] Overfull \hbox (14.09534pt too wide) in paragraph at lines 2222--2224 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]get[][][]minimized[][][] congruences, [][]133[][] Overfull \hbox (7.44502pt too wide) in paragraph at lines 2224--2226 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]get[][][]minimized[][][] constraints, [][]133[][] [360] Overfull \hbox (1.52531pt too wide) in paragraph at lines 2234--2236 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]is[][][]disjoint[][][]fr om[][][][]Double[][][][]Box, Overfull \hbox (2.87672pt too wide) in paragraph at lines 2242--2244 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[] Overfull \hbox (2.87672pt too wide) in paragraph at lines 2244--2246 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[] Overfull \hbox (5.76552pt too wide) in paragraph at lines 2266--2268 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][] []Congruence, [][]132[][] Overfull \hbox (18.70537pt too wide) in paragraph at lines 2272--2274 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions, Overfull \hbox (6.57559pt too wide) in paragraph at lines 2274--2276 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]space[][][]d imensions, [][]139[][] Overfull \hbox (4.99512pt too wide) in paragraph at lines 2276--2278 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][ ]context[][][]assign, Overfull \hbox (2.91518pt too wide) in paragraph at lines 2280--2282 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]strictly[][][]contains[] [][][]Double[][][][]Box, Overfull \hbox (7.99524pt too wide) in paragraph at lines 2284--2286 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]topological[][][]closure [][][]assign, [][]133[][] Overfull \hbox (2.63527pt too wide) in paragraph at lines 2288--2290 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[] [][]dimension, Overfull \hbox (6.52516pt too wide) in paragraph at lines 2290--2292 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[] [][]dimensions, Overfull \hbox (16.14574pt too wide) in paragraph at lines 2294--2296 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]upper[][][]bound[][][]as sign[][][]if[][][]exact, [][]137[][] Overfull \hbox (1.70534pt too wide) in paragraph at lines 2298--2300 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][] []with[][][]tokens, Overfull \hbox (0.24681pt too wide) in paragraph at lines 2302--2304 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Double[] Overfull \hbox (0.24681pt too wide) in paragraph at lines 2304--2306 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Double[] Overfull \hbox (1.62685pt too wide) in paragraph at lines 2306--2308 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Double[][][] Overfull \hbox (1.62685pt too wide) in paragraph at lines 2308--2310 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Double[][][] Overfull \hbox (3.2657pt too wide) in paragraph at lines 2310--2312 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Double[][][][]Box[][][]from[][][][] Double[][][][]Box, [][]141[][] Overfull \hbox (0.6958pt too wide) in paragraph at lines 2320--2322 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double, Overfull \hbox (7.1773pt too wide) in paragraph at lines 2322--2324 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[] Overfull \hbox (1.33737pt too wide) in paragraph at lines 2324--2326 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][] Overfull \hbox (1.33737pt too wide) in paragraph at lines 2326--2328 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][] Overfull \hbox (0.77731pt too wide) in paragraph at lines 2328--2330 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.77731pt too wide) in paragraph at lines 2330--2332 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][] Overfull \hbox (1.34592pt too wide) in paragraph at lines 2332--2334 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron, [][]129[][] Overfull \hbox (12.18716pt too wide) in paragraph at lines 2334--2336 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[] Overfull \hbox (9.3155pt too wide) in paragraph at lines 2336--2338 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Con gruence[][][][]System, Overfull \hbox (2.66519pt too wide) in paragraph at lines 2338--2340 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Con straint[][][][]System, Overfull \hbox (5.51724pt too wide) in paragraph at lines 2342--2344 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[] Overfull \hbox (0.9754pt too wide) in paragraph at lines 2344--2346 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Gen erator[][][][]System, Overfull \hbox (16.10538pt too wide) in paragraph at lines 2348--2350 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Gri d[][][]with[][][]complexity, Overfull \hbox (15.78586pt too wide) in paragraph at lines 2350--2352 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron, [][]129[][] Overfull \hbox (5.24734pt too wide) in paragraph at lines 2352--2354 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2354--2356 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2356--2358 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2358--2360 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2360--2362 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2362--2364 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2364--2366 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (9.96692pt too wide) in paragraph at lines 2368--2370 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[] Overfull \hbox (12.4455pt too wide) in paragraph at lines 2370--2372 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][]space [][][]dimension, [][]129[][] Overfull \hbox (18.59541pt too wide) in paragraph at lines 2372--2374 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Congruence[][][][]System, Overfull \hbox (11.9451pt too wide) in paragraph at lines 2374--2376 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Constraint[][][][]System, Overfull \hbox (10.25531pt too wide) in paragraph at lines 2376--2378 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Generator[][][][]System, [361] Overfull \hbox (0.79713pt too wide) in paragraph at lines 2378--2380 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Double[] Overfull \hbox (0.79713pt too wide) in paragraph at lines 2380--2382 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Double[] Overfull \hbox (2.17717pt too wide) in paragraph at lines 2382--2384 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Double[][][] Overfull \hbox (2.17717pt too wide) in paragraph at lines 2384--2386 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Double[][][] [362] Overfull \hbox (33.42464pt too wide) in paragraph at lines 2497--2498 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]lhs[][][]rhs[][][]with[][][]congruence Overfull \hbox (2.33499pt too wide) in paragraph at lines 2499--2500 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]with[][][]congruence Overfull \hbox (5.48631pt too wide) in paragraph at lines 2505--2506 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs[][][]with[] Overfull \hbox (15.10489pt too wide) in paragraph at lines 2507--2508 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]with[][][]congruence Overfull \hbox (2.84631pt too wide) in paragraph at lines 2541--2542 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign[] Overfull \hbox (15.89598pt too wide) in paragraph at lines 2545--2546 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign[][][]with[] Overfull \hbox (8.24542pt too wide) in paragraph at lines 2603--2605 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]a nd[][][]embed, [][]164[][] Overfull \hbox (9.35527pt too wide) in paragraph at lines 2605--2607 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]a nd[][][]project, [][]164[][] [363] Overfull \hbox (0.48692pt too wide) in paragraph at lines 2626--2628 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[ ][][]with[][][] Overfull \hbox (1.87517pt too wide) in paragraph at lines 2649--2651 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]lhs[][][]rhs, [][]163[][] Overfull \hbox (12.71642pt too wide) in paragraph at lines 2651--2653 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]lhs[][][]rhs[][][]with[] Overfull \hbox (24.83499pt too wide) in paragraph at lines 2653--2655 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]with[][][]congruence, Overfull \hbox (14.64507pt too wide) in paragraph at lines 2657--2659 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]lhs[][][]rhs, [][]163[][] Overfull \hbox (4.10655pt too wide) in paragraph at lines 2659--2661 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]lhs[][][]rhs[] Overfull \hbox (37.60489pt too wide) in paragraph at lines 2661--2663 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]with[][][]congruence, Overfull \hbox (11.68506pt too wide) in paragraph at lines 2665--2667 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[] [][]with[][][]tokens, Overfull \hbox (16.3648pt too wide) in paragraph at lines 2689--2691 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapol ation[][][]assign, Overfull \hbox (22.84631pt too wide) in paragraph at lines 2691--2693 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapol ation[][][]assign[] Overfull \hbox (8.03471pt too wide) in paragraph at lines 2693--2695 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapola tion[][][]assign, Overfull \hbox (14.51622pt too wide) in paragraph at lines 2695--2697 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapola tion[][][]assign[] Overfull \hbox (4.34547pt too wide) in paragraph at lines 2721--2723 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]remove[][][]higher[][][]space[][][]di mensions, [][]164[][] Overfull \hbox (8.27534pt too wide) in paragraph at lines 2752--2754 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Grid[][][]2, [][]169[][] Overfull \hbox (6.05537pt too wide) in paragraph at lines 2756--2758 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Grid[][][]2, [][]169[][] Overfull \hbox (0.77716pt too wide) in paragraph at lines 2766--2768 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]double[][][]with[][][] Overfull \hbox (10.77678pt too wide) in paragraph at lines 2770--2772 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]with[] Overfull \hbox (10.21672pt too wide) in paragraph at lines 2774--2776 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]with[] Overfull \hbox (22.7753pt too wide) in paragraph at lines 2778--2780 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhed ron[][][]with[][][]complexity, [364] Overfull \hbox (16.10538pt too wide) in paragraph at lines 2786--2788 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Bo x[][][]with[][][]complexity, Overfull \hbox (8.54533pt too wide) in paragraph at lines 2790--2792 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][][]Gene rator[][][][]System, [][]157[][] Overfull \hbox (1.74548pt too wide) in paragraph at lines 2792--2794 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][]with[] [][]complexity, [][]156[][] Overfull \hbox (37.21524pt too wide) in paragraph at lines 2796--2798 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]P olyhedron[][][]with[][][]complexity, Overfull \hbox (13.5456pt too wide) in paragraph at lines 2798--2800 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]double, [][]155[][] Overfull \hbox (3.00708pt too wide) in paragraph at lines 2800--2802 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]double[] Overfull \hbox (10.1252pt too wide) in paragraph at lines 2802--2804 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class, Overfull \hbox (16.6067pt too wide) in paragraph at lines 2804--2806 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[] Overfull \hbox (9.56514pt too wide) in paragraph at lines 2806--2808 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class, Overfull \hbox (16.04665pt too wide) in paragraph at lines 2808--2810 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[] Overfull \hbox (20.55505pt too wide) in paragraph at lines 2812--2814 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][] Box[][][]with[][][]complexity, Overfull \hbox (4.23552pt too wide) in paragraph at lines 2816--2818 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Congruence[][ ][][]System, [][]167[][] Overfull \hbox (0.80522pt too wide) in paragraph at lines 2820--2822 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Grid[][][][]G enerator[][][][]System, Overfull \hbox (0.22566pt too wide) in paragraph at lines 2822--2824 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Grid, [][]168[][] Overfull \hbox (8.82567pt too wide) in paragraph at lines 2824--2826 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Grid[][][]2, [][]168[][] Overfull \hbox (6.6057pt too wide) in paragraph at lines 2828--2830 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Grid[][][]2, [][]168[][] Overfull \hbox (1.337pt too wide) in paragraph at lines 2875--2876 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[] Overfull \hbox (1.337pt too wide) in paragraph at lines 2878--2879 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[] Overfull \hbox (1.18683pt too wide) in paragraph at lines 2881--2882 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (1.18683pt too wide) in paragraph at lines 2884--2885 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (9.03522pt too wide) in paragraph at lines 2887--2888 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]narrowing[][][]assign Overfull \hbox (17.9853pt too wide) in paragraph at lines 2905--2906 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]congruences Overfull \hbox (11.33499pt too wide) in paragraph at lines 2908--2909 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]constraints Overfull \hbox (11.0366pt too wide) in paragraph at lines 2911--2912 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[] Overfull \hbox (11.0366pt too wide) in paragraph at lines 2914--2915 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[] [365] Overfull \hbox (1.24542pt too wide) in paragraph at lines 2932--2933 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]image Overfull \hbox (14.01532pt too wide) in paragraph at lines 2935--2936 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]preimage Overfull \hbox (3.25668pt too wide) in paragraph at lines 2950--2951 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][][]Octagonal[][][] Overfull \hbox (1.3551pt too wide) in paragraph at lines 2953--2954 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][]integer[][][]point Overfull \hbox (14.48695pt too wide) in paragraph at lines 2959--2960 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[] Overfull \hbox (14.48695pt too wide) in paragraph at lines 2962--2963 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[] Overfull \hbox (19.91661pt too wide) in paragraph at lines 2965--2966 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][ ][][]Octagonal[][][][]Shape[] Overfull \hbox (12.45525pt too wide) in paragraph at lines 2968--2969 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][ ][]space[][][]dimension Overfull \hbox (1.99678pt too wide) in paragraph at lines 2971--2972 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]external[ ][][]memory[][][]in[] Overfull \hbox (3.725pt too wide) in paragraph at lines 2974--2975 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][ ]space[][][]dimensions Overfull \hbox (12.89493pt too wide) in paragraph at lines 2980--2981 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image Overfull \hbox (21.87643pt too wide) in paragraph at lines 2983--2984 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image[] Overfull \hbox (25.66483pt too wide) in paragraph at lines 2986--2987 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage Overfull \hbox (34.64633pt too wide) in paragraph at lines 2989--2990 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage[] Overfull \hbox (24.82483pt too wide) in paragraph at lines 2998--2999 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]congruences Overfull \hbox (18.17451pt too wide) in paragraph at lines 3001--3002 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]constraints Overfull \hbox (29.64618pt too wide) in paragraph at lines 3013--3014 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]d isjoint[][][]from[][][][]Octagonal[] Overfull \hbox (4.84483pt too wide) in paragraph at lines 3019--3020 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]t opologically[][][]closed Overfull \hbox (48.67616pt too wide) in paragraph at lines 3025--3026 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (48.67616pt too wide) in paragraph at lines 3028--3029 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (33.12624pt too wide) in paragraph at lines 3031--3032 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[] Overfull \hbox (33.12624pt too wide) in paragraph at lines 3034--3035 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[] Overfull \hbox (4.83499pt too wide) in paragraph at lines 3040--3041 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][][] space[][][]dimensions Overfull \hbox (6.48529pt too wide) in paragraph at lines 3055--3056 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruence Overfull \hbox (10.37518pt too wide) in paragraph at lines 3058--3059 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruences Overfull \hbox (3.72487pt too wide) in paragraph at lines 3064--3065 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraints [366] Overfull \hbox (16.49501pt too wide) in paragraph at lines 3067--3068 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Congruence Overfull \hbox (9.8447pt too wide) in paragraph at lines 3070--3071 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Constraint Overfull \hbox (8.1549pt too wide) in paragraph at lines 3073--3074 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Generator Overfull \hbox (6.27698pt too wide) in paragraph at lines 3076--3077 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]higher[][][]space[] Overfull \hbox (17.30508pt too wide) in paragraph at lines 3079--3080 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]space[][][]dimensions Overfull \hbox (13.12651pt too wide) in paragraph at lines 3082--3083 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[ ][][]using[][][]context[] Overfull \hbox (31.03604pt too wide) in paragraph at lines 3088--3089 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[ ][][]contains[][][][]Octagonal[] Overfull \hbox (21.337pt too wide) in paragraph at lines 3093--3095 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[ ]M[]Z05[][][]widening[] Overfull \hbox (21.337pt too wide) in paragraph at lines 3095--3097 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[ ]M[]Z05[][][]widening[] Overfull \hbox (21.18683pt too wide) in paragraph at lines 3097--3099 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]extrapolation[] Overfull \hbox (21.18683pt too wide) in paragraph at lines 3099--3101 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]extrapolation[] Overfull \hbox (9.4171pt too wide) in paragraph at lines 3101--3103 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]narrowing[] Overfull \hbox (16.29572pt too wide) in paragraph at lines 3105--3107 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []congruence, [][]187[][] Overfull \hbox (3.16559pt too wide) in paragraph at lines 3107--3109 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []congruences, Overfull \hbox (9.6454pt too wide) in paragraph at lines 3109--3111 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []constraint, [][]187[][] Overfull \hbox (13.5353pt too wide) in paragraph at lines 3111--3113 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []constraints, [][]187[][] Overfull \hbox (40.4853pt too wide) in paragraph at lines 3113--3115 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []recycled[][][]congruences, Overfull \hbox (33.83499pt too wide) in paragraph at lines 3115--3117 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []recycled[][][]constraints, Overfull \hbox (31.0366pt too wide) in paragraph at lines 3117--3119 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []space[][][]dimensions[] Overfull \hbox (31.0366pt too wide) in paragraph at lines 3119--3121 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []space[][][]dimensions[] Overfull \hbox (2.93532pt too wide) in paragraph at lines 3121--3123 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]dimension, Overfull \hbox (2.7255pt too wide) in paragraph at lines 3123--3125 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]image, [][]189[][] Overfull \hbox (15.49539pt too wide) in paragraph at lines 3125--3127 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]preimage, [][]189[][] Overfull \hbox (2.18726pt too wide) in paragraph at lines 3131--3133 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded [][][]affine[] Overfull \hbox (2.18726pt too wide) in paragraph at lines 3133--3135 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded [][][]affine[] Overfull \hbox (14.25581pt too wide) in paragraph at lines 3135--3137 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[ ][][]from[][][]above, Overfull \hbox (14.86554pt too wide) in paragraph at lines 3137--3139 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[ ][][]from[][][]below, Overfull \hbox (10.94508pt too wide) in paragraph at lines 3139--3141 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]concate nate[][][]assign, Overfull \hbox (19.65668pt too wide) in paragraph at lines 3143--3145 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contain s[][][][]Octagonal[] Overfull \hbox (6.17682pt too wide) in paragraph at lines 3145--3147 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contain s[][][]integer[] Overfull \hbox (4.02518pt too wide) in paragraph at lines 3147--3149 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]differe nce[][][]assign, Overfull \hbox (3.26723pt too wide) in paragraph at lines 3149--3151 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][ ][]some[][][]non[] Overfull \hbox (3.26723pt too wide) in paragraph at lines 3151--3153 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][ ][]some[][][]non[] Overfull \hbox (11.87679pt too wide) in paragraph at lines 3153--3155 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[ ][][][]Octagonal[] Overfull \hbox (34.95525pt too wide) in paragraph at lines 3155--3157 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[ ][][]space[][][]dimension, Overfull \hbox (10.61688pt too wide) in paragraph at lines 3157--3159 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]externa l[][][]memory[] Overfull \hbox (26.225pt too wide) in paragraph at lines 3159--3161 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][ ][]space[][][]dimensions, Overfull \hbox (13.83676pt too wide) in paragraph at lines 3163--3165 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3165--3167 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3167--3169 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3169--3171 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (0.94548pt too wide) in paragraph at lines 3171--3173 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []congruences, Overfull \hbox (11.31519pt too wide) in paragraph at lines 3173--3175 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []constraints, [][]184[][] Overfull \hbox (0.22672pt too wide) in paragraph at lines 3175--3177 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []minimized[] Overfull \hbox (0.22672pt too wide) in paragraph at lines 3177--3179 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []minimized[] Overfull \hbox (10.40489pt too wide) in paragraph at lines 3179--3181 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]interse ction[][][]assign, Overfull \hbox (4.9466pt too wide) in paragraph at lines 3185--3187 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][ ]disjoint[][][]from[] Overfull \hbox (4.67667pt too wide) in paragraph at lines 3189--3191 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][ ]topologically[] Overfull \hbox (12.45671pt too wide) in paragraph at lines 3193--3195 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]B[]H[]M[]Z05[] [367] Overfull \hbox (12.45671pt too wide) in paragraph at lines 3195--3197 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]B[]H[]M[]Z05[] Overfull \hbox (0.50679pt too wide) in paragraph at lines 3197--3199 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]C[]C76[][][] Overfull \hbox (0.50679pt too wide) in paragraph at lines 3199--3201 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]C[]C76[][][] Overfull \hbox (12.42514pt too wide) in paragraph at lines 3201--3203 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[ ][][]partition, [][]193[][] Overfull \hbox (27.33499pt too wide) in paragraph at lines 3203--3205 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][] []space[][][]dimensions, Overfull \hbox (2.44669pt too wide) in paragraph at lines 3207--3209 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximiz e[][][]with[] Overfull \hbox (0.78664pt too wide) in paragraph at lines 3211--3213 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimiz e[][][]with[] Overfull \hbox (28.98529pt too wide) in paragraph at lines 3213--3215 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]congruence, Overfull \hbox (32.87518pt too wide) in paragraph at lines 3215--3217 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]congruences, Overfull \hbox (22.33498pt too wide) in paragraph at lines 3217--3219 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]constraint, Overfull \hbox (26.22487pt too wide) in paragraph at lines 3219--3221 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]constraints, Overfull \hbox (38.99501pt too wide) in paragraph at lines 3221--3223 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Congruence, Overfull \hbox (32.3447pt too wide) in paragraph at lines 3223--3225 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Constraint, Overfull \hbox (30.6549pt too wide) in paragraph at lines 3225--3227 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Generator, Overfull \hbox (0.46725pt too wide) in paragraph at lines 3227--3229 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[ ][][]higher[] Overfull \hbox (0.72719pt too wide) in paragraph at lines 3229--3231 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[ ][][]space[][][] Overfull \hbox (0.23674pt too wide) in paragraph at lines 3231--3233 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplif y[][][]using[] Overfull \hbox (2.62526pt too wide) in paragraph at lines 3233--3235 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]space[] [][]dimension, Overfull \hbox (6.33646pt too wide) in paragraph at lines 3235--3237 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictl y[][][]contains[] Overfull \hbox (10.11488pt too wide) in paragraph at lines 3237--3239 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]time[][ ][]elapse[][][]assign, Overfull \hbox (19.10661pt too wide) in paragraph at lines 3239--3241 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topolog ical[][][]closure[] Overfull \hbox (7.71674pt too wide) in paragraph at lines 3241--3243 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[] [][]memory[][][]in[] Overfull \hbox (14.09677pt too wide) in paragraph at lines 3243--3245 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconst rain[][][]space[] Overfull \hbox (14.09677pt too wide) in paragraph at lines 3245--3247 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconst rain[][][]space[] Overfull \hbox (15.11555pt too wide) in paragraph at lines 3247--3249 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[] [][]bound[][][]assign, Overfull \hbox (21.59706pt too wide) in paragraph at lines 3249--3251 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[] [][]bound[][][]assign[] Overfull \hbox (0.96535pt too wide) in paragraph at lines 3251--3253 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widenin g[][][]assign, Overfull \hbox (7.44685pt too wide) in paragraph at lines 3253--3255 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widenin g[][][]assign[] Overfull \hbox (0.75554pt too wide) in paragraph at lines 3255--3257 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]wrap[][ ][]assign, [][]193[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3257--3259 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3259--3261 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3261--3263 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3263--3265 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (34.36655pt too wide) in paragraph at lines 3265--3267 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[ ][][]from[][][][]Octagonal[] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3275--3277 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3277--3279 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3279--3281 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3281--3283 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3283--3285 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3285--3287 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (34.57541pt too wide) in paragraph at lines 3287--3289 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]C[][][][]Polyhedron, Overfull \hbox (41.05692pt too wide) in paragraph at lines 3289--3291 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.99696pt too wide) in paragraph at lines 3291--3293 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Congruence[] Overfull \hbox (26.34665pt too wide) in paragraph at lines 3293--3295 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Constraint[] Overfull \hbox (14.11707pt too wide) in paragraph at lines 3295--3297 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Double[] Overfull \hbox (14.11707pt too wide) in paragraph at lines 3297--3299 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Double[] Overfull \hbox (24.65686pt too wide) in paragraph at lines 3299--3301 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Generator[] Overfull \hbox (13.5456pt too wide) in paragraph at lines 3301--3303 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Grid, [][]181[][] Overfull \hbox (3.00708pt too wide) in paragraph at lines 3303--3305 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Grid[] Overfull \hbox (5.78712pt too wide) in paragraph at lines 3305--3307 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]N[]N[]C[] Overfull \hbox (5.78712pt too wide) in paragraph at lines 3307--3309 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]N[]N[]C[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3309--3311 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] [368] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3311--3313 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3313--3315 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3315--3317 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3317--3319 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3319--3321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (18.56674pt too wide) in paragraph at lines 3321--3323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Rational[] Overfull \hbox (18.56674pt too wide) in paragraph at lines 3323--3325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Rational[] Overfull \hbox (6.88698pt too wide) in paragraph at lines 3325--3327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][]space[] Overfull \hbox (42.27687pt too wide) in paragraph at lines 3327--3329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Congruence[] Overfull \hbox (35.62656pt too wide) in paragraph at lines 3329--3331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Constraint[] Overfull \hbox (33.93677pt too wide) in paragraph at lines 3331--3333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Generator[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3333--3335 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3335--3337 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3337--3339 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3339--3341 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (16.79478pt too wide) in paragraph at lines 3341--3343 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]double, Overfull \hbox (23.27629pt too wide) in paragraph at lines 3343--3345 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (14.57481pt too wide) in paragraph at lines 3345--3347 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]double, Overfull \hbox (21.05632pt too wide) in paragraph at lines 3347--3349 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (2.70662pt too wide) in paragraph at lines 3352--3353 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topologic al[][][]closure[][][] Overfull \hbox (3.44496pt too wide) in paragraph at lines 3355--3356 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[][] []memory[][][]in[][][]bytes Overfull \hbox (30.38478pt too wide) in paragraph at lines 3358--3359 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimension Overfull \hbox (34.27467pt too wide) in paragraph at lines 3361--3362 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimensions Overfull \hbox (1.59706pt too wide) in paragraph at lines 3367--3368 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign[] Overfull \hbox (8.82661pt too wide) in paragraph at lines 3373--3374 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign[][][]with[] Overfull \hbox (14.93663pt too wide) in paragraph at lines 3379--3380 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.93663pt too wide) in paragraph at lines 3382--3383 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.78645pt too wide) in paragraph at lines 3385--3386 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (14.78645pt too wide) in paragraph at lines 3388--3389 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (3.01672pt too wide) in paragraph at lines 3391--3392 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]narrowing[] Overfull \hbox (31.58493pt too wide) in paragraph at lines 3409--3410 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]congruences Overfull \hbox (24.93462pt too wide) in paragraph at lines 3412--3413 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]constraints Overfull \hbox (24.63623pt too wide) in paragraph at lines 3415--3416 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[] Overfull \hbox (24.63623pt too wide) in paragraph at lines 3418--3419 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[] [369] Overfull \hbox (14.84505pt too wide) in paragraph at lines 3436--3437 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]image Overfull \hbox (27.61494pt too wide) in paragraph at lines 3439--3440 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]preimage Overfull \hbox (5.35544pt too wide) in paragraph at lines 3442--3443 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]above Overfull \hbox (5.96516pt too wide) in paragraph at lines 3445--3446 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]below Overfull \hbox (2.04471pt too wide) in paragraph at lines 3448--3449 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c oncatenate[][][]assign Overfull \hbox (13.2563pt too wide) in paragraph at lines 3454--3455 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][][]Octagonal[] Overfull \hbox (3.37645pt too wide) in paragraph at lines 3457--3458 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][]integer[][][] Overfull \hbox (0.46686pt too wide) in paragraph at lines 3463--3464 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][] Overfull \hbox (0.46686pt too wide) in paragraph at lines 3466--3467 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][] Overfull \hbox (5.47641pt too wide) in paragraph at lines 3469--3470 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e quals[][][][]Octagonal[] Overfull \hbox (26.05487pt too wide) in paragraph at lines 3472--3473 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xpand[][][]space[][][]dimension Overfull \hbox (4.2165pt too wide) in paragraph at lines 3475--3476 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xternal[][][]memory[] Overfull \hbox (17.32463pt too wide) in paragraph at lines 3478--3479 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]f old[][][]space[][][]dimensions Overfull \hbox (7.43639pt too wide) in paragraph at lines 3484--3485 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3487--3488 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3490--3491 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3493--3494 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (38.42445pt too wide) in paragraph at lines 3502--3503 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]congruences Overfull \hbox (31.77414pt too wide) in paragraph at lines 3505--3506 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]constraints Overfull \hbox (1.50452pt too wide) in paragraph at lines 3508--3509 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i ntersection[][][]assign Overfull \hbox (2.14622pt too wide) in paragraph at lines 3517--3518 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]disjoint[][][]from[][][] Overfull \hbox (1.8763pt too wide) in paragraph at lines 3523--3524 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]topologically[][][] Overfull \hbox (6.05634pt too wide) in paragraph at lines 3529--3530 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (6.05634pt too wide) in paragraph at lines 3532--3533 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (46.72586pt too wide) in paragraph at lines 3535--3536 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (46.72586pt too wide) in paragraph at lines 3538--3539 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (18.43462pt too wide) in paragraph at lines 3544--3545 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m ap[][][]space[][][]dimensions Overfull \hbox (11.2246pt too wide) in paragraph at lines 3550--3551 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m aximize[][][]with[][][]point Overfull \hbox (9.56454pt too wide) in paragraph at lines 3556--3557 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m inimize[][][]with[][][]point Overfull \hbox (20.08492pt too wide) in paragraph at lines 3559--3560 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruence Overfull \hbox (23.97481pt too wide) in paragraph at lines 3562--3563 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruences Overfull \hbox (13.4346pt too wide) in paragraph at lines 3565--3566 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraint Overfull \hbox (17.3245pt too wide) in paragraph at lines 3568--3569 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraints Overfull \hbox (30.09464pt too wide) in paragraph at lines 3571--3572 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Congruence [370] Overfull \hbox (23.44432pt too wide) in paragraph at lines 3574--3575 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Constraint Overfull \hbox (21.75453pt too wide) in paragraph at lines 3577--3578 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Generator Overfull \hbox (19.8766pt too wide) in paragraph at lines 3580--3581 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]higher[][][]space[] Overfull \hbox (30.90471pt too wide) in paragraph at lines 3583--3584 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]space[][][]dimensions Overfull \hbox (26.72614pt too wide) in paragraph at lines 3586--3587 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s implify[][][]using[][][]context[] Overfull \hbox (3.53609pt too wide) in paragraph at lines 3592--3593 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s trictly[][][]contains[][][] Overfull \hbox (34.93663pt too wide) in paragraph at lines 3597--3599 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.93663pt too wide) in paragraph at lines 3599--3601 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.78645pt too wide) in paragraph at lines 3601--3603 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (34.78645pt too wide) in paragraph at lines 3603--3605 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (23.01672pt too wide) in paragraph at lines 3605--3607 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]narrowing[] Overfull \hbox (12.87532pt too wide) in paragraph at lines 3609--3611 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]congruence, Overfull \hbox (16.76521pt too wide) in paragraph at lines 3611--3613 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]congruences, Overfull \hbox (6.225pt too wide) in paragraph at lines 3613--3615 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]constraint, Overfull \hbox (10.1149pt too wide) in paragraph at lines 3615--3617 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]constraints, Overfull \hbox (6.98682pt too wide) in paragraph at lines 3617--3619 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (6.98682pt too wide) in paragraph at lines 3619--3621 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (44.63623pt too wide) in paragraph at lines 3621--3623 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (44.63623pt too wide) in paragraph at lines 3623--3625 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (16.53494pt too wide) in paragraph at lines 3625--3627 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]dimension, Overfull \hbox (16.32512pt too wide) in paragraph at lines 3627--3629 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]image, [][]210[][] Overfull \hbox (12.075pt too wide) in paragraph at lines 3629--3631 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]preimage, Overfull \hbox (10.47513pt too wide) in paragraph at lines 3631--3633 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]ascii[][][]dump, [][]217[][] Overfull \hbox (4.91507pt too wide) in paragraph at lines 3633--3635 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]ascii[][][]load, [][]217[][] Overfull \hbox (15.78688pt too wide) in paragraph at lines 3635--3637 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (15.78688pt too wide) in paragraph at lines 3637--3639 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (7.15686pt too wide) in paragraph at lines 3639--3641 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (7.15686pt too wide) in paragraph at lines 3641--3643 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (2.42659pt too wide) in paragraph at lines 3643--3645 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]concatenate[] Overfull \hbox (6.31508pt too wide) in paragraph at lines 3645--3647 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]constrains, [][]210[][] Overfull \hbox (33.2563pt too wide) in paragraph at lines 3647--3649 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]contains[][][][]Octagonal[] Overfull \hbox (19.77644pt too wide) in paragraph at lines 3649--3651 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]contains[][][]integer[] Overfull \hbox (17.6248pt too wide) in paragraph at lines 3651--3653 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]difference[][][]assign, Overfull \hbox (1.86685pt too wide) in paragraph at lines 3653--3655 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (1.86685pt too wide) in paragraph at lines 3655--3657 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (25.47641pt too wide) in paragraph at lines 3657--3659 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]equals[][][][]Octagonal[] Overfull \hbox (9.76686pt too wide) in paragraph at lines 3659--3661 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]expand[][][]space[] Overfull \hbox (24.2165pt too wide) in paragraph at lines 3661--3663 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]external[][][]memory[] Overfull \hbox (0.74673pt too wide) in paragraph at lines 3663--3665 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]fold[][][]space[][][] Overfull \hbox (5.5955pt too wide) in paragraph at lines 3665--3667 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]frequency, [][]207[][] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3667--3669 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3669--3671 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3671--3673 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3673--3675 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (14.5451pt too wide) in paragraph at lines 3675--3677 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]congruences, Overfull \hbox (7.89479pt too wide) in paragraph at lines 3677--3679 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]constraints, Overfull \hbox (13.82634pt too wide) in paragraph at lines 3679--3681 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (13.82634pt too wide) in paragraph at lines 3681--3683 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (1.8864pt too wide) in paragraph at lines 3683--3685 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]intersection[] Overfull \hbox (10.4754pt too wide) in paragraph at lines 3685--3687 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]bounded, [][]206[][] Overfull \hbox (7.13492pt too wide) in paragraph at lines 3687--3689 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]discrete, [][]206[][] Overfull \hbox (18.54622pt too wide) in paragraph at lines 3689--3691 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]disjoint[][][]from[] Overfull \hbox (1.03519pt too wide) in paragraph at lines 3691--3693 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]empty, [][]206[][] Overfull \hbox (18.27629pt too wide) in paragraph at lines 3693--3695 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]topologically[] [371] Overfull \hbox (9.51518pt too wide) in paragraph at lines 3695--3697 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]universe, [][]206[][] Overfull \hbox (1.05646pt too wide) in paragraph at lines 3697--3699 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (1.05646pt too wide) in paragraph at lines 3699--3701 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (13.03535pt too wide) in paragraph at lines 3699--3701 \OT1/ptm/bc/n/10 M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens, [ ][]213[][] Overfull \hbox (10.50641pt too wide) in paragraph at lines 3701--3703 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (10.50641pt too wide) in paragraph at lines 3703--3705 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (9.00475pt too wide) in paragraph at lines 3705--3707 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]linear[][][]partition, Overfull \hbox (1.85672pt too wide) in paragraph at lines 3707--3709 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]map[][][]space[][][] Overfull \hbox (5.20506pt too wide) in paragraph at lines 3709--3711 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]maximize, [][]207[][] Overfull \hbox (16.04631pt too wide) in paragraph at lines 3711--3713 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]maximize[][][]with[] Overfull \hbox (3.54501pt too wide) in paragraph at lines 3713--3715 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]minimize, [][]207[][] Overfull \hbox (14.38626pt too wide) in paragraph at lines 3715--3717 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]minimize[][][]with[] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3717--3719 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3719--3721 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3721--3723 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3723--3725 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3725--3727 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3727--3729 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3729--3731 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (14.06688pt too wide) in paragraph at lines 3731--3733 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]remove[][][]higher[] Overfull \hbox (10.7268pt too wide) in paragraph at lines 3733--3735 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]remove[][][]space[] Overfull \hbox (13.83636pt too wide) in paragraph at lines 3735--3737 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]simplify[][][]using[] Overfull \hbox (16.22488pt too wide) in paragraph at lines 3737--3739 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]space[][][]dimension, Overfull \hbox (19.93608pt too wide) in paragraph at lines 3739--3741 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]strictly[][][]contains[] Overfull \hbox (1.59639pt too wide) in paragraph at lines 3741--3743 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]time[][][]elapse[] Overfull \hbox (0.22661pt too wide) in paragraph at lines 3743--3745 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]topological[] Overfull \hbox (9.93646pt too wide) in paragraph at lines 3745--3747 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]total[][][]memory[] Overfull \hbox (1.88667pt too wide) in paragraph at lines 3747--3749 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]unconstrain[] Overfull \hbox (1.88667pt too wide) in paragraph at lines 3749--3751 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]unconstrain[] Overfull \hbox (6.59706pt too wide) in paragraph at lines 3751--3753 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (6.59706pt too wide) in paragraph at lines 3753--3755 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (14.56497pt too wide) in paragraph at lines 3755--3757 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]widening[][][]assign, Overfull \hbox (21.04648pt too wide) in paragraph at lines 3757--3759 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]widening[][][]assign[] Overfull \hbox (14.35516pt too wide) in paragraph at lines 3759--3761 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]wrap[][][]assign, [][]214[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3761--3763 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3763--3765 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3765--3767 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3767--3769 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (3.26659pt too wide) in paragraph at lines 3769--3771 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][] []class[][][]from[] Overfull \hbox (4.36514pt too wide) in paragraph at lines 3773--3775 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class, [][]217[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3779--3781 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3781--3783 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3783--3785 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3785--3787 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.73547pt too wide) in paragraph at lines 3785--3787 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity, [][]203[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3787--3789 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3789--3791 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.17542pt too wide) in paragraph at lines 3789--3791 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity, [][]203[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3791--3793 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]C[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3793--3795 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]C[] Overfull \hbox (46.59659pt too wide) in paragraph at lines 3795--3797 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Congruence[] Overfull \hbox (39.94627pt too wide) in paragraph at lines 3797--3799 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Constraint[] Overfull \hbox (27.71669pt too wide) in paragraph at lines 3799--3801 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (27.71669pt too wide) in paragraph at lines 3801--3803 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (38.25648pt too wide) in paragraph at lines 3803--3805 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Generator[] Overfull \hbox (10.1252pt too wide) in paragraph at lines 3805--3807 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Grid, Overfull \hbox (16.6067pt too wide) in paragraph at lines 3807--3809 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Grid[] [372] Overfull \hbox (5.49686pt too wide) in paragraph at lines 3809--3811 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]N[] Overfull \hbox (5.49686pt too wide) in paragraph at lines 3811--3813 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]N[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3813--3815 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3815--3817 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3817--3819 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3819--3821 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3821--3823 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3823--3825 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (32.16637pt too wide) in paragraph at lines 3825--3827 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (32.16637pt too wide) in paragraph at lines 3827--3829 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (20.4866pt too wide) in paragraph at lines 3829--3831 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][]space[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3831--3833 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3833--3835 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3835--3837 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3837--3839 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3839--3841 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3841--3843 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3843--3845 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (13.83635pt too wide) in paragraph at lines 3845--3847 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (13.83635pt too wide) in paragraph at lines 3847--3849 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (11.61638pt too wide) in paragraph at lines 3849--3851 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (11.61638pt too wide) in paragraph at lines 3851--3853 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (1.21451pt too wide) in paragraph at lines 3853--3854 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t ime[][][]elapse[][][]assign Overfull \hbox (12.70624pt too wide) in paragraph at lines 3856--3857 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t opological[][][]closure[] Overfull \hbox (1.31636pt too wide) in paragraph at lines 3859--3860 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t otal[][][]memory[][][]in[] Overfull \hbox (7.6964pt too wide) in paragraph at lines 3862--3863 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (7.6964pt too wide) in paragraph at lines 3865--3866 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (6.21518pt too wide) in paragraph at lines 3868--3869 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign Overfull \hbox (15.19669pt too wide) in paragraph at lines 3871--3872 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign[] Overfull \hbox (1.04648pt too wide) in paragraph at lines 3877--3878 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign[] Overfull \hbox (14.37657pt too wide) in paragraph at lines 3883--3884 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.37657pt too wide) in paragraph at lines 3886--3887 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.2264pt too wide) in paragraph at lines 3889--3890 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (14.2264pt too wide) in paragraph at lines 3892--3893 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (2.45667pt too wide) in paragraph at lines 3895--3896 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]narrowing[] Overfull \hbox (31.02487pt too wide) in paragraph at lines 3913--3914 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]congruences Overfull \hbox (24.37456pt too wide) in paragraph at lines 3916--3917 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]constraints Overfull \hbox (24.07617pt too wide) in paragraph at lines 3919--3920 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[] Overfull \hbox (24.07617pt too wide) in paragraph at lines 3922--3923 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[] [373] Overfull \hbox (14.28499pt too wide) in paragraph at lines 3940--3941 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]image Overfull \hbox (27.05489pt too wide) in paragraph at lines 3943--3944 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]preimage Overfull \hbox (4.79538pt too wide) in paragraph at lines 3946--3947 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]above Overfull \hbox (5.4051pt too wide) in paragraph at lines 3949--3950 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]below Overfull \hbox (1.48465pt too wide) in paragraph at lines 3952--3953 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c oncatenate[][][]assign Overfull \hbox (12.69624pt too wide) in paragraph at lines 3958--3959 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][][]Octagonal[] Overfull \hbox (2.81639pt too wide) in paragraph at lines 3961--3962 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][]integer[][][] Overfull \hbox (27.52652pt too wide) in paragraph at lines 3967--3968 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[] Overfull \hbox (27.52652pt too wide) in paragraph at lines 3970--3971 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[] Overfull \hbox (4.91635pt too wide) in paragraph at lines 3973--3974 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e quals[][][][]Octagonal[] Overfull \hbox (25.49481pt too wide) in paragraph at lines 3976--3977 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xpand[][][]space[][][]dimension Overfull \hbox (3.65645pt too wide) in paragraph at lines 3979--3980 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xternal[][][]memory[] Overfull \hbox (16.76457pt too wide) in paragraph at lines 3982--3983 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]f old[][][]space[][][]dimensions Overfull \hbox (6.87633pt too wide) in paragraph at lines 3988--3989 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3991--3992 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3994--3995 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3997--3998 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (37.8644pt too wide) in paragraph at lines 4006--4007 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]congruences Overfull \hbox (31.21408pt too wide) in paragraph at lines 4009--4010 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]constraints Overfull \hbox (0.94446pt too wide) in paragraph at lines 4012--4013 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i ntersection[][][]assign Overfull \hbox (1.58617pt too wide) in paragraph at lines 4021--4022 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]disjoint[][][]from[][][] Overfull \hbox (1.31624pt too wide) in paragraph at lines 4027--4028 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]topologically[][][] Overfull \hbox (5.49628pt too wide) in paragraph at lines 4033--4034 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (5.49628pt too wide) in paragraph at lines 4036--4037 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (46.1658pt too wide) in paragraph at lines 4039--4040 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (46.1658pt too wide) in paragraph at lines 4042--4043 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (17.87456pt too wide) in paragraph at lines 4048--4049 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m ap[][][]space[][][]dimensions Overfull \hbox (10.66454pt too wide) in paragraph at lines 4054--4055 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m aximize[][][]with[][][]point Overfull \hbox (9.00449pt too wide) in paragraph at lines 4060--4061 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m inimize[][][]with[][][]point Overfull \hbox (19.52486pt too wide) in paragraph at lines 4063--4064 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruence [374] Overfull \hbox (23.41475pt too wide) in paragraph at lines 4066--4067 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruences Overfull \hbox (12.87454pt too wide) in paragraph at lines 4069--4070 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraint Overfull \hbox (16.76443pt too wide) in paragraph at lines 4072--4073 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraints Overfull \hbox (29.53458pt too wide) in paragraph at lines 4075--4076 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Congruence Overfull \hbox (22.88426pt too wide) in paragraph at lines 4078--4079 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Constraint Overfull \hbox (21.19447pt too wide) in paragraph at lines 4081--4082 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Generator Overfull \hbox (19.31654pt too wide) in paragraph at lines 4084--4085 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]higher[][][]space[] Overfull \hbox (30.34465pt too wide) in paragraph at lines 4087--4088 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]space[][][]dimensions Overfull \hbox (26.16608pt too wide) in paragraph at lines 4090--4091 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s implify[][][]using[][][]context[] Overfull \hbox (2.97603pt too wide) in paragraph at lines 4096--4097 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s trictly[][][]contains[][][] Overfull \hbox (34.37657pt too wide) in paragraph at lines 4101--4103 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.37657pt too wide) in paragraph at lines 4103--4105 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.2264pt too wide) in paragraph at lines 4105--4107 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (34.2264pt too wide) in paragraph at lines 4107--4109 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (22.45667pt too wide) in paragraph at lines 4109--4111 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]narrowing[] Overfull \hbox (12.31526pt too wide) in paragraph at lines 4113--4115 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]congruence, Overfull \hbox (16.20515pt too wide) in paragraph at lines 4115--4117 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]congruences, Overfull \hbox (5.66495pt too wide) in paragraph at lines 4117--4119 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]constraint, Overfull \hbox (9.55484pt too wide) in paragraph at lines 4119--4121 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]constraints, Overfull \hbox (6.42676pt too wide) in paragraph at lines 4121--4123 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (6.42676pt too wide) in paragraph at lines 4123--4125 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (44.07617pt too wide) in paragraph at lines 4125--4127 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (44.07617pt too wide) in paragraph at lines 4127--4129 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (15.97488pt too wide) in paragraph at lines 4129--4131 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]dimension, Overfull \hbox (15.76506pt too wide) in paragraph at lines 4131--4133 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]image, [][]232[][] Overfull \hbox (11.51494pt too wide) in paragraph at lines 4133--4135 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]preimage, Overfull \hbox (9.91507pt too wide) in paragraph at lines 4135--4137 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]ascii[][][]dump, [][]239[][] Overfull \hbox (4.35501pt too wide) in paragraph at lines 4137--4139 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]ascii[][][]load, [][]239[][] Overfull \hbox (15.22682pt too wide) in paragraph at lines 4139--4141 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (15.22682pt too wide) in paragraph at lines 4141--4143 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (6.5968pt too wide) in paragraph at lines 4143--4145 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (6.5968pt too wide) in paragraph at lines 4145--4147 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (1.86653pt too wide) in paragraph at lines 4147--4149 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]concatenate[] Overfull \hbox (5.75502pt too wide) in paragraph at lines 4149--4151 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]constrains, [][]231[][] Overfull \hbox (32.69624pt too wide) in paragraph at lines 4151--4153 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]contains[][][][]Octagonal[] Overfull \hbox (19.21638pt too wide) in paragraph at lines 4153--4155 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]contains[][][]integer[] Overfull \hbox (17.06474pt too wide) in paragraph at lines 4155--4157 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]difference[][][]assign, Overfull \hbox (1.3068pt too wide) in paragraph at lines 4157--4159 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (1.3068pt too wide) in paragraph at lines 4159--4161 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (24.91635pt too wide) in paragraph at lines 4161--4163 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]equals[][][][]Octagonal[] Overfull \hbox (9.2068pt too wide) in paragraph at lines 4163--4165 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]expand[][][]space[] Overfull \hbox (23.65645pt too wide) in paragraph at lines 4165--4167 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]external[][][]memory[] Overfull \hbox (0.18668pt too wide) in paragraph at lines 4167--4169 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]fold[][][]space[][][] Overfull \hbox (5.03545pt too wide) in paragraph at lines 4169--4171 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]frequency, [][]229[][] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4171--4173 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4173--4175 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4175--4177 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4177--4179 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (13.98505pt too wide) in paragraph at lines 4179--4181 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]congruences, Overfull \hbox (7.33473pt too wide) in paragraph at lines 4181--4183 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]constraints, Overfull \hbox (13.26628pt too wide) in paragraph at lines 4183--4185 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (13.26628pt too wide) in paragraph at lines 4185--4187 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]minimized[] [375] Overfull \hbox (1.32634pt too wide) in paragraph at lines 4187--4189 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]intersection[] Overfull \hbox (9.91534pt too wide) in paragraph at lines 4189--4191 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]bounded, [][]227[][] Overfull \hbox (6.57486pt too wide) in paragraph at lines 4191--4193 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]discrete, [][]228[][] Overfull \hbox (17.98616pt too wide) in paragraph at lines 4193--4195 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]disjoint[][][]from[] Overfull \hbox (0.47513pt too wide) in paragraph at lines 4195--4197 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]empty, [][]227[][] Overfull \hbox (17.71623pt too wide) in paragraph at lines 4197--4199 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]topologically[] Overfull \hbox (8.95512pt too wide) in paragraph at lines 4199--4201 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]universe, [][]227[][] Overfull \hbox (0.4964pt too wide) in paragraph at lines 4201--4203 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (0.4964pt too wide) in paragraph at lines 4203--4205 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (13.03535pt too wide) in paragraph at lines 4203--4205 \OT1/ptm/bc/n/10 M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens, [ ][]235[][] Overfull \hbox (9.94635pt too wide) in paragraph at lines 4205--4207 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (9.94635pt too wide) in paragraph at lines 4207--4209 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (8.44469pt too wide) in paragraph at lines 4209--4211 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]linear[][][]partition, Overfull \hbox (1.29666pt too wide) in paragraph at lines 4211--4213 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]map[][][]space[][][] Overfull \hbox (4.645pt too wide) in paragraph at lines 4213--4215 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]maximize, [][]228[][] Overfull \hbox (15.48625pt too wide) in paragraph at lines 4215--4217 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]maximize[][][]with[] Overfull \hbox (2.98495pt too wide) in paragraph at lines 4217--4219 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]minimize, [][]228[][] Overfull \hbox (13.8262pt too wide) in paragraph at lines 4219--4221 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]minimize[][][]with[] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4221--4223 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4223--4225 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4225--4227 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4227--4229 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4229--4231 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4231--4233 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4233--4235 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (13.50682pt too wide) in paragraph at lines 4235--4237 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]remove[][][]higher[] Overfull \hbox (10.16675pt too wide) in paragraph at lines 4237--4239 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]remove[][][]space[] Overfull \hbox (13.2763pt too wide) in paragraph at lines 4239--4241 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]simplify[][][]using[] Overfull \hbox (15.66483pt too wide) in paragraph at lines 4241--4243 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]space[][][]dimension, Overfull \hbox (19.37602pt too wide) in paragraph at lines 4243--4245 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]strictly[][][]contains[] Overfull \hbox (1.03633pt too wide) in paragraph at lines 4245--4247 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]time[][][]elapse[] Overfull \hbox (3.26656pt too wide) in paragraph at lines 4247--4249 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]topological[][][] Overfull \hbox (9.3764pt too wide) in paragraph at lines 4249--4251 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]total[][][]memory[] Overfull \hbox (1.32661pt too wide) in paragraph at lines 4251--4253 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]unconstrain[] Overfull \hbox (1.32661pt too wide) in paragraph at lines 4253--4255 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]unconstrain[] Overfull \hbox (6.037pt too wide) in paragraph at lines 4255--4257 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (6.037pt too wide) in paragraph at lines 4257--4259 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (14.00491pt too wide) in paragraph at lines 4259--4261 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]widening[][][]assign, Overfull \hbox (20.48642pt too wide) in paragraph at lines 4261--4263 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]widening[][][]assign[] Overfull \hbox (13.7951pt too wide) in paragraph at lines 4263--4265 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]wrap[][][]assign, [][]236[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 4265--4267 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 4267--4269 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 4269--4271 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 4271--4273 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (2.70653pt too wide) in paragraph at lines 4273--4275 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][] []class[][][]from[] Overfull \hbox (3.80508pt too wide) in paragraph at lines 4277--4279 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class, [][]239[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4283--4285 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4285--4287 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4287--4289 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4289--4291 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.73547pt too wide) in paragraph at lines 4289--4291 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity, [][]225[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4291--4293 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4293--4295 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.17542pt too wide) in paragraph at lines 4293--4295 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity, [][]225[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4295--4297 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]C[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4297--4299 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]C[] Overfull \hbox (46.03653pt too wide) in paragraph at lines 4299--4301 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Congruence[] Overfull \hbox (39.38622pt too wide) in paragraph at lines 4301--4303 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Constraint[] Overfull \hbox (27.15663pt too wide) in paragraph at lines 4303--4305 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Double[] [376] Overfull \hbox (27.15663pt too wide) in paragraph at lines 4305--4307 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (37.69643pt too wide) in paragraph at lines 4307--4309 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Generator[] Overfull \hbox (9.56514pt too wide) in paragraph at lines 4309--4311 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Grid, Overfull \hbox (16.04665pt too wide) in paragraph at lines 4311--4313 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Grid[] Overfull \hbox (4.9368pt too wide) in paragraph at lines 4313--4315 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]N[] Overfull \hbox (4.9368pt too wide) in paragraph at lines 4315--4317 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]N[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4317--4319 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4319--4321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4321--4323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4323--4325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4325--4327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4327--4329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (31.60631pt too wide) in paragraph at lines 4329--4331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (31.60631pt too wide) in paragraph at lines 4331--4333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (19.92654pt too wide) in paragraph at lines 4333--4335 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][]space[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4335--4337 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4337--4339 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4339--4341 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 4341--4343 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 4343--4345 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 4345--4347 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 4347--4349 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (13.27629pt too wide) in paragraph at lines 4349--4351 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (13.27629pt too wide) in paragraph at lines 4351--4353 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (11.05632pt too wide) in paragraph at lines 4353--4355 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (11.05632pt too wide) in paragraph at lines 4355--4357 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (0.65445pt too wide) in paragraph at lines 4357--4358 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t ime[][][]elapse[][][]assign Overfull \hbox (12.14618pt too wide) in paragraph at lines 4360--4361 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t opological[][][]closure[] Overfull \hbox (0.7563pt too wide) in paragraph at lines 4363--4364 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t otal[][][]memory[][][]in[] Overfull \hbox (7.13634pt too wide) in paragraph at lines 4366--4367 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (7.13634pt too wide) in paragraph at lines 4369--4370 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (5.65512pt too wide) in paragraph at lines 4372--4373 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign Overfull \hbox (14.63663pt too wide) in paragraph at lines 4375--4376 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign[] Overfull \hbox (0.48642pt too wide) in paragraph at lines 4381--4382 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign[] Overfull \hbox (2.33504pt too wide) in paragraph at lines 4389--4390 []\OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]d imensions[][][]and[][][]embed Overfull \hbox (1.05676pt too wide) in paragraph at lines 4399--4401 []| \OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][ ]dimensions[][][]and[] Overfull \hbox (16.89503pt too wide) in paragraph at lines 4410--4412 []| \OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][]get[][ ][]parametric[][][]values, [][]243[][] Overfull \hbox (0.82666pt too wide) in paragraph at lines 4414--4415 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]B[]H[] Overfull \hbox (4.15674pt too wide) in paragraph at lines 4417--4418 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]H79[] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4420--4421 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]B[]H[] Overfull \hbox (4.70679pt too wide) in paragraph at lines 4423--4424 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]H79[] [377] Overfull \hbox (9.0351pt too wide) in paragraph at lines 4429--4430 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruence Overfull \hbox (12.92499pt too wide) in paragraph at lines 4432--4433 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruences Overfull \hbox (2.38478pt too wide) in paragraph at lines 4435--4436 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraint Overfull \hbox (6.27467pt too wide) in paragraph at lines 4438--4439 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraints Overfull \hbox (43.296pt too wide) in paragraph at lines 4444--4445 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[] Overfull \hbox (43.296pt too wide) in paragraph at lines 4447--4448 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[] Overfull \hbox (12.69472pt too wide) in paragraph at lines 4450--4451 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]dimension Overfull \hbox (8.23477pt too wide) in paragraph at lines 4456--4457 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]preimage Overfull \hbox (14.44666pt too wide) in paragraph at lines 4465--4466 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[] Overfull \hbox (14.44666pt too wide) in paragraph at lines 4468--4469 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[] Overfull \hbox (5.81664pt too wide) in paragraph at lines 4471--4472 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[] Overfull \hbox (5.81664pt too wide) in paragraph at lines 4474--4475 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[] Overfull \hbox (1.08636pt too wide) in paragraph at lines 4477--4478 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]concatenate[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4480--4481 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4481--4483 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4483--4484 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4484--4486 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4486--4487 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4487--4489 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4489--4490 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4490--4492 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4492--4493 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4493--4495 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4495--4496 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4496--4498 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4498--4500 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4500--4502 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4502--4504 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4504--4506 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4506--4508 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4508--4510 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4510--4512 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (1.36655pt too wide) in paragraph at lines 4512--4514 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron[][][] Overfull \hbox (15.00658pt too wide) in paragraph at lines 4514--4516 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]const[] Overfull \hbox (15.00658pt too wide) in paragraph at lines 4516--4518 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]const[] Overfull \hbox (23.04594pt too wide) in paragraph at lines 4521--4522 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][][]Pointset[] Overfull \hbox (18.43622pt too wide) in paragraph at lines 4524--4525 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][]integer[] Overfull \hbox (13.78458pt too wide) in paragraph at lines 4527--4528 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]difference[][][]assign Overfull \hbox (2.39479pt too wide) in paragraph at lines 4533--4534 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjuncts Overfull \hbox (0.52663pt too wide) in paragraph at lines 4536--4537 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][] Overfull \hbox (0.52663pt too wide) in paragraph at lines 4539--4540 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][] Overfull \hbox (15.26605pt too wide) in paragraph at lines 4542--4543 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]equals[][][][]Pointset[] [378] Overfull \hbox (8.42664pt too wide) in paragraph at lines 4545--4546 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]expand[][][]space[] Overfull \hbox (22.87628pt too wide) in paragraph at lines 4548--4549 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]external[][][]memory[] Overfull \hbox (35.9844pt too wide) in paragraph at lines 4551--4552 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]fold[][][]space[][][]dimensions Overfull \hbox (3.57639pt too wide) in paragraph at lines 4554--4555 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4557--4558 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4560--4561 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4563--4564 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (8.87611pt too wide) in paragraph at lines 4566--4567 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[] Overfull \hbox (8.87611pt too wide) in paragraph at lines 4569--4570 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[] Overfull \hbox (0.54617pt too wide) in paragraph at lines 4572--4573 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]intersection[] Overfull \hbox (17.206pt too wide) in paragraph at lines 4581--4582 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]disjoint[][][]from[] Overfull \hbox (16.93607pt too wide) in paragraph at lines 4587--4588 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]topologically[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4594--4596 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (19.03441pt too wide) in paragraph at lines 4596--4597 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]decrement Overfull \hbox (2.7664pt too wide) in paragraph at lines 4597--4599 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (24.01442pt too wide) in paragraph at lines 4599--4600 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]dereference Overfull \hbox (2.7664pt too wide) in paragraph at lines 4600--4602 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4603--4605 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (8.02618pt too wide) in paragraph at lines 4605--4606 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]equal[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4606--4608 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (17.37436pt too wide) in paragraph at lines 4608--4609 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]increment Overfull \hbox (2.7664pt too wide) in paragraph at lines 4609--4611 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (9.12476pt too wide) in paragraph at lines 4611--4613 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]tag, [][]247[][] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4613--4615 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4615--4617 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4617--4619 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4619--4621 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4621--4623 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4623--4625 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (1.36655pt too wide) in paragraph at lines 4625--4627 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron[][][] Overfull \hbox (16.29482pt too wide) in paragraph at lines 4627--4629 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]iterator, Overfull \hbox (22.77632pt too wide) in paragraph at lines 4629--4631 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]iterator[] Overfull \hbox (0.5165pt too wide) in paragraph at lines 4631--4632 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]map[][][]space[][][] Overfull \hbox (14.70609pt too wide) in paragraph at lines 4637--4638 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize[][][]with[] Overfull \hbox (13.04604pt too wide) in paragraph at lines 4643--4644 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize[][][]with[] Overfull \hbox (1.61514pt too wide) in paragraph at lines 4646--4647 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]omega[][][]reduce Overfull \hbox (9.0347pt too wide) in paragraph at lines 4649--4650 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]pairwise[][][]reduce Overfull \hbox (1.63647pt too wide) in paragraph at lines 4652--4653 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4655--4656 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4658--4659 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] [379] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4661--4662 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4664--4665 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4667--4668 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4670--4671 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (12.72665pt too wide) in paragraph at lines 4673--4674 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]higher[] Overfull \hbox (9.38658pt too wide) in paragraph at lines 4676--4677 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]space[] Overfull \hbox (12.49614pt too wide) in paragraph at lines 4679--4680 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]simplify[][][]using[] Overfull \hbox (12.38466pt too wide) in paragraph at lines 4685--4686 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]space[][][]dimension Overfull \hbox (18.59586pt too wide) in paragraph at lines 4688--4689 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]strictly[][][]contains[] Overfull \hbox (3.33676pt too wide) in paragraph at lines 4693--4695 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]G[]P99[] Overfull \hbox (3.33676pt too wide) in paragraph at lines 4695--4697 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]G[]P99[] Overfull \hbox (3.88681pt too wide) in paragraph at lines 4697--4699 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]H[]Z03[] Overfull \hbox (1.58586pt too wide) in paragraph at lines 4697--4699 [][][]\OT1/ptm/bc/n/10 B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][]assi gn, [][]263[][] Overfull \hbox (3.88681pt too wide) in paragraph at lines 4699--4701 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]H[]Z03[] Overfull \hbox (31.5351pt too wide) in paragraph at lines 4703--4705 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]congruence, Overfull \hbox (35.42499pt too wide) in paragraph at lines 4705--4707 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]congruences, Overfull \hbox (24.88478pt too wide) in paragraph at lines 4707--4709 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]constraint, Overfull \hbox (28.77467pt too wide) in paragraph at lines 4709--4711 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]constraints, Overfull \hbox (17.11488pt too wide) in paragraph at lines 4711--4713 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]disjunct, Overfull \hbox (14.1366pt too wide) in paragraph at lines 4713--4715 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]space[] Overfull \hbox (14.1366pt too wide) in paragraph at lines 4715--4717 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]space[] Overfull \hbox (12.11488pt too wide) in paragraph at lines 4723--4725 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]ascii[][][]dump, Overfull \hbox (6.55482pt too wide) in paragraph at lines 4725--4727 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]ascii[][][]load, Overfull \hbox (8.32687pt too wide) in paragraph at lines 4727--4729 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounded[] Overfull \hbox (8.32687pt too wide) in paragraph at lines 4729--4731 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounded[] Overfull \hbox (2.77682pt too wide) in paragraph at lines 4731--4733 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounds[] Overfull \hbox (2.77682pt too wide) in paragraph at lines 4733--4735 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounds[] Overfull \hbox (21.08636pt too wide) in paragraph at lines 4735--4737 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]concatenate[] Overfull \hbox (7.95483pt too wide) in paragraph at lines 4737--4739 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]constrains, Overfull \hbox (7.21649pt too wide) in paragraph at lines 4739--4741 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]contains[] Overfull \hbox (7.21649pt too wide) in paragraph at lines 4741--4743 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]contains[] Overfull \hbox (14.16646pt too wide) in paragraph at lines 4743--4745 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]difference[] Overfull \hbox (21.0049pt too wide) in paragraph at lines 4745--4747 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]disjunct, Overfull \hbox (24.89479pt too wide) in paragraph at lines 4747--4749 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]disjuncts, Overfull \hbox (16.92662pt too wide) in paragraph at lines 4749--4751 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]some[] Overfull \hbox (16.92662pt too wide) in paragraph at lines 4751--4753 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]some[] Overfull \hbox (3.0366pt too wide) in paragraph at lines 4753--4755 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]equals[][][] Overfull \hbox (2.61691pt too wide) in paragraph at lines 4755--4757 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]expand[] Overfull \hbox (5.9466pt too wide) in paragraph at lines 4757--4759 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]external[] Overfull \hbox (15.8065pt too wide) in paragraph at lines 4759--4761 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]fold[][][]space[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4761--4763 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4763--4765 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4765--4767 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4767--4769 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (28.87611pt too wide) in paragraph at lines 4769--4771 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]geometrically[] Overfull \hbox (16.8455pt too wide) in paragraph at lines 4769--4771 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Pol yhedron, [][]254[][] [380] Overfull \hbox (28.87611pt too wide) in paragraph at lines 4771--4773 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]geometrically[] Overfull \hbox (16.59525pt too wide) in paragraph at lines 4771--4773 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Pol yhedron, [][]254[][] Overfull \hbox (20.54617pt too wide) in paragraph at lines 4773--4775 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]intersection[] Overfull \hbox (12.11516pt too wide) in paragraph at lines 4775--4777 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]bounded, Overfull \hbox (8.77467pt too wide) in paragraph at lines 4777--4779 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]discrete, Overfull \hbox (14.16618pt too wide) in paragraph at lines 4779--4781 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]disjoint[] Overfull \hbox (10.48538pt too wide) in paragraph at lines 4779--4781 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyh edron, [][]258[][] Overfull \hbox (2.67494pt too wide) in paragraph at lines 4781--4783 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]empty, Overfull \hbox (36.93607pt too wide) in paragraph at lines 4783--4785 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]topologically[] Overfull \hbox (11.15494pt too wide) in paragraph at lines 4785--4787 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]universe, Overfull \hbox (16.91649pt too wide) in paragraph at lines 4787--4789 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]map[][][]space[] Overfull \hbox (6.84482pt too wide) in paragraph at lines 4789--4791 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]maximize, Overfull \hbox (13.32632pt too wide) in paragraph at lines 4791--4793 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]maximize[] Overfull \hbox (5.18477pt too wide) in paragraph at lines 4793--4795 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]minimize, Overfull \hbox (11.66628pt too wide) in paragraph at lines 4795--4797 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]minimize[] Overfull \hbox (0.34686pt too wide) in paragraph at lines 4797--4799 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]omega[] Overfull \hbox (7.76642pt too wide) in paragraph at lines 4799--4801 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]pairwise[] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4801--4803 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4803--4805 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4805--4807 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4807--4809 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4809--4811 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4811--4813 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4813--4815 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (3.57686pt too wide) in paragraph at lines 4815--4817 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]remove[] Overfull \hbox (3.57686pt too wide) in paragraph at lines 4817--4819 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]remove[] Overfull \hbox (7.22635pt too wide) in paragraph at lines 4819--4821 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]simplify[] Overfull \hbox (34.88466pt too wide) in paragraph at lines 4823--4825 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]space[][][]dimension, Overfull \hbox (1.66629pt too wide) in paragraph at lines 4825--4827 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]strictly[] Overfull \hbox (7.35512pt too wide) in paragraph at lines 4825--4827 [][]\OT1/ptm/bc/n/10 contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron, Overfull \hbox (20.25616pt too wide) in paragraph at lines 4827--4829 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]time[][][]elapse[] Overfull \hbox (18.88638pt too wide) in paragraph at lines 4829--4831 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]topological[] Overfull \hbox (28.59624pt too wide) in paragraph at lines 4831--4833 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]total[][][]memory[] Overfull \hbox (20.54645pt too wide) in paragraph at lines 4833--4835 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]unconstrain[] Overfull \hbox (20.54645pt too wide) in paragraph at lines 4835--4837 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]unconstrain[] Overfull \hbox (0.25684pt too wide) in paragraph at lines 4837--4839 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]upper[][][] Overfull \hbox (0.25684pt too wide) in paragraph at lines 4839--4841 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]upper[][][] Overfull \hbox (8.30505pt too wide) in paragraph at lines 4841--4843 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron, [][]255[][] Overfull \hbox (6.0049pt too wide) in paragraph at lines 4843--4845 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron, Overfull \hbox (1.00502pt too wide) in paragraph at lines 4845--4847 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][ ][][]C[][][][]Polyhedron, Overfull \hbox (14.69508pt too wide) in paragraph at lines 4847--4849 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron, [][]264[][] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4849--4851 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4851--4853 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4853--4855 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4855--4857 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4857--4859 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4859--4861 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (1.88683pt too wide) in paragraph at lines 4859--4861 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[][][ ]with[][][] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4861--4863 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (0.25616pt too wide) in paragraph at lines 4863--4864 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]time[][][]elapse[] Overfull \hbox (2.48639pt too wide) in paragraph at lines 4866--4867 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]topological[][][] Overfull \hbox (8.59624pt too wide) in paragraph at lines 4869--4870 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]total[][][]memory[] Overfull \hbox (0.54645pt too wide) in paragraph at lines 4872--4873 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[] Overfull \hbox (0.54645pt too wide) in paragraph at lines 4875--4876 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[] Overfull \hbox (5.25684pt too wide) in paragraph at lines 4878--4879 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[] [381] Overfull \hbox (5.25684pt too wide) in paragraph at lines 4881--4882 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4884--4885 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4885--4887 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4887--4888 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4888--4890 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.92676pt too wide) in paragraph at lines 4890--4891 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4891--4893 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.92676pt too wide) in paragraph at lines 4893--4894 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4894--4896 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4897--4899 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (23.47504pt too wide) in paragraph at lines 4899--4900 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruence Overfull \hbox (11.08522pt too wide) in paragraph at lines 4900--4902 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (27.36493pt too wide) in paragraph at lines 4902--4903 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruences Overfull \hbox (11.08522pt too wide) in paragraph at lines 4903--4905 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (16.82472pt too wide) in paragraph at lines 4905--4906 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraint Overfull \hbox (11.08522pt too wide) in paragraph at lines 4906--4908 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (20.71461pt too wide) in paragraph at lines 4908--4909 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraints Overfull \hbox (11.08522pt too wide) in paragraph at lines 4909--4911 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (9.05482pt too wide) in paragraph at lines 4911--4912 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]disjunct Overfull \hbox (11.08522pt too wide) in paragraph at lines 4912--4914 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (8.57654pt too wide) in paragraph at lines 4914--4915 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4915--4917 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (8.57654pt too wide) in paragraph at lines 4917--4918 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4918--4920 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (27.13466pt too wide) in paragraph at lines 4920--4921 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]dimension Overfull \hbox (11.08522pt too wide) in paragraph at lines 4921--4923 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (9.90482pt too wide) in paragraph at lines 4923--4924 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]image Overfull \hbox (11.08522pt too wide) in paragraph at lines 4924--4926 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (22.67471pt too wide) in paragraph at lines 4926--4927 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]preimage Overfull \hbox (11.08522pt too wide) in paragraph at lines 4927--4929 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (4.05482pt too wide) in paragraph at lines 4929--4930 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]dump Overfull \hbox (11.08522pt too wide) in paragraph at lines 4930--4932 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]283[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4933--4935 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]283[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 4935--4936 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4936--4938 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 4938--4939 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4939--4941 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (0.81677pt too wide) in paragraph at lines 4941--4942 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4942--4944 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.81677pt too wide) in paragraph at lines 4944--4945 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4945--4947 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (15.5263pt too wide) in paragraph at lines 4947--4948 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]concatenate[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4948--4950 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4950--4951 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4951--4953 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4953--4954 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4954--4956 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4956--4957 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4957--4959 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4959--4960 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4960--4962 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4962--4963 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4963--4965 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4965--4966 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4966--4968 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4968--4970 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4970--4972 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4972--4974 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4974--4976 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4976--4978 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4978--4980 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4980--4982 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (12.20648pt too wide) in paragraph at lines 4982--4984 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 4984--4986 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 4986--4988 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4989--4991 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (1.65643pt too wide) in paragraph at lines 4991--4992 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[] [382] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4992--4994 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (1.65643pt too wide) in paragraph at lines 4994--4995 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4995--4997 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (8.6064pt too wide) in paragraph at lines 4997--4998 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]difference[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4998--5000 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.94484pt too wide) in paragraph at lines 5000--5001 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjunct Overfull \hbox (11.08522pt too wide) in paragraph at lines 5001--5003 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (16.83473pt too wide) in paragraph at lines 5003--5004 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjuncts Overfull \hbox (11.08522pt too wide) in paragraph at lines 5004--5006 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (11.36656pt too wide) in paragraph at lines 5006--5007 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5007--5009 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (11.36656pt too wide) in paragraph at lines 5009--5010 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5010--5012 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (29.706pt too wide) in paragraph at lines 5012--5013 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]equals[][][][]Pointset[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5013--5015 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (0.65686pt too wide) in paragraph at lines 5015--5016 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]expand[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5016--5018 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (0.38654pt too wide) in paragraph at lines 5018--5019 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]external[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5019--5021 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (10.24644pt too wide) in paragraph at lines 5021--5022 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]fold[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5022--5024 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5024--5025 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5025--5027 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5027--5028 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5028--5030 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5030--5031 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5031--5033 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5033--5034 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5034--5036 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (23.31606pt too wide) in paragraph at lines 5036--5037 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[] Overfull \hbox (11.76543pt too wide) in paragraph at lines 5036--5037 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5037--5039 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (23.31606pt too wide) in paragraph at lines 5039--5040 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[] Overfull \hbox (11.51517pt too wide) in paragraph at lines 5039--5040 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5040--5042 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (14.98611pt too wide) in paragraph at lines 5042--5043 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]intersection[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5043--5045 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (4.0551pt too wide) in paragraph at lines 5045--5046 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]bounded Overfull \hbox (11.08522pt too wide) in paragraph at lines 5046--5048 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.71461pt too wide) in paragraph at lines 5048--5049 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]discrete Overfull \hbox (11.08522pt too wide) in paragraph at lines 5049--5051 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (8.60612pt too wide) in paragraph at lines 5051--5052 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]disjoint[] Overfull \hbox (5.4053pt too wide) in paragraph at lines 5051--5052 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5052--5054 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5055--5057 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (31.376pt too wide) in paragraph at lines 5057--5058 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]topologically[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5058--5060 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (3.09488pt too wide) in paragraph at lines 5060--5061 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]universe Overfull \hbox (11.08522pt too wide) in paragraph at lines 5061--5063 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5063--5064 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5064--5066 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5066--5067 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5067--5069 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5069--5070 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5070--5072 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5072--5073 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5073--5075 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5075--5076 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5076--5078 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5078--5079 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5079--5081 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5081--5083 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5083--5085 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5085--5087 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5087--5089 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5089--5091 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5091--5093 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5093--5095 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (12.20648pt too wide) in paragraph at lines 5095--5097 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5097--5099 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5099--5101 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] [383] Overfull \hbox (11.35643pt too wide) in paragraph at lines 5101--5102 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]map[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5102--5104 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5105--5107 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (7.76627pt too wide) in paragraph at lines 5107--5108 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5108--5110 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5111--5113 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (6.10622pt too wide) in paragraph at lines 5113--5114 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5114--5116 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (16.05508pt too wide) in paragraph at lines 5116--5117 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]omega[][][]reduce Overfull \hbox (11.08522pt too wide) in paragraph at lines 5117--5119 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (2.20636pt too wide) in paragraph at lines 5119--5120 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]pairwise[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5120--5122 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5122--5123 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5123--5125 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5125--5126 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5126--5128 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5128--5129 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5129--5131 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5131--5132 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5132--5134 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5134--5135 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5135--5137 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5137--5138 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5138--5140 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5140--5141 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5141--5143 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (1.6168pt too wide) in paragraph at lines 5143--5144 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5144--5146 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (1.6168pt too wide) in paragraph at lines 5146--5147 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5147--5149 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (1.66629pt too wide) in paragraph at lines 5149--5150 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]simplify[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5150--5152 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5153--5155 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (26.8246pt too wide) in paragraph at lines 5155--5156 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]space[][][]dimension Overfull \hbox (11.08522pt too wide) in paragraph at lines 5156--5158 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (33.0358pt too wide) in paragraph at lines 5158--5159 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]strictly[][][]contains[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5159--5161 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5163--5165 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]G[] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5165--5167 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]G[] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5167--5169 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]H[] Overfull \hbox (1.2758pt too wide) in paragraph at lines 5167--5169 \OT1/ptm/bc/n/10 Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign, Overfull \hbox (2.21677pt too wide) in paragraph at lines 5169--5171 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]H[] Overfull \hbox (13.18533pt too wide) in paragraph at lines 5171--5173 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]OK, [][]276[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5173--5175 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5175--5177 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5177--5179 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5179--5181 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5181--5183 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5183--5185 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5185--5187 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5187--5189 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5189--5191 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5191--5193 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (6.65643pt too wide) in paragraph at lines 5193--5195 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]ascii[] Overfull \hbox (6.65643pt too wide) in paragraph at lines 5195--5197 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]ascii[] Overfull \hbox (22.76682pt too wide) in paragraph at lines 5197--5199 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounded[] Overfull \hbox (22.76682pt too wide) in paragraph at lines 5199--5201 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounded[] Overfull \hbox (17.21677pt too wide) in paragraph at lines 5201--5203 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounds[] Overfull \hbox (17.21677pt too wide) in paragraph at lines 5203--5205 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounds[] Overfull \hbox (35.5263pt too wide) in paragraph at lines 5205--5207 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]concatenate[] Overfull \hbox (22.39478pt too wide) in paragraph at lines 5207--5209 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]constrains, Overfull \hbox (21.65643pt too wide) in paragraph at lines 5209--5211 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]contains[] Overfull \hbox (1.88551pt too wide) in paragraph at lines 5209--5211 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n, [][]275[][] Overfull \hbox (21.65643pt too wide) in paragraph at lines 5211--5213 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]contains[] Overfull \hbox (28.6064pt too wide) in paragraph at lines 5213--5215 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]difference[] [384] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5215--5217 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5217--5219 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5219--5221 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5221--5223 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (13.87654pt too wide) in paragraph at lines 5223--5225 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]equals[] Overfull \hbox (1.88551pt too wide) in paragraph at lines 5223--5225 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n, [][]276[][] Overfull \hbox (17.05685pt too wide) in paragraph at lines 5225--5227 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]expand[] Overfull \hbox (20.38654pt too wide) in paragraph at lines 5227--5229 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]external[] Overfull \hbox (4.43672pt too wide) in paragraph at lines 5229--5231 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]fold[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5231--5233 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5233--5235 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5235--5237 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5237--5239 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (43.31606pt too wide) in paragraph at lines 5239--5241 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]geometrically[] Overfull \hbox (14.26543pt too wide) in paragraph at lines 5239--5241 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron, Overfull \hbox (43.31606pt too wide) in paragraph at lines 5241--5243 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]geometrically[] Overfull \hbox (14.01517pt too wide) in paragraph at lines 5241--5243 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron, Overfull \hbox (34.98611pt too wide) in paragraph at lines 5243--5245 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]intersection[] Overfull \hbox (26.5551pt too wide) in paragraph at lines 5245--5247 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]bounded, Overfull \hbox (23.21461pt too wide) in paragraph at lines 5247--5249 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]discrete, Overfull \hbox (28.60612pt too wide) in paragraph at lines 5249--5251 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]disjoint[] Overfull \hbox (7.9053pt too wide) in paragraph at lines 5249--5251 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron, Overfull \hbox (17.11488pt too wide) in paragraph at lines 5251--5253 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]empty, Overfull \hbox (51.376pt too wide) in paragraph at lines 5253--5255 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]topologically[] Overfull \hbox (25.59488pt too wide) in paragraph at lines 5255--5257 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]universe, Overfull \hbox (5.5467pt too wide) in paragraph at lines 5257--5259 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]map[] Overfull \hbox (21.28476pt too wide) in paragraph at lines 5259--5261 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]maximize, Overfull \hbox (27.76627pt too wide) in paragraph at lines 5261--5263 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]maximize[] Overfull \hbox (19.62471pt too wide) in paragraph at lines 5263--5265 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]minimize, Overfull \hbox (26.10622pt too wide) in paragraph at lines 5265--5267 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]minimize[] Overfull \hbox (14.7868pt too wide) in paragraph at lines 5267--5269 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]omega[] Overfull \hbox (22.20636pt too wide) in paragraph at lines 5269--5271 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]pairwise[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5271--5273 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5273--5275 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5275--5277 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5277--5279 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5279--5281 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5281--5283 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5283--5285 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.0168pt too wide) in paragraph at lines 5285--5287 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]remove[] Overfull \hbox (18.0168pt too wide) in paragraph at lines 5287--5289 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]remove[] Overfull \hbox (21.66629pt too wide) in paragraph at lines 5289--5291 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]simplify[] Overfull \hbox (14.41505pt too wide) in paragraph at lines 5291--5293 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]size, [][]281[][] Overfull \hbox (10.53659pt too wide) in paragraph at lines 5293--5295 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]space[] Overfull \hbox (16.10623pt too wide) in paragraph at lines 5295--5297 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]strictly[] Overfull \hbox (21.79506pt too wide) in paragraph at lines 5295--5297 [][]\OT1/ptm/bc/n/10 contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][ ][][]Polyhedron, Overfull \hbox (6.10649pt too wide) in paragraph at lines 5297--5299 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]time[] Overfull \hbox (33.32632pt too wide) in paragraph at lines 5299--5301 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]topological[] Overfull \hbox (6.10649pt too wide) in paragraph at lines 5301--5303 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]total[] Overfull \hbox (34.98639pt too wide) in paragraph at lines 5303--5305 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]unconstrain[] Overfull \hbox (34.98639pt too wide) in paragraph at lines 5305--5307 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]unconstrain[] Overfull \hbox (11.09677pt too wide) in paragraph at lines 5307--5309 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]upper[] Overfull \hbox (11.09677pt too wide) in paragraph at lines 5309--5311 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]upper[] Overfull \hbox (5.72498pt too wide) in paragraph at lines 5311--5313 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron, Overfull \hbox (20.44484pt too wide) in paragraph at lines 5313--5315 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (15.44496pt too wide) in paragraph at lines 5315--5317 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][ ][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (12.115pt too wide) in paragraph at lines 5317--5319 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][] [][]N[]N[]C[][][][]Polyhedron, [385] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5319--5321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5321--5323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5323--5325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5325--5327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (1.89563pt too wide) in paragraph at lines 5325--5327 [][]\OT1/ptm/bc/n/10 from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]compl exity, Overfull \hbox (4.73679pt too wide) in paragraph at lines 5327--5329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (7.9053pt too wide) in paragraph at lines 5327--5329 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron, Overfull \hbox (4.73679pt too wide) in paragraph at lines 5329--5331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (14.38681pt too wide) in paragraph at lines 5329--5331 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5331--5333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (14.6961pt too wide) in paragraph at lines 5333--5334 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]time[][][]elapse[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5334--5336 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (13.32632pt too wide) in paragraph at lines 5336--5337 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]topological[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5337--5339 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (23.03618pt too wide) in paragraph at lines 5339--5340 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]total[][][]memory[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5340--5342 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (14.98639pt too wide) in paragraph at lines 5342--5343 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5343--5345 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (14.98639pt too wide) in paragraph at lines 5345--5346 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5346--5348 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (19.69678pt too wide) in paragraph at lines 5348--5349 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5349--5351 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (19.69678pt too wide) in paragraph at lines 5351--5352 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5352--5354 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (15.87514pt too wide) in paragraph at lines 5356--5357 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign[][][]with[][][]tokens Overfull \hbox (2.30722pt too wide) in paragraph at lines 5396--5397 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][] Overfull \hbox (2.30722pt too wide) in paragraph at lines 5398--5399 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][] Overfull \hbox (7.85701pt too wide) in paragraph at lines 5402--5403 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign[] [386] Overfull \hbox (2.90495pt too wide) in paragraph at lines 5442--5443 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage[][][]lhs[][][]rhs Overfull \hbox (12.2248pt too wide) in paragraph at lines 5470--5471 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign Overfull \hbox (21.2063pt too wide) in paragraph at lines 5472--5473 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[] Overfull \hbox (1.75647pt too wide) in paragraph at lines 5476--5477 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign[] Overfull \hbox (4.40565pt too wide) in paragraph at lines 5523--5525 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][ ][]assign, [][]311[][] Overfull \hbox (15.2469pt too wide) in paragraph at lines 5525--5527 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][ ][]assign[][][]with[] [387] Overfull \hbox (18.92531pt too wide) in paragraph at lines 5529--5531 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign [][][]with[][][]tokens, Overfull \hbox (3.6558pt too wide) in paragraph at lines 5544--5546 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]recycled[][][]congruen ces, [][]302[][] Overfull \hbox (19.00531pt too wide) in paragraph at lines 5550--5552 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[ ][][]and[][][]embed, Overfull \hbox (20.11516pt too wide) in paragraph at lines 5552--5554 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[ ][][]and[][][]project, Overfull \hbox (18.70721pt too wide) in paragraph at lines 5564--5566 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (18.70721pt too wide) in paragraph at lines 5566--5568 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (2.85739pt too wide) in paragraph at lines 5568--5570 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapo lation[][][] Overfull \hbox (2.85739pt too wide) in paragraph at lines 5570--5572 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapo lation[][][] Overfull \hbox (2.20561pt too wide) in paragraph at lines 5589--5591 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]in teger[][][]points, Overfull \hbox (8.68712pt too wide) in paragraph at lines 5591--5593 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]in teger[][][]points[] Overfull \hbox (3.39551pt too wide) in paragraph at lines 5597--5599 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]external[][][]memory[][][]in[][ ][]bytes, [][]301[][] Overfull \hbox (3.2967pt too wide) in paragraph at lines 5604--5606 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]im age[][][]lhs[] Overfull \hbox (11.33533pt too wide) in paragraph at lines 5606--5608 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]pr eimage, [][]305[][] Overfull \hbox (0.79681pt too wide) in paragraph at lines 5608--5610 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]pr eimage[] Overfull \hbox (10.49533pt too wide) in paragraph at lines 5616--5618 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]congrue nces, [][]298[][] Overfull \hbox (3.84502pt too wide) in paragraph at lines 5618--5620 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]constra ints, [][]298[][] Overfull \hbox (2.16524pt too wide) in paragraph at lines 5620--5622 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]generat ors, [][]309[][] Overfull \hbox (11.34532pt too wide) in paragraph at lines 5628--5630 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][ ][]Polyhedron, [][]300[][] Overfull \hbox (12.60667pt too wide) in paragraph at lines 5636--5638 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (12.60667pt too wide) in paragraph at lines 5638--5640 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (15.27496pt too wide) in paragraph at lines 5640--5642 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapo lation[][][]assign, Overfull \hbox (21.75647pt too wide) in paragraph at lines 5642--5644 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapo lation[][][]assign[] Overfull \hbox (8.155pt too wide) in paragraph at lines 5660--5662 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]positive[][][]time[][][]elapse[ ][][]assign, [][]318[][] Overfull \hbox (2.16551pt too wide) in paragraph at lines 5670--5672 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][][]Congr uence, [][]317[][] Overfull \hbox (15.10536pt too wide) in paragraph at lines 5676--5678 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[] [][]dimensions, Overfull \hbox (2.97559pt too wide) in paragraph at lines 5678--5680 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]remove[][][]space[][][]dimensio ns, [][]307[][] Overfull \hbox (1.39511pt too wide) in paragraph at lines 5680--5682 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]contex t[][][]assign, Overfull \hbox (12.73518pt too wide) in paragraph at lines 5684--5686 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]strictly[][][]contains[][][][]P olyhedron, [][]300[][] Overfull \hbox (4.39523pt too wide) in paragraph at lines 5688--5690 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]topological[][][]closure[][][]a ssign, [][]303[][] Overfull \hbox (16.05528pt too wide) in paragraph at lines 5692--5694 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dim ension, [][]303[][] Overfull \hbox (2.92516pt too wide) in paragraph at lines 5694--5696 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dim ensions, Overfull \hbox (12.54573pt too wide) in paragraph at lines 5698--5700 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]upper[][][]bound[][][]assign[][ ][]if[][][]exact, [][]318[][] Overfull \hbox (15.12535pt too wide) in paragraph at lines 5702--5704 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[ ][][]tokens, [][]318[][] [388] Overfull \hbox (20.70515pt too wide) in paragraph at lines 5706--5708 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]C[][][][]Polyhedron, Overfull \hbox (27.18666pt too wide) in paragraph at lines 5708--5710 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.1451pt too wide) in paragraph at lines 5710--5712 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.6266pt too wide) in paragraph at lines 5712--5714 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.48518pt too wide) in paragraph at lines 5714--5716 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]C[][][][]Polyhedron, Overfull \hbox (24.96669pt too wide) in paragraph at lines 5716--5718 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.92513pt too wide) in paragraph at lines 5718--5720 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (39.40663pt too wide) in paragraph at lines 5720--5722 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (16.60555pt too wide) in paragraph at lines 5722--5724 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]C[][][][]Polyhedron[][][]from[][][] []C[][][][]Polyhedron, [][]294[][] Overfull \hbox (28.46541pt too wide) in paragraph at lines 5724--5726 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from [][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (7.36572pt too wide) in paragraph at lines 5733--5735 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]double, Overfull \hbox (13.84723pt too wide) in paragraph at lines 5735--5737 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]double[] Overfull \hbox (4.40729pt too wide) in paragraph at lines 5737--5739 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (4.40729pt too wide) in paragraph at lines 5739--5741 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (3.84723pt too wide) in paragraph at lines 5741--5743 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (3.84723pt too wide) in paragraph at lines 5743--5745 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (8.01584pt too wide) in paragraph at lines 5745--5747 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C [][][][]Polyhedron, [][]293[][] Overfull \hbox (1.07733pt too wide) in paragraph at lines 5747--5749 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C [][][][]Polyhedron[][][] Overfull \hbox (15.98543pt too wide) in paragraph at lines 5749--5751 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C ongruence[][][][]System, Overfull \hbox (9.33511pt too wide) in paragraph at lines 5751--5753 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C onstraint[][][][]System, Overfull \hbox (1.34592pt too wide) in paragraph at lines 5753--5755 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]D ouble[][][][]Box, [][]314[][] Overfull \hbox (12.18716pt too wide) in paragraph at lines 5755--5757 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]D ouble[][][][]Box[][][]with[] Overfull \hbox (7.64532pt too wide) in paragraph at lines 5757--5759 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]G enerator[][][][]System, Overfull \hbox (22.7753pt too wide) in paragraph at lines 5761--5763 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]G rid[][][]with[][][]complexity, Overfull \hbox (5.43576pt too wide) in paragraph at lines 5763--5765 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N []N[]C[][][][]Polyhedron, Overfull \hbox (11.91727pt too wide) in paragraph at lines 5765--5767 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N []N[]C[][][][]Polyhedron[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5767--5769 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5769--5771 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5771--5773 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5773--5775 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5775--5777 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5777--5779 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (5.7956pt too wide) in paragraph at lines 5779--5781 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]R ational[][][][]Box, [][]313[][] Overfull \hbox (16.63684pt too wide) in paragraph at lines 5781--5783 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]R ational[][][][]Box[][][]with[] Overfull \hbox (2.0954pt too wide) in paragraph at lines 5783--5785 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]spa ce[][][]dimension, Overfull \hbox (2.29729pt too wide) in paragraph at lines 5785--5787 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Congruence[][][] Overfull \hbox (18.61502pt too wide) in paragraph at lines 5787--5789 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Constraint[][][][]System, Overfull \hbox (16.92523pt too wide) in paragraph at lines 5789--5791 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Generator[][][][]System, Overfull \hbox (1.06734pt too wide) in paragraph at lines 5791--5793 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5793--5795 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5795--5797 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5797--5799 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5799--5801 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5801--5803 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (5.43576pt too wide) in paragraph at lines 5803--5805 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]C[][][][]Polyhedron, Overfull \hbox (11.91727pt too wide) in paragraph at lines 5805--5807 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]C[][][][]Polyhedron[] Overfull \hbox (3.85732pt too wide) in paragraph at lines 5807--5809 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Congruence[] Overfull \hbox (0.807pt too wide) in paragraph at lines 5809--5811 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Constraint[][][] Overfull \hbox (15.78586pt too wide) in paragraph at lines 5811--5813 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Double[][][][]Box, [][]314[][] Overfull \hbox (5.24734pt too wide) in paragraph at lines 5813--5815 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Double[][][][]Box[] Overfull \hbox (22.08527pt too wide) in paragraph at lines 5815--5817 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Generator[][][][]System, Overfull \hbox (37.21524pt too wide) in paragraph at lines 5819--5821 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Grid[][][]with[][][]complexity, Overfull \hbox (19.8757pt too wide) in paragraph at lines 5821--5823 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron, [389] Overfull \hbox (26.35721pt too wide) in paragraph at lines 5823--5825 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5825--5827 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5827--5829 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5829--5831 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5831--5833 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5833--5835 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5835--5837 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (3.21552pt too wide) in paragraph at lines 5837--5839 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box, Overfull \hbox (9.69702pt too wide) in paragraph at lines 5839--5841 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box[] Overfull \hbox (16.53534pt too wide) in paragraph at lines 5841--5843 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][]space[][][]dimension, Overfull \hbox (13.13722pt too wide) in paragraph at lines 5843--5845 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Congruence[] Overfull \hbox (6.48691pt too wide) in paragraph at lines 5845--5847 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Constraint[] Overfull \hbox (4.79712pt too wide) in paragraph at lines 5847--5849 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Generator[] Overfull \hbox (21.25548pt too wide) in paragraph at lines 5849--5851 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]C[][][][]Polyhedron, Overfull \hbox (27.73698pt too wide) in paragraph at lines 5851--5853 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.69542pt too wide) in paragraph at lines 5853--5855 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (42.17693pt too wide) in paragraph at lines 5855--5857 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.0355pt too wide) in paragraph at lines 5857--5859 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]C[][][][]Polyhedron, Overfull \hbox (25.51701pt too wide) in paragraph at lines 5859--5861 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (33.47545pt too wide) in paragraph at lines 5861--5863 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (39.95695pt too wide) in paragraph at lines 5863--5865 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (4.67516pt too wide) in paragraph at lines 5869--5871 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]N[]N[]C[ ][][][]Polyhedron, [][]319[][] Overfull \hbox (13.27516pt too wide) in paragraph at lines 5871--5873 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]N[]N[]C[ ][][][]Polyhedron[][][]2, [][]320[][] Overfull \hbox (2.45518pt too wide) in paragraph at lines 5877--5879 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]N[]N[]C[ ][][][]Polyhedron, [][]319[][] Overfull \hbox (11.05519pt too wide) in paragraph at lines 5879--5881 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]N[]N[]C[ ][][][]Polyhedron[][][]2, [][]321[][] Overfull \hbox (10.59486pt too wide) in paragraph at lines 5906--5907 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[][][]tokens Overfull \hbox (4.555pt too wide) in paragraph at lines 5922--5923 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]embed Overfull \hbox (5.66484pt too wide) in paragraph at lines 5924--5925 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]project [390] Overfull \hbox (0.3368pt too wide) in paragraph at lines 5956--5957 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[][][] Overfull \hbox (4.11629pt too wide) in paragraph at lines 5974--5975 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[][][]lhs[] Overfull \hbox (6.94452pt too wide) in paragraph at lines 6002--6003 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign Overfull \hbox (15.92603pt too wide) in paragraph at lines 6004--6005 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign[] Overfull \hbox (0.65504pt too wide) in paragraph at lines 6032--6033 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions Overfull \hbox (2.7554pt too wide) in paragraph at lines 6043--6045 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]narrowin g[][][]assign, [][]338[][] [391] Overfull \hbox (9.96663pt too wide) in paragraph at lines 6047--6049 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening [][][]assign[][][]with[] Overfull \hbox (11.70549pt too wide) in paragraph at lines 6059--6061 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]recycled[][][ ]congruences, [][]339[][] Overfull \hbox (5.05518pt too wide) in paragraph at lines 6061--6063 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]recycled[][][ ]constraints, [][]339[][] Overfull \hbox (3.27672pt too wide) in paragraph at lines 6063--6065 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]di mensions[][][]and[] Overfull \hbox (3.27672pt too wide) in paragraph at lines 6065--6067 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]di mensions[][][]and[] Overfull \hbox (7.7355pt too wide) in paragraph at lines 6079--6081 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][ ][]preimage, [][]335[][] Overfull \hbox (10.2553pt too wide) in paragraph at lines 6095--6097 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]no n[][][]integer[][][]points, Overfull \hbox (16.7368pt too wide) in paragraph at lines 6097--6099 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]no n[][][]integer[][][]points[] Overfull \hbox (6.17543pt too wide) in paragraph at lines 6101--6103 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]expand[][][]space[][][ ]dimension, [][]336[][] Overfull \hbox (11.44519pt too wide) in paragraph at lines 6103--6105 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]external[][][]memory[] [][]in[][][]bytes, [][]337[][] Overfull \hbox (6.61511pt too wide) in paragraph at lines 6109--6111 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]image, [][]335[][] Overfull \hbox (11.34639pt too wide) in paragraph at lines 6111--6113 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]image[][][]lhs[] Overfull \hbox (2.36499pt too wide) in paragraph at lines 6113--6115 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]preimage, Overfull \hbox (8.8465pt too wide) in paragraph at lines 6115--6117 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]preimage[] Overfull \hbox (1.525pt too wide) in paragraph at lines 6123--6125 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][] []congruences, Overfull \hbox (11.8947pt too wide) in paragraph at lines 6125--6127 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][] []constraints, [][]330[][] Overfull \hbox (0.23625pt too wide) in paragraph at lines 6135--6137 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint[][][] from[][][][]Rational[][][] Overfull \hbox (7.3264pt too wide) in paragraph at lines 6143--6145 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (7.3264pt too wide) in paragraph at lines 6145--6147 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (0.20547pt too wide) in paragraph at lines 6159--6161 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]refine[][][]with[][][] congruence, [][]333[][] Overfull \hbox (4.09537pt too wide) in paragraph at lines 6161--6163 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]refine[][][]with[][][] congruences, [][]333[][] Overfull \hbox (10.2152pt too wide) in paragraph at lines 6167--6169 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Congruence, [][]330[][] Overfull \hbox (3.56488pt too wide) in paragraph at lines 6169--6171 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Constraint, [][]330[][] Overfull \hbox (1.87509pt too wide) in paragraph at lines 6171--6173 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Generator, [][]330[][] Overfull \hbox (23.15504pt too wide) in paragraph at lines 6173--6175 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][] []space[][][]dimensions, Overfull \hbox (11.02527pt too wide) in paragraph at lines 6175--6177 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]space[][][ ]dimensions, [][]336[][] Overfull \hbox (9.4448pt too wide) in paragraph at lines 6177--6179 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][ ][]context[][][]assign, Overfull \hbox (1.62611pt too wide) in paragraph at lines 6181--6183 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]strictly[][][]contains [][][][]Rational[][][] Overfull \hbox (12.44492pt too wide) in paragraph at lines 6185--6187 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]topological[][][]closu re[][][]assign, [][]331[][] Overfull \hbox (7.08495pt too wide) in paragraph at lines 6189--6191 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space [][][]dimension, Overfull \hbox (10.97484pt too wide) in paragraph at lines 6191--6193 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space [][][]dimensions, Overfull \hbox (3.5754pt too wide) in paragraph at lines 6195--6197 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]upper[][][]bound[][][] assign[][][]if[][][]exact, Overfull \hbox (6.15501pt too wide) in paragraph at lines 6199--6201 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[] [][]with[][][]tokens, Overfull \hbox (4.69649pt too wide) in paragraph at lines 6203--6205 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Rational[] Overfull \hbox (4.69649pt too wide) in paragraph at lines 6205--6207 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Rational[] Overfull \hbox (2.47652pt too wide) in paragraph at lines 6207--6209 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Rational[] Overfull \hbox (2.47652pt too wide) in paragraph at lines 6209--6211 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Rational[] Overfull \hbox (12.16505pt too wide) in paragraph at lines 6211--6213 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Rational[][][][]Box[][][]from[][][] []Rational[][][][]Box, [][]339[][] [392] Overfull \hbox (5.14548pt too wide) in paragraph at lines 6221--6223 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]double, Overfull \hbox (11.62698pt too wide) in paragraph at lines 6223--6225 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]double[] Overfull \hbox (2.18704pt too wide) in paragraph at lines 6225--6227 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (2.18704pt too wide) in paragraph at lines 6227--6229 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (1.62698pt too wide) in paragraph at lines 6229--6231 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (1.62698pt too wide) in paragraph at lines 6231--6233 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (5.7956pt too wide) in paragraph at lines 6233--6235 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C [][][][]Polyhedron, [][]326[][] Overfull \hbox (16.63684pt too wide) in paragraph at lines 6235--6237 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C [][][][]Polyhedron[][][]with[] Overfull \hbox (13.76518pt too wide) in paragraph at lines 6237--6239 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C ongruence[][][][]System, Overfull \hbox (7.11487pt too wide) in paragraph at lines 6239--6241 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C onstraint[][][][]System, Overfull \hbox (9.96692pt too wide) in paragraph at lines 6243--6245 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]D ouble[][][][]Box[][][]with[] Overfull \hbox (5.42508pt too wide) in paragraph at lines 6245--6247 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]G enerator[][][][]System, Overfull \hbox (20.55505pt too wide) in paragraph at lines 6249--6251 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]G rid[][][]with[][][]complexity, Overfull \hbox (3.21552pt too wide) in paragraph at lines 6251--6253 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N []N[]C[][][][]Polyhedron, Overfull \hbox (9.69702pt too wide) in paragraph at lines 6253--6255 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N []N[]C[][][][]Polyhedron[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6255--6257 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6257--6259 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6259--6261 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6261--6263 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6263--6265 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6265--6267 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (3.57535pt too wide) in paragraph at lines 6267--6269 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]R ational[][][][]Box, [][]327[][] Overfull \hbox (14.4166pt too wide) in paragraph at lines 6269--6271 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]R ational[][][][]Box[][][]with[] Overfull \hbox (16.89517pt too wide) in paragraph at lines 6271--6273 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][]spa ce[][][]dimension, [][]326[][] Overfull \hbox (16.39478pt too wide) in paragraph at lines 6275--6277 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][] []Constraint[][][][]System, Overfull \hbox (14.70499pt too wide) in paragraph at lines 6277--6279 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][] []Generator[][][][]System, Overfull \hbox (5.24681pt too wide) in paragraph at lines 6279--6281 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Rational[] Overfull \hbox (5.24681pt too wide) in paragraph at lines 6281--6283 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Rational[] Overfull \hbox (3.02684pt too wide) in paragraph at lines 6283--6285 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Rational[] Overfull \hbox (3.02684pt too wide) in paragraph at lines 6285--6287 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Rational[] Overfull \hbox (14.57506pt too wide) in paragraph at lines 6315--6316 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.55656pt too wide) in paragraph at lines 6318--6319 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.11662pt too wide) in paragraph at lines 6321--6322 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.11662pt too wide) in paragraph at lines 6324--6325 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.55656pt too wide) in paragraph at lines 6327--6328 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.55656pt too wide) in paragraph at lines 6330--6331 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[] [393] Overfull \hbox (7.18666pt too wide) in paragraph at lines 6335--6336 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.51674pt too wide) in paragraph at lines 6339--6340 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box[] Overfull \hbox (12.6451pt too wide) in paragraph at lines 6345--6346 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.6266pt too wide) in paragraph at lines 6347--6348 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6349--6350 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6352--6353 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6355--6356 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6358--6359 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6361--6362 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6364--6365 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.96642pt too wide) in paragraph at lines 6369--6370 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box[] Overfull \hbox (12.35509pt too wide) in paragraph at lines 6371--6372 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (21.3366pt too wide) in paragraph at lines 6374--6375 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (11.89665pt too wide) in paragraph at lines 6377--6378 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.89665pt too wide) in paragraph at lines 6380--6381 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.3366pt too wide) in paragraph at lines 6383--6384 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.3366pt too wide) in paragraph at lines 6386--6387 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (4.96669pt too wide) in paragraph at lines 6391--6392 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.89677pt too wide) in paragraph at lines 6395--6396 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box[][][] Overfull \hbox (10.42513pt too wide) in paragraph at lines 6401--6402 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (19.40663pt too wide) in paragraph at lines 6403--6404 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6405--6406 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6408--6409 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6411--6412 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6414--6415 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6417--6418 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6420--6421 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.74644pt too wide) in paragraph at lines 6425--6426 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box[] Overfull \hbox (9.82533pt too wide) in paragraph at lines 6427--6428 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][]fr om[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (1.58662pt too wide) in paragraph at lines 6430--6431 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.02657pt too wide) in paragraph at lines 6433--6434 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]from[][][][]B[]D[][][][]Shape[] [394] Overfull \hbox (5.96541pt too wide) in paragraph at lines 6442--6443 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] [][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (14.36655pt too wide) in paragraph at lines 6444--6445 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[] Overfull \hbox (27.96617pt too wide) in paragraph at lines 6447--6448 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[] Overfull \hbox (27.40611pt too wide) in paragraph at lines 6450--6451 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6467--6469 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.47627pt too wide) in paragraph at lines 6485--6486 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]const[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 6486--6488 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (1.26451pt too wide) in paragraph at lines 6488--6489 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]iterator Overfull \hbox (2.7664pt too wide) in paragraph at lines 6489--6491 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6492--6494 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (16.91621pt too wide) in paragraph at lines 6494--6495 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 6495--6497 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (15.70445pt too wide) in paragraph at lines 6497--6498 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]iterator Overfull \hbox (17.20634pt too wide) in paragraph at lines 6498--6500 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.51643pt too wide) in paragraph at lines 6531--6532 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6532--6534 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6551--6553 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] [395] Overfull \hbox (8.46487pt too wide) in paragraph at lines 6566--6567 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid Overfull \hbox (0.24678pt too wide) in paragraph at lines 6567--6569 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6586--6588 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (5.13492pt too wide) in paragraph at lines 6601--6602 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[][] [][]C[][][][]Polyhedron[][][][]Grid Overfull \hbox (0.24678pt too wide) in paragraph at lines 6602--6604 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6621--6623 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.23563pt too wide) in paragraph at lines 6631--6632 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (10.21713pt too wide) in paragraph at lines 6634--6635 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (0.77719pt too wide) in paragraph at lines 6637--6638 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.77719pt too wide) in paragraph at lines 6640--6641 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.21713pt too wide) in paragraph at lines 6643--6644 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (0.21713pt too wide) in paragraph at lines 6646--6647 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (15.22699pt too wide) in paragraph at lines 6652--6653 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron[][][]with[] Overfull \hbox (9.85533pt too wide) in paragraph at lines 6655--6656 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Congruence[][][][]System Overfull \hbox (3.20502pt too wide) in paragraph at lines 6658--6659 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Constraint[][][][]System Overfull \hbox (8.55707pt too wide) in paragraph at lines 6664--6665 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Double[][][][]Box[][][]with[] Overfull \hbox (1.51523pt too wide) in paragraph at lines 6667--6668 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Generator[][][][]System Overfull \hbox (16.6452pt too wide) in paragraph at lines 6673--6674 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Grid[][][]with[][][]complexity Overfull \hbox (8.28717pt too wide) in paragraph at lines 6679--6680 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6682--6683 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6685--6686 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6688--6689 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] [396] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6691--6692 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6694--6695 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6697--6698 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (13.00674pt too wide) in paragraph at lines 6703--6704 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box[][][]with[] Overfull \hbox (19.13524pt too wide) in paragraph at lines 6709--6710 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Congruence[][][][]System Overfull \hbox (12.48492pt too wide) in paragraph at lines 6712--6713 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Constraint[][][][]System Overfull \hbox (10.79514pt too wide) in paragraph at lines 6715--6716 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Generator[][][][]System Overfull \hbox (14.83525pt too wide) in paragraph at lines 6718--6719 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.81676pt too wide) in paragraph at lines 6721--6722 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.37682pt too wide) in paragraph at lines 6724--6725 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.37682pt too wide) in paragraph at lines 6727--6728 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6730--6731 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6733--6734 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (7.44685pt too wide) in paragraph at lines 6739--6740 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.98691pt too wide) in paragraph at lines 6742--6743 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Congruence[][][] Overfull \hbox (16.80464pt too wide) in paragraph at lines 6745--6746 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Constraint[][][][]System Overfull \hbox (0.77693pt too wide) in paragraph at lines 6751--6752 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box[] Overfull \hbox (15.11485pt too wide) in paragraph at lines 6754--6755 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Generator[][][][]System Overfull \hbox (30.24483pt too wide) in paragraph at lines 6760--6761 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (12.90529pt too wide) in paragraph at lines 6763--6764 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.8868pt too wide) in paragraph at lines 6766--6767 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6769--6770 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6772--6773 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6775--6776 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6778--6779 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6781--6782 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6784--6785 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.22661pt too wide) in paragraph at lines 6790--6791 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box[] Overfull \hbox (9.56493pt too wide) in paragraph at lines 6793--6794 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][]space[][][]dimension Overfull \hbox (8.66681pt too wide) in paragraph at lines 6796--6797 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Congruence[] Overfull \hbox (2.0165pt too wide) in paragraph at lines 6799--6800 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Constraint[] Overfull \hbox (0.3267pt too wide) in paragraph at lines 6802--6803 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Generator[] Overfull \hbox (14.27519pt too wide) in paragraph at lines 6805--6806 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.2567pt too wide) in paragraph at lines 6808--6809 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6811--6812 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [397] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6814--6815 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.2567pt too wide) in paragraph at lines 6817--6818 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.2567pt too wide) in paragraph at lines 6820--6821 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (6.8868pt too wide) in paragraph at lines 6826--6827 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.42685pt too wide) in paragraph at lines 6829--6830 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Congruence[][][] Overfull \hbox (16.24458pt too wide) in paragraph at lines 6832--6833 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Constraint[][][][]System Overfull \hbox (0.21687pt too wide) in paragraph at lines 6838--6839 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box[] Overfull \hbox (14.5548pt too wide) in paragraph at lines 6841--6842 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Generator[][][][]System Overfull \hbox (29.68477pt too wide) in paragraph at lines 6847--6848 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (12.34523pt too wide) in paragraph at lines 6850--6851 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.32674pt too wide) in paragraph at lines 6853--6854 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6856--6857 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6859--6860 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6862--6863 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6865--6866 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6868--6869 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6871--6872 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.66655pt too wide) in paragraph at lines 6877--6878 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box[] Overfull \hbox (9.00487pt too wide) in paragraph at lines 6880--6881 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][]space[][][]dimension Overfull \hbox (8.10675pt too wide) in paragraph at lines 6883--6884 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Congruence[] Overfull \hbox (1.45644pt too wide) in paragraph at lines 6886--6887 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Constraint[] Overfull \hbox (3.36665pt too wide) in paragraph at lines 6889--6890 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Generator[][][] Overfull \hbox (15.22699pt too wide) in paragraph at lines 6894--6895 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[] Overfull \hbox (7.44685pt too wide) in paragraph at lines 6898--6899 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.8868pt too wide) in paragraph at lines 6902--6903 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.45709pt too wide) in paragraph at lines 6906--6907 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][] Overfull \hbox (31.65521pt too wide) in paragraph at lines 6914--6915 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity Overfull \hbox (0.2753pt too wide) in paragraph at lines 6920--6921 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gri d[][][]with[][][]complexity [398] Overfull \hbox (13.29703pt too wide) in paragraph at lines 6924--6925 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[] Overfull \hbox (12.07541pt too wide) in paragraph at lines 6926--6927 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double Overfull \hbox (21.05692pt too wide) in paragraph at lines 6928--6929 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (11.61697pt too wide) in paragraph at lines 6930--6931 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.61697pt too wide) in paragraph at lines 6932--6933 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.05692pt too wide) in paragraph at lines 6934--6935 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.05692pt too wide) in paragraph at lines 6936--6937 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (0.23685pt too wide) in paragraph at lines 6940--6941 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][] Overfull \hbox (2.76534pt too wide) in paragraph at lines 6944--6945 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Congruence[][][][]System Overfull \hbox (0.2567pt too wide) in paragraph at lines 6950--6951 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6951--6953 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6953--6954 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (1.32559pt too wide) in paragraph at lines 6953--6954 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]c omplexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6954--6956 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6956--6957 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6957--6959 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6959--6960 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (14.92522pt too wide) in paragraph at lines 6959--6960 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wit h[][][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6960--6962 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6962--6963 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6963--6965 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6965--6966 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (14.36516pt too wide) in paragraph at lines 6965--6966 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wit h[][][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6966--6968 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6968--6969 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6969--6971 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6971--6972 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6972--6974 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6974--6975 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6975--6977 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6977--6978 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6978--6980 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6980--6981 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 6980--6981 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6981--6983 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6983--6984 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 6983--6984 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6984--6986 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6986--6987 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6987--6989 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6989--6990 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6990--6992 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6992--6993 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6993--6995 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6995--6996 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6996--6998 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6998--6999 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6999--7001 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7001--7002 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7002--7004 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7004--7005 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] [399] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7005--7007 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7007--7008 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (28.53528pt too wide) in paragraph at lines 7007--7008 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[] [][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 7008--7010 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7010--7011 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7011--7013 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7013--7014 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (2.66685pt too wide) in paragraph at lines 7013--7014 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] []with[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7014--7016 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7016--7017 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7017--7019 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7019--7020 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (2.1068pt too wide) in paragraph at lines 7019--7020 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] []with[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7020--7022 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7022--7023 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7023--7025 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7025--7026 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7026--7028 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7028--7029 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7029--7031 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (8.55707pt too wide) in paragraph at lines 7033--7034 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]double[][][]with[] Overfull \hbox (0.77693pt too wide) in paragraph at lines 7037--7038 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.21687pt too wide) in paragraph at lines 7041--7042 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (31.65521pt too wide) in paragraph at lines 7045--7046 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][] [][]Polyhedron[][][]with[][][]complexity Overfull \hbox (24.98529pt too wide) in paragraph at lines 7053--7054 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Doubl e[][][][]Box[][][]with[][][]complexity Overfull \hbox (6.6271pt too wide) in paragraph at lines 7063--7064 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[ ]C[][][][]Polyhedron[][][]with[] Overfull \hbox (5.40549pt too wide) in paragraph at lines 7065--7066 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double Overfull \hbox (14.387pt too wide) in paragraph at lines 7067--7068 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double[] Overfull \hbox (4.94705pt too wide) in paragraph at lines 7069--7070 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (4.94705pt too wide) in paragraph at lines 7071--7072 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (4.387pt too wide) in paragraph at lines 7073--7074 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (4.387pt too wide) in paragraph at lines 7075--7076 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (29.43497pt too wide) in paragraph at lines 7079--7080 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ratio nal[][][][]Box[][][]with[][][]complexity Overfull \hbox (16.6452pt too wide) in paragraph at lines 7091--7092 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]double[][][]with[][][]complexity [400] Overfull \hbox (30.24483pt too wide) in paragraph at lines 7095--7096 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]with[][][]complexity Overfull \hbox (29.68477pt too wide) in paragraph at lines 7099--7100 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]with[][][]complexity Overfull \hbox (0.2753pt too wide) in paragraph at lines 7103--7104 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity Overfull \hbox (14.71524pt too wide) in paragraph at lines 7121--7122 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Pol yhedron[][][]with[][][]complexity Overfull \hbox (4.38684pt too wide) in paragraph at lines 7125--7126 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]double[][][]with[] Overfull \hbox (0.20671pt too wide) in paragraph at lines 7129--7130 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][] Overfull \hbox (17.4264pt too wide) in paragraph at lines 7133--7134 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]with[] Overfull \hbox (8.28717pt too wide) in paragraph at lines 7149--7150 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (2.44724pt too wide) in paragraph at lines 7151--7152 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][] Overfull \hbox (2.44724pt too wide) in paragraph at lines 7153--7154 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][] Overfull \hbox (1.88718pt too wide) in paragraph at lines 7155--7156 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (1.88718pt too wide) in paragraph at lines 7157--7158 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (13.29703pt too wide) in paragraph at lines 7161--7162 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[] Overfull \hbox (7.92537pt too wide) in paragraph at lines 7163--7164 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Congruence[][][][]System Overfull \hbox (1.27505pt too wide) in paragraph at lines 7165--7166 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Constraint[][][][]System Overfull \hbox (6.6271pt too wide) in paragraph at lines 7169--7170 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Double[][][][]Box[][][]with[] Overfull \hbox (14.71524pt too wide) in paragraph at lines 7175--7176 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Grid[][][]with[][][]complexity Overfull \hbox (6.35721pt too wide) in paragraph at lines 7179--7180 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7181--7182 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7183--7184 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7185--7186 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] [401] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7187--7188 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7189--7190 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7191--7192 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (11.07678pt too wide) in paragraph at lines 7195--7196 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Rational[][][][]Box[][][]with[] Overfull \hbox (17.20528pt too wide) in paragraph at lines 7199--7200 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Congruence[][][][]System Overfull \hbox (10.55496pt too wide) in paragraph at lines 7201--7202 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Constraint[][][][]System Overfull \hbox (8.86517pt too wide) in paragraph at lines 7203--7204 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Generator[][][][]System Overfull \hbox (6.60698pt too wide) in paragraph at lines 7205--7206 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7208--7209 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7211--7212 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7214--7215 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7217--7218 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7220--7221 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.07541pt too wide) in paragraph at lines 7223--7224 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron Overfull \hbox (21.05692pt too wide) in paragraph at lines 7226--7227 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron[] Overfull \hbox (12.99696pt too wide) in paragraph at lines 7229--7230 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Congruence[] Overfull \hbox (6.34665pt too wide) in paragraph at lines 7232--7233 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Constraint[] Overfull \hbox (5.40549pt too wide) in paragraph at lines 7235--7236 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box Overfull \hbox (14.387pt too wide) in paragraph at lines 7238--7239 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box[] Overfull \hbox (4.65686pt too wide) in paragraph at lines 7241--7242 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Generator[] Overfull \hbox (4.38684pt too wide) in paragraph at lines 7247--7248 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Grid[][][]with[] Overfull \hbox (26.51535pt too wide) in paragraph at lines 7250--7251 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (35.49686pt too wide) in paragraph at lines 7253--7254 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7256--7257 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7259--7260 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7262--7263 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7265--7266 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7268--7269 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7271--7272 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (2.16675pt too wide) in paragraph at lines 7274--7275 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][] Overfull \hbox (2.16675pt too wide) in paragraph at lines 7277--7278 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][] Overfull \hbox (23.17499pt too wide) in paragraph at lines 7280--7281 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][]space[][][]dimension Overfull \hbox (22.27687pt too wide) in paragraph at lines 7283--7284 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Congruence[] Overfull \hbox (15.62656pt too wide) in paragraph at lines 7286--7287 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Constraint[] Overfull \hbox (13.93677pt too wide) in paragraph at lines 7289--7290 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Generator[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7292--7293 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7295--7296 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] [402] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7298--7299 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7301--7302 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7304--7305 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7307--7308 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (25.67503pt too wide) in paragraph at lines 7310--7311 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (34.65654pt too wide) in paragraph at lines 7313--7314 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.59659pt too wide) in paragraph at lines 7316--7317 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Congruence[] Overfull \hbox (19.94627pt too wide) in paragraph at lines 7319--7320 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Constraint[] Overfull \hbox (7.71669pt too wide) in paragraph at lines 7322--7323 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (7.71669pt too wide) in paragraph at lines 7325--7326 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (18.25648pt too wide) in paragraph at lines 7328--7329 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Generator[] Overfull \hbox (0.20671pt too wide) in paragraph at lines 7334--7335 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid[][][] Overfull \hbox (2.98676pt too wide) in paragraph at lines 7337--7338 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (2.98676pt too wide) in paragraph at lines 7340--7341 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7343--7344 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7346--7347 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7349--7350 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7352--7353 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7355--7356 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7358--7359 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (12.16637pt too wide) in paragraph at lines 7361--7362 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (12.16637pt too wide) in paragraph at lines 7364--7365 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (0.4866pt too wide) in paragraph at lines 7367--7368 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][]space[] Overfull \hbox (35.8765pt too wide) in paragraph at lines 7370--7371 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Congruence[] Overfull \hbox (29.22618pt too wide) in paragraph at lines 7373--7374 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Constraint[] Overfull \hbox (27.53639pt too wide) in paragraph at lines 7376--7377 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Generator[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7379--7380 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7382--7383 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7385--7386 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7388--7389 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7391--7392 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7394--7395 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (25.11497pt too wide) in paragraph at lines 7397--7398 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (34.09648pt too wide) in paragraph at lines 7400--7401 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.03653pt too wide) in paragraph at lines 7403--7404 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Congruence[] Overfull \hbox (19.38622pt too wide) in paragraph at lines 7406--7407 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Constraint[] [403] Overfull \hbox (7.15663pt too wide) in paragraph at lines 7409--7410 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (7.15663pt too wide) in paragraph at lines 7412--7413 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (17.69643pt too wide) in paragraph at lines 7415--7416 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Generator[] Overfull \hbox (17.4264pt too wide) in paragraph at lines 7421--7422 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid[][][]with[] Overfull \hbox (2.4267pt too wide) in paragraph at lines 7424--7425 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (2.4267pt too wide) in paragraph at lines 7427--7428 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7430--7431 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7433--7434 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7436--7437 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7439--7440 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7442--7443 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7445--7446 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (11.60631pt too wide) in paragraph at lines 7448--7449 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (11.60631pt too wide) in paragraph at lines 7451--7452 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (3.52655pt too wide) in paragraph at lines 7454--7455 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][]space[][][] Overfull \hbox (35.31644pt too wide) in paragraph at lines 7457--7458 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Congruence[] Overfull \hbox (28.66612pt too wide) in paragraph at lines 7460--7461 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Constraint[] Overfull \hbox (26.97633pt too wide) in paragraph at lines 7463--7464 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Generator[] Overfull \hbox (18.50455pt too wide) in paragraph at lines 7466--7467 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator Overfull \hbox (27.47614pt too wide) in paragraph at lines 7467--7469 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.48605pt too wide) in paragraph at lines 7469--7470 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 7470--7472 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (3.60658pt too wide) in paragraph at lines 7472--7473 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[] Overfull \hbox (3.60658pt too wide) in paragraph at lines 7475--7476 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[] Overfull \hbox (45.25636pt too wide) in paragraph at lines 7478--7479 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Congruence[] Overfull \hbox (38.60605pt too wide) in paragraph at lines 7481--7482 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Constraint[] Overfull \hbox (29.1661pt too wide) in paragraph at lines 7484--7485 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[] Overfull \hbox (29.1661pt too wide) in paragraph at lines 7487--7488 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[] Overfull \hbox (1.92542pt too wide) in paragraph at lines 7487--7488 [][][]\OT1/ptm/bc/n/10 Powerset[][][][]C[][][][]Polyhedron[][][]with[][][]compl exity Overfull \hbox (19.14638pt too wide) in paragraph at lines 7490--7491 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][]space[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 7494--7496 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.77632pt too wide) in paragraph at lines 7496--7497 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 7497--7499 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (9.44652pt too wide) in paragraph at lines 7499--7500 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 7500--7502 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.44652pt too wide) in paragraph at lines 7502--7503 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 7503--7505 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7505--7506 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7506--7508 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7508--7509 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7509--7511 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] [404] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7511--7512 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7512--7514 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7514--7515 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7515--7517 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7517--7518 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7518--7520 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7520--7521 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (12.72676pt too wide) in paragraph at lines 7520--7521 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7521--7523 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7523--7524 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7524--7526 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (8.23476pt too wide) in paragraph at lines 7526--7527 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator Overfull \hbox (17.20634pt too wide) in paragraph at lines 7527--7529 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.21626pt too wide) in paragraph at lines 7529--7530 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 7530--7532 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (13.00674pt too wide) in paragraph at lines 7534--7535 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[] Overfull \hbox (5.22661pt too wide) in paragraph at lines 7538--7539 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (4.66655pt too wide) in paragraph at lines 7542--7543 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.23685pt too wide) in paragraph at lines 7546--7547 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][] Overfull \hbox (29.43497pt too wide) in paragraph at lines 7554--7555 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity Overfull \hbox (11.07678pt too wide) in paragraph at lines 7564--7565 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[] Overfull \hbox (9.85516pt too wide) in paragraph at lines 7566--7567 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double Overfull \hbox (18.83667pt too wide) in paragraph at lines 7568--7569 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (9.39673pt too wide) in paragraph at lines 7570--7571 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (9.39673pt too wide) in paragraph at lines 7572--7573 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (8.83667pt too wide) in paragraph at lines 7574--7575 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (8.83667pt too wide) in paragraph at lines 7576--7577 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (33.88464pt too wide) in paragraph at lines 7580--7581 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity Overfull \hbox (0.54509pt too wide) in paragraph at lines 7584--7585 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Congruence[][][][]System Overfull \hbox (15.12538pt too wide) in paragraph at lines 7590--7591 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (24.10689pt too wide) in paragraph at lines 7593--7594 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.66695pt too wide) in paragraph at lines 7596--7597 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.66695pt too wide) in paragraph at lines 7599--7600 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.10689pt too wide) in paragraph at lines 7602--7603 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (14.10689pt too wide) in paragraph at lines 7605--7606 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[] [405] Overfull \hbox (7.73698pt too wide) in paragraph at lines 7610--7611 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.06706pt too wide) in paragraph at lines 7614--7615 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box[] Overfull \hbox (13.19542pt too wide) in paragraph at lines 7620--7621 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (22.17693pt too wide) in paragraph at lines 7622--7623 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7624--7625 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7627--7628 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7630--7631 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7633--7634 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7636--7637 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7639--7640 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.51674pt too wide) in paragraph at lines 7644--7645 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box[] Overfull \hbox (12.90541pt too wide) in paragraph at lines 7646--7647 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (21.88692pt too wide) in paragraph at lines 7649--7650 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (12.44698pt too wide) in paragraph at lines 7652--7653 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (12.44698pt too wide) in paragraph at lines 7655--7656 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.88692pt too wide) in paragraph at lines 7658--7659 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.88692pt too wide) in paragraph at lines 7661--7662 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (5.51701pt too wide) in paragraph at lines 7666--7667 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.4471pt too wide) in paragraph at lines 7670--7671 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box[][][] Overfull \hbox (10.97545pt too wide) in paragraph at lines 7676--7677 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (19.95695pt too wide) in paragraph at lines 7678--7679 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7680--7681 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7683--7684 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7686--7687 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7689--7690 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7692--7693 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7695--7696 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.29677pt too wide) in paragraph at lines 7700--7701 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box[] [406] Overfull \hbox (3.27629pt too wide) in paragraph at lines 7751--7752 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double[] Overfull \hbox (7.89441pt too wide) in paragraph at lines 7754--7755 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class Overfull \hbox (16.87592pt too wide) in paragraph at lines 7757--7758 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.33435pt too wide) in paragraph at lines 7760--7761 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class Overfull \hbox (16.31586pt too wide) in paragraph at lines 7763--7764 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.05632pt too wide) in paragraph at lines 7807--7808 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double[] Overfull \hbox (5.67444pt too wide) in paragraph at lines 7810--7811 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class Overfull \hbox (14.65594pt too wide) in paragraph at lines 7813--7814 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.11438pt too wide) in paragraph at lines 7816--7817 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class Overfull \hbox (14.09589pt too wide) in paragraph at lines 7819--7820 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] [407] [408]) (./refman.aux (./group__Init.aux) (./group__Version.aux) (./group__Error.aux) (./group__Timeout.aux) (./group__Datatypes.aux)) LaTeX Font Warning: Some font shapes were not available, defaults substituted. ) (see the transcript file for additional information){/usr/share/texlive/texmf-d ist/fonts/enc/dvips/base/8r.enc} Output written on refman.pdf (414 pages, 2579613 bytes). Transcript written on refman.log. makeindex refman.idx This is makeindex, version 2.15 [TeX Live 2019/dev] (kpathsea + Thai support). Scanning input file refman.idx.......done (3396 entries accepted, 66 rejected). Sorting entries................................done (43346 comparisons). Generating output file refman.ind.......done (7845 lines written, 0 warnings). Output written in refman.ind. Transcript written in refman.ilg. pdflatex refman This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode (./refman.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) (/usr/share/texlive/texmf-dist/tex/latex/a4wide/a4wide.sty (/usr/share/texlive/texmf-dist/tex/latex/ntgclass/a4.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def (/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu))) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg) (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty))) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty)) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (./doxygen.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty)) (/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)) (/build/ppl-1.2/doc/ppl.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty)) Writing index file refman.idx (./refman.aux (./group__Init.aux) (./group__Version.aux) (./group__Error.aux) (./group__Timeout.aux) (./group__Datatypes.aux)) (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd) (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty)) (./refman.out) (./refman.out) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd) [1{/var/lib/texmf/fo nts/map/pdftex/updmap/pdftex.map} ] [2] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd) [3 ] [4] (./refman.toc [1 ]) [2] (./index.tex Underfull \hbox (badness 10000) detected at line 9 [][][] pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored \relax l.25 [1]) (./GPL.texpdfTeX warning (ext4): destination with the same identifie r (name{page.2}) has been already used, duplicate ignored \relax l.37 ` `Copyright'' also means copyright-\/like laws that apply to other kind... [2]pdfTeX warning (ext4): destination with the same identifier (name{page.3}) h as been already used, duplicate ignored \relax l.68 [3]pdfTeX warning (ext4): destination with the same identifier (name{page .4}) has been already used, duplicate ignored \relax l.104 [4] [5] [6] [7] [8] [9]) Overfull \hbox (10.35326pt too wide) in paragraph at lines 291--187 \OT1/ptm/m/n/10 stead of this Li-cense. But first, please read [][]\OT1/pcr/m/n /10 http[]://www.[]gnu.[]org/philosophy/why-not-lgpl.[] (./GFDL.tex [10] [11] [12] [13] Overfull \hbox (7.49895pt too wide) in paragraph at lines 97--98 \OT1/ptm/m/n/10 ments, form-ing one sec-tion En-ti-tled "[]History"; like-wise com-bine any sec-tions En-ti-tled "[]Acknowledgements", Underfull \vbox (badness 1377) has occurred while \output is active [14]) (./modules.tex) (./annotated.tex [15] [16] Overfull \hbox (20.64815pt too wide) in paragraph at lines 34--34 \OT1/ptm/b/n/10 Types and func-tions for it-er-at-ing on the dis-juncts of a [ ][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./group__PPL__C__interface.tex) Underfull \vbox (badness 7740) has occurred while \output is active [17] [18] (./group__Init.tex Underfull \hbox (badness 10000) detected at line 35 [][][] Underfull \hbox (badness 10000) detected at line 48 [][][] [19]) [20] (./group__Version.tex [21]) [22] (./group__Error.tex (/usr/share/texlive/texmf-dist/tex/latex/psnfss/omsptm.fd) Overfull \hbox (1.62299pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]O[]U[]T[][][][]O[]F[][] [][]M[]E[]M[]O[]RY[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[] I[]D[][][][]A[]R[]G[]U[]M[]E[]NT[][], [][]P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]D []O[]M[] Overfull \hbox (1.35289pt too wide) in paragraph at lines 6--20 [][]\OT1/ptm/m/n/10 P[]P[]L[][][][]A[]R[]I[]T[]H[]M[]E[]T[]I[]C[][][][]O[]V[]E[ ]R[]F[]L[]OW[][], [][]P[]P[]L[][][][]S[]T[]D[]I[]O[][][][]E[]R[]R[]OR[][], [][] P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]T[]E[]R[]N[]A[]L[][][][]E[]R[]R[]OR[] [], [][]P[] [23]) [24] (./group__Timeout.tex Underfull \hbox (badness 10000) detected at line 47 [][][] Overfull \hbox (4.67143pt too wide) in paragraph at lines 48--49 []\OT1/pcr/m/n/10 P[]P[]L[][][][]E[]R[]R[]O[]R[][][][]I[]N[]V[]A[]L[]I[]D[][][] []A[]R[]G[]U[]M[]E[]NT \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 unscaled[][][]weight \OT1/ptm/bc/n/10 is zero or if the com-puted weight thresh- [25] Underfull \hbox (badness 10000) detected at line 59 [][][] Underfull \hbox (badness 10000) detected at line 62 [][][] ) [26] (./group__Datatypes.tex Overfull \hbox (3.74069pt too wide) in paragraph at lines 43--45 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/ bc/n/10 ppl[][][]const[][][][]Constraint[][][][]System[][][]const[] Overfull \hbox (0.36111pt too wide) in paragraph at lines 61--63 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/b c/n/10 ppl[][][]const[][][][]Generator[][][][]System[][][]const[] [27] Overfull \hbox (1.80132pt too wide) in paragraph at lines 76--78 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/1 0 ppl[][][][]Congruence[][][][]System[][][]const[][][]iterator[] Overfull \hbox (16.4409pt too wide) in paragraph at lines 139--141 [][] \OT1/ptm/bc/n/10 type-def struct ppl[][][][]Artificial[][][][]Parameter[][ ][][]Sequence[][][]tag const $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][ ][]const[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [28] Overfull \hbox (27.11154pt too wide) in paragraph at lines 190--192 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhed ron[] Overfull \hbox (14.85136pt too wide) in paragraph at lines 193--195 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[][][][]Grid[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Constraints[][][][]Product[] [29] Overfull \hbox (18.00154pt too wide) in paragraph at lines 202--204 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][]\OT1/pt m/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[ ] Overfull \hbox (21.60114pt too wide) in paragraph at lines 226--228 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] $\OMS/cmsy/m/n/10 ^^C$ [][ ]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[] Overfull \hbox (9.34096pt too wide) in paragraph at lines 229--231 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]tag[][] const $\OMS/cmsy/m/n/10 ^^ C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.77115pt too wide) in paragraph at lines 244--246 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] $\OMS/cms y/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (8.4811pt too wide) in paragraph at lines 247--249 [][] \OT1/ptm/bc/n/10 type-def struct [][]ppl[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][]tag[][] const $\O MS/cmsy/m/n/10 ^^C$ [][]\OT1/ptm/bc/n/10 ppl[][][]const[][][][]Pointset[] [30] [31] Underfull \hbox (badness 10000) detected at line 351 [][][] Overfull \hbox (27.05392pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]io[][][]variable[][][]output[][][]function[][][]typ e[] \OT1/pcr/m/n/8 typedef const char$\OMS/cmsy/m/n/8 ^^C$ \OT1/pcr/m/n/8 ppl[] [][]io[][][]variable[][][]output[][][]function[][][]type([][]ppl[] Overfull \vbox (4.91087pt too high) has occurred while \output is active [32] Overfull \hbox (19.9918pt too wide) in paragraph at lines 490--491 []\OT1/ptm/b/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][][ ][]Representation[] \OT1/pcr/m/n/8 enum [][]ppl[][][]enum[][][][]Bounded[][][][ ]Integer[][][][]Type[][][][]Representation[][] Underfull \vbox (badness 3746) has occurred while \output is active [33] Underfull \hbox (badness 10000) detected at line 534 [][][] Underfull \hbox (badness 10000) detected at line 559 [][][] ) [34] (./interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag.tex Overfull \hbox (7.82706pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][][]from[][][][]Artificial[][][][]P arameter[][][][]Sequence[] Overfull \hbox (23.68665pt too wide) in paragraph at lines 22--24 [][]\OT1/ptm/bc/n/10 const[][][]iterator[][] ([][]ppl[][][][]Artificial[][][][] Parameter[][][][]Sequence[][][]const[][][]iterator[][][]t[][] dst, [][]ppl[][][ ]const[][][][]Artificial[][][][]Parameter[] Overfull \hbox (26.38684pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Artificial[][][][]Paramete r[][][][]Sequence[][][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Artif icial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (7.21704pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][] Artificial[][][][]Parameter[] Overfull \hbox (17.78696pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Seq uence[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Artificial[][ ][][]Parameter[][][][]Sequence[] ) (./interfaceppl__Artificial__Parameter__tag.tex Overfull \hbox (4.9309pt too wide) in paragraph at lines 15--17 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]get[] [][][]Linear[][][][]Expression[][] ([][]ppl[][][]const[][][][]Artificial[][][][ ]Parameter[][][]t[][] ap, [][]ppl[][][][]Linear[] [35] Overfull \hbox (0.85934pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Artificial[][][][]Parameter[][][]coeff icient[][] ([][]ppl[][][]const[][][][]Artificial[][][][]Parameter[][][]t[][] ap , [][]ppl[][][]dimension[][][]type[][] var, ) (./interfaceppl__BD__Shape__double__tag.tex Overfull \hbox (10.32233pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]dimens ion[] Overfull \hbox (28.3727pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Polyhedron[] Overfull \hbox (13.9322pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [][][][]Rational[] Overfull \hbox (8.07243pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (8.63249pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [36] Overfull \hbox (10.57239pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.13245pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.03285pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] [][][]Double[] Overfull \hbox (10.44244pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]S hape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl [][][]const[] Overfull \hbox (7.61217pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (8.17223pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[ ][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.78229pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (3.65257pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][] const[] [37] Overfull \hbox (11.66246pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][] []t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][ ][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (2.7528pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.36253pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounds [][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.12198pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.46193pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.62196pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.96191pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimi ze[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]d ouble[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (11.51242pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]freque ncy[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.29205pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.90219pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (8.92177pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (1.69191pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (14.99254pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][ ][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (5.5818pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [38] Overfull \hbox (18.88243pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine [][][]with[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] [][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (15.842pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]inters ection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (9.46228pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]differ ence[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x , [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (16.38219pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]concat enate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.55199pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]time[] [][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t [][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (7.5321pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (11.422pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]uncons train[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.26245pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]affine [][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (4.2718pt too wide) in paragraph at lines 167--169 \OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (2.81215pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]doub le[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.57211pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.92154pt too wide) in paragraph at lines 175--177 \OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][ ]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][ ][][]Linear[][][][]Expression[] Overfull \hbox (27.50215pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.612pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (23.6022pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove [][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]t[][] ph, [][]ppl[][][]dimension[] [39] Overfull \hbox (19.30246pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.86237pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.40245pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (15.58176pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (4.3319pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (6.15248pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C 76[][][]narrowing[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double [][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (26.84183pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][ ][][]Constraint[] Overfull \hbox (23.46225pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][ ][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][][]Shape [][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][] [][]Generator[] [40] Overfull \hbox (1.78282pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][ ][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]double[ ][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (5.03233pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.81236pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][ ]B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (4.48201pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (2.26204pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][] []B[]D[][][][]Shape[][][]double[][][]t[][] pset, [][]ppl[] Overfull \hbox (20.41179pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] []Shape[][][]double[][][]from[][][]space[][][]dimension [41] Overfull \hbox (4.67235pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]C[][][][]Polyhedron ( Overfull \hbox (19.11229pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]double[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.72226pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][ ][]Shape[][][]double[][][]from[][][][]Rational[][][][]Box ( Overfull \hbox (14.10329pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (15.22328pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.74298pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (5.86298pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] [42] Overfull \hbox (1.07347pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (37.7932pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]Octagonal[] Overfull \hbox (18.24309pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (10.60301pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (0.9931pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []B[]D[][][][]Shape[][][]double[][][]from[][][][]Grid[] Overfull \hbox (15.293pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (25.41252pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (26.53252pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] [43] Overfull \hbox (23.73222pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (9.18303pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[] Overfull \hbox (12.3827pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (10.70241pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.74335pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Constraint[] Overfull \hbox (22.29341pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D [][][][]Shape[][][]double[][][]from[][][][]Congruence[] [44] Overfull \hbox (10.26341pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[ ][][][]Shape[][][]double[][][]from[][][][]Generator[] Overfull \hbox (11.51178pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Constraint Overfull \hbox (5.03185pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]relation[][][]with[][][][]Generator Overfull \hbox (17.06184pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][][] with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]relation[][][]with[][][][]Congruence Overfull \hbox (23.1515pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]constraints Overfull \hbox (28.70157pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]minim ized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][]get[][][]minimized[][][]congruences [45] Overfull \hbox (1.1418pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]contains[][][]integer[][][]point ( Overfull \hbox (5.39171pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]topolo gically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]is[][][]topologically[][][]closed ( Overfull \hbox (3.42314pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]topological[][ ][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][ ]double[][][]topological[][][]closure[] [46] Overfull \hbox (19.51176pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][][] []B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]contains[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (32.32272pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][] contains[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]double[][][]strictly[][][]contains[] Overfull \hbox (1.39285pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoi nt[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoint[] Overfull \hbox (1.5818pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]equals[][][][] B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]double[][][]equals[][][][]B[]D[][][][]Shape[][][]double [47] Overfull \hbox (5.39195pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]refine[][][]with[][][]congruence ( Overfull \hbox (8.53178pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]constraints ( Overfull \hbox (4.48184pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][]wi th[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]refine[][][]with[][][]congruences [48] Overfull \hbox (7.98315pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]double[][][]upper[][][]bound[][][]assign[] Overfull \hbox (30.80284pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][] using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]double[][][]simplify[][][]using[][][]context[] Overfull \hbox (9.01286pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]unconstrain[][][]space[] Overfull \hbox (12.90276pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]double[][][]unconstrain[][][]space[] [49] Overfull \hbox (9.50198pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]bounded[][][]affine[][][]preimage Overfull \hbox (11.68184pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]generalized[][][]affine[][][]image Overfull \hbox (8.04321pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []double[][][]generalized[][][]affine[] [50] Overfull \hbox (27.10283pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]generalized[][][]affine[] Overfull \hbox (9.6827pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]generalized[] Overfull \hbox (42.03287pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (44.0629pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]add[][][]space[][][]dimensions[] Overfull \hbox (10.95177pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]do uble[][][]remove[][][]space[][][]dimensions Overfull \hbox (5.2329pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hi gher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]double[][][]remove[][][]higher[] Overfull \hbox (2.11176pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][]sp ace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]dou ble[][][]expand[][][]space[][][]dimension [51] Overfull \hbox (27.4932pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]double[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (2.49318pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]double[][][]drop[][][]some[][][]non[][][] Overfull \hbox (0.96347pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]external[][][] memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][]external[][][]memory[][][]in[][][] Overfull \hbox (2.0126pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][] [][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (3.23283pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wid ening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]double[][][][]H79[][][]widening[] Overfull \hbox (9.3417pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]double[][][][]B[]H[]M[]Z05[][][]widening[][][]assign [52] Overfull \hbox (18.33296pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][] assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]double[][][]widening[][][]assign[][][]with[] Overfull \hbox (19.372pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr /m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (33.07224pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 in t ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[] Overfull \hbox (3.25226pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (2.08258pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]double[][][]limited[] [53] Overfull \hbox (61.86285pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][ ][]Shape[][][]double[][][]limited[][][][]H79[][][]extrapolation[] Overfull \hbox (8.04286pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]double[][][]limited[][][][]C[]C76[] Overfull \hbox (57.01285pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.24341pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]double[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (3.84216pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][] double[][][][]C[]C76[][][]narrowing[][][]assign ( Overfull \hbox (40.0231pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Constraint[] [54] Overfull \hbox (45.57317pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]double[][][]recycle[][][][]Congruence[] Overfull \hbox (33.54317pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]double[][][]recycle[][][][]Generator[] Overfull \hbox (0.37323pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][]fr om[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]assign[ ][][][]B[]D[][][][]Shape[][][]double[][][]from[][][][]B[]D[][][] Overfull \hbox (12.06174pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]constraints Overfull \hbox (17.6118pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]recyc led[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]d ouble[][][]add[][][]recycled[][][]congruences Overfull \hbox (2.01312pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (0.3432pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]one[][ ][]affine[][][]ranking[][][]function[][][][]P[] [55] Overfull \hbox (1.46292pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][] Overfull \hbox (4.593pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]all[] [][]affine[][][]ranking[][][]functions[][][][]P[] Overfull \hbox (2.93312pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (1.2632pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][ ]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (7.18292pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (5.513pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][] []all[][][]affine[][][]ranking[][][]functions[] [56]) (./interfaceppl__BD__Shape__mpq__class__tag.tex Overfull \hbox (5.86221pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (3.64197pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (10.56195pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.12201pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] [57] Overfull \hbox (0.95065pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pph, Overfull \hbox (5.40195pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.93196pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] Overfull \hbox (3.1817pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.77185pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (12.33191pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (18.1617pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.56207pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.14209pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.49162pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.2818pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]const[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (25.56108pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [58] Overfull \hbox (1.9613pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.61162pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (0.25233pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.86206pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (6.12149pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (4.46144pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (14.71156pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (14.12123pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.93167pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (12.4822pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (3.07146pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (16.37209pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (28.89116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] [59] Overfull \hbox (12.2214pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.84169pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.7616pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.9314pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.66202pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (5.592pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (18.3619pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.2415pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (30.0114pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.06163pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (15.83153pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (9.43188pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.54173pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (21.65166pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (5.53194pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] [60] Overfull \hbox (16.80182pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []expand[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pq[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.07158pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp q[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (9.18156pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (3.88039pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] ph, int com- Overfull \hbox (1.2322pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.17146pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]t[][] ps, size[] Overfull \hbox (4.35188pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.24164pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (2.78186pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.19151pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.70154pt too wide) in paragraph at lines 219--221 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (6.82141pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (9.79172pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpq[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] [61] Overfull \hbox (8.77168pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (15.422pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (7.0819pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.38148pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (15.68144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (28.98207pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpq[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (8.45016pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (6.2302pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (7.89984pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, Overfull \hbox (5.67987pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]t[][] pset, [62] Overfull \hbox (9.94308pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][]space[] Overfull \hbox (21.70216pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (3.84358pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]N[]N[]C[] Overfull \hbox (10.45357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Rational[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (2.49307pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.41278pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [63] Overfull \hbox (3.0421pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (0.82327pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]B[]D[] Overfull \hbox (18.34299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (22.7929pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.35281pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (5.54291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[] Overfull \hbox (19.8428pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] [64] Overfull \hbox (9.0023pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (13.73283pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.1325pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.8522pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][] Overfull \hbox (43.37317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Constraint[] [65] Overfull \hbox (0.9232pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][] Overfull \hbox (36.89323pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]from[][][][]Generator[] Overfull \hbox (38.1416pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (31.66167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (1.79314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]relation[][][]with[] [66] Overfull \hbox (3.0828pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (8.63286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][]get[][][]minimized[] Overfull \hbox (0.2731pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]contains[][][]integer[] Overfull \hbox (2.60301pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (30.05296pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]topological[][][]closure[] [67] Overfull \hbox (7.81178pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (6.15161pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpq[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (1.11285pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contains[][][] Overfull \hbox (31.82233pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strictly[] [68] Overfull \hbox (0.89246pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] Overfull \hbox (19.66292pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.8717pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (22.42177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]refine[][][]with[][][]congruence [69] Overfull \hbox (25.5616pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (31.11166pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]refine[][][]with[][][]congruences Overfull \hbox (2.93295pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]upper[][][]bound[] Overfull \hbox (20.95264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpq[][][]class[][][]simplify[][][]using[] [70] Overfull \hbox (8.76266pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (12.65256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpq[][][]class[][][]unconstrain[] Overfull \hbox (7.47191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (3.83328pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]bounded[][][]affine[] [71] Overfull \hbox (20.41315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]generalized[][][]affine[] Overfull \hbox (2.99301pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (22.05263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (36.31252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (17.78265pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (19.81268pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][][]space[] Overfull \hbox (37.58159pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpq[][][]class[][][]remove[][][]space[][][]dimensions [72] Overfull \hbox (0.1827pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]remove[] Overfull \hbox (28.74158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]expand[][][]space[][][]dimension Overfull \hbox (13.1315pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (10.8016pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpq[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (0.36298pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (8.96298pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[][][]some[] Overfull \hbox (12.23328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][]external[][][]memory[] [73] Overfull \hbox (12.81189pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpq[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (1.7624pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[] Overfull \hbox (29.86266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[][][]widening[] Overfull \hbox (13.27301pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (8.39174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpq[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (22.88277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[][][]widening[][][]assign[] Overfull \hbox (1.84178pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [74] Overfull \hbox (23.22203pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.00206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (28.7124pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (5.93262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (12.59267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpq[][][]class[][][]limited[] Overfull \hbox (3.96262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (29.87323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpq[][][]class[][][][]C[]C76[][][]extrapolation[] [75] Overfull \hbox (1.05347pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpq[][][]class[][][][]C[]C76[][][]narrowing[][][] Overfull \hbox (15.77289pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (21.32295pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (14.09296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]recycle[] Overfull \hbox (3.71283pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [76] Overfull \hbox (38.69156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (0.4231pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]add[][][]recycled[][][] Overfull \hbox (6.13176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (4.46184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class ( Overfull \hbox (8.48293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (6.813pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (12.73273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (11.0628pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (14.11327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] [77] Overfull \hbox (12.44334pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (17.08293pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (15.41301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (21.33273pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (19.66281pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] [78]) (./interfaceppl__BD__Shape__mpz__class__tag.tex Overfull \hbox (4.7421pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (2.52185pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[][][]const[] Overfull \hbox (9.44183pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (10.00189pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/p tm/bc/n/10 pph, [][]ppl[] Overfull \hbox (12.8701pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\ OT1/ptm/bc/n/10 pph, Overfull \hbox (4.28183pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.81184pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n /10 pph, [][]ppl[] [79] Overfull \hbox (2.06158pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]p pl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.65173pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.21179pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]com plexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (17.04158pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (17.60164pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.00201pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (5.02197pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, [][]ppl[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []space[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.3715pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []affine[][][]dimension[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (24.44096pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (37.7416pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (0.84119pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]constraints[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (7.4915pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] [80] Overfull \hbox (5.00137pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 109--111 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (3.34132pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (14.09169pt too wide) in paragraph at lines 111--113 [][][]\OT1/ptm/bc/n/10 Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]C oefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][] []d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 poptimum, [][]ppl[][][][]Genera tor[] Overfull \hbox (13.03139pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (13.83092pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []strictly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][] ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.44106pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []is[][][]disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][]const[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.2515pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []equals[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]const[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (11.36208pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruence[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (1.95134pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (15.25197pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (27.77104pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []refine[][][]with[][][]constraint[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (11.10129pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []intersection[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.72157pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []difference[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]cl ass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.64148pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []concatenate[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]c lass[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.81128pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []time[][][]elapse[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (4.5419pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (10.4113pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] [81] Overfull \hbox (4.47188pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (17.24178pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.27184pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 type[][] var, [][]ppl[][][]const[][][][]Linear[][][][]Expr ession[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t [][] ub, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (16.12138pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (28.89128pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.94151pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 173--175 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.71141pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.92157pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 const[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (8.31177pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (9.42162pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (20.53154pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][] mpz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (4.41182pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.6817pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []expand[][][]space[][][]dimension[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]m pz[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (6.95146pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mp z[][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.06145pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []map[][][]space[][][]dimensions[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz [][][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (2.76027pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] ph, int com- Overfull \hbox (0.11208pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []drop[][][]some[][][]non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (2.05135pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]t[][] ps, size[] [82] Overfull \hbox (3.23177pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] [][]H79[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (7.12152pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (1.66174pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []widening[][][]assign[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] x, [][]ppl[][][]const[][][][]B[]D[][][][]Shape[] Overfull \hbox (3.0714pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][ ] ([][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (5.7013pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]B[]D [][][][]Shape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (8.6716pt too wide) in paragraph at lines 229--231 \OT1/ptm/bc/n/10 Shape[][][]mpz[][][]class[][][]t[][] y, [][]ppl[][][][]B[]D[][ ][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 p[][][]inters, [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[] Overfull \hbox (7.65157pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (14.30188pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (5.96178pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][] class[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]B[]D[][][ ][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (9.70131pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][ ][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] dst, [][]ppl[] Overfull \hbox (14.56133pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Constraint[] Overfull \hbox (27.86195pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] []add[][][]recycled[][][]congruences[][] ([][]ppl[][][][]B[]D[][][][]Shape[][][ ]mpz[][][]class[][][]t[][] ph, [][]ppl[][][][]Congruence[] Overfull \hbox (7.33005pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, [83] Overfull \hbox (5.11008pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]cons t[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (6.77972pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (4.55975pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][]con st[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]t[][] pset, Overfull \hbox (8.82309pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][]space[] Overfull \hbox (20.58217pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (2.72359pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]N[]N[]C[] [84] Overfull \hbox (9.33357pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Rational[] Overfull \hbox (0.25308pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (1.37308pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (8.17279pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.29279pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.9221pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Double[][][][]Box Overfull \hbox (2.58328pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]B[]D[][][] Overfull \hbox (17.22299pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] [85] Overfull \hbox (21.6729pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.23282pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (4.42291pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[] Overfull \hbox (18.72281pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.76231pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.88231pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity( )[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [86] Overfull \hbox (1.40201pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (12.61284pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.01251pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1 /pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (23.73222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]B[]D[][][][]Shape[] Overfull \hbox (42.25317pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Constraint[] Overfull \hbox (47.80324pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Congruence[] Overfull \hbox (35.77324pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]from[][][][]Generator[] [87] Overfull \hbox (37.0216pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[][][][]Constraint Overfull \hbox (30.54167pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]relation[][][]with[][][][]Generator Overfull \hbox (0.67314pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]relation[][][]with[] Overfull \hbox (1.9628pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] Overfull \hbox (7.51286pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][]get[][][]minimized[] [88] Overfull \hbox (2.03311pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]contains[][][]integer[][][] Overfull \hbox (1.48302pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]is[][][]topologically[][][] Overfull \hbox (28.93297pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topolo gical[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]topological[][][]closure[] [89] Overfull \hbox (6.69179pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maximi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]maximize[][][]with[][][]point ( Overfull \hbox (5.03162pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]minimi ze[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][] []mpz[][][]class[][][]minimize[][][]with[][][]point ( Overfull \hbox (3.67287pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contains[][][][]B[] Overfull \hbox (29.58234pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/ 8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strictly[] Overfull \hbox (1.53247pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][][] Overfull \hbox (17.42293pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][ ]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals[][][][]B[]D[][][][]Shape[] [90] Overfull \hbox (15.75171pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]constraint Overfull \hbox (21.30177pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]refine[][][]with[][][]congruence Overfull \hbox (24.4416pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]constraints Overfull \hbox (29.99167pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refine [][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]refine[][][]with[][][]congruences [91] Overfull \hbox (1.81296pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]upper[][][]bound[] Overfull \hbox (19.83264pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simpli fy[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[] [][][]Shape[][][]mpz[][][]class[][][]simplify[][][]using[] Overfull \hbox (7.64267pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]unconstrain[] [92] Overfull \hbox (11.53256pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][] Shape[][][]mpz[][][]class[][][]unconstrain[] Overfull \hbox (6.35191pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]bounded[][][]affine[][][]image Overfull \hbox (2.71329pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]bounde d[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]bounded[][][]affine[] Overfull \hbox (19.29315pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]generalized[][][]affine[] Overfull \hbox (1.87302pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]S hape[][][]mpz[][][]class[][][]generalized[] [93] Overfull \hbox (20.93263pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (35.19252pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (16.66266pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][] B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (18.69269pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][][]space[] Overfull \hbox (36.4616pt too wide) in paragraph at lines 787--788 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape [][][]mpz[][][]class[][][]remove[][][]space[][][]dimensions Overfull \hbox (1.9427pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]remove[][][] Overfull \hbox (27.62158pt too wide) in paragraph at lines 799--800 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expand [][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]expand[][][]space[][][]dimension [94] Overfull \hbox (12.0115pt too wide) in paragraph at lines 805--806 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold[] [][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][]fold[][][]space[][][]dimensions Overfull \hbox (9.68161pt too wide) in paragraph at lines 811--812 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]map[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][ ][]mpz[][][]class[][][]map[][][]space[][][]dimensions Overfull \hbox (2.12299pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]B[ ]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[][][] Overfull \hbox (7.84299pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[][][]some[] Overfull \hbox (11.11328pt too wide) in paragraph at lines 829--830 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][]external[][][]memory[] Overfull \hbox (11.6919pt too wide) in paragraph at lines 835--836 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]total[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sh ape[][][]mpz[][][]class[][][]total[][][]memory[][][]in[][][]bytes Overfull \hbox (0.64241pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[] [95] Overfull \hbox (28.74266pt too wide) in paragraph at lines 847--848 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[][][]widening[] Overfull \hbox (12.15302pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (7.27174pt too wide) in paragraph at lines 859--860 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] [][]mpz[][][]class[][][][]H79[][][]widening[][][]assign ( Overfull \hbox (21.76277pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[][][]widening[][][]assign[] Overfull \hbox (0.72179pt too wide) in paragraph at lines 877--878 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.10204pt too wide) in paragraph at lines 883--884 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.88206pt too wide) in paragraph at lines 889--890 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/p cr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[] [96] Overfull \hbox (27.5924pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (4.81262pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B []D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (11.47267pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []B[]D[][][][]Shape[][][]mpz[][][]class[][][]limited[] Overfull \hbox (2.84262pt too wide) in paragraph at lines 913--914 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (28.75323pt too wide) in paragraph at lines 919--920 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][ ]Shape[][][]mpz[][][]class[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (19.75198pt too wide) in paragraph at lines 925--926 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Sha pe[][][]mpz[][][]class[][][][]C[]C76[][][]narrowing[][][]assign [97] Overfull \hbox (14.6529pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (20.20296pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (12.97296pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]recycle[] Overfull \hbox (1.47284pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (37.57156pt too wide) in paragraph at lines 967--968 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]constraints Overfull \hbox (43.12163pt too wide) in paragraph at lines 973--974 []\OT1/ptm/b/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]add[][][]recycled[][][]congruences Overfull \hbox (5.01176pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( [98] Overfull \hbox (3.34184pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]te st[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class ( Overfull \hbox (7.36293pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (5.69301pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][] []one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (11.61273pt too wide) in paragraph at lines 1003--1004 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (9.94281pt too wide) in paragraph at lines 1009--1010 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (12.99327pt too wide) in paragraph at lines 1015--1016 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.32335pt too wide) in paragraph at lines 1021--1022 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][][] []Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[ ][][]test[][][][]P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.96294pt too wide) in paragraph at lines 1027--1028 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (14.29301pt too wide) in paragraph at lines 1033--1034 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[][][]function[] [99] Overfull \hbox (20.21274pt too wide) in paragraph at lines 1039--1040 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (18.54282pt too wide) in paragraph at lines 1045--1046 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Coefficient__tag.tex [100]) (./interfaceppl__Congruence__System__const__iterator__tag.tex [101] Overfull \hbox (1.72762pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[] Overfull \hbox (2.27753pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Congruence[][][][]System[] [][]const[][][]iterator[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System [][][]const[][][]iterator[] Overfull \hbox (17.54732pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Congruence[][][ ][]System[][][]const[][][]iterator[] ) (./interfaceppl__Congruence__System__tag.tex [102] Overfull \hbox (7.63844pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Congruence[][][][]System[][][ ]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][]Sys tem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[] Overfull \hbox (9.56808pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Congruence[][][][]System[] [][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Congruence[][][][] System[][][]t[][] dst, [][]ppl[] Overfull \hbox (10.67792pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]space[][ ][]dimension[][] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][][]dimension[] Overfull \hbox (4.96837pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]begin[][ ] ([][]ppl[][][]const[][][][]Congruence[][][][]System[][][]t[][] cs, [][]ppl[][ ][][]Congruence[][][][]System[] Overfull \hbox (23.98816pt too wide) in paragraph at lines 60--62 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][][]System[][][]insert[] [][][]Congruence[][] ([][]ppl[][][][]Congruence[][][][]System[][][]t[][] cs, [] []ppl[][][]const[][][][]Congruence[] [103]) (./interfaceppl__Congruence__tag.tex Overfull \hbox (15.0983pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Congruence[][][]coefficient[][] ([][]p pl[][][]const[][][][]Congruence[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] [104]) (./interfaceppl__Constraint__System__const__iterator__tag.tex Overfull \hbox (25.10667pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][][] iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (33.69638pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Constraint[][][][]System[] [][]const[][][]iterator[][][]from[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][] ([][]ppl[][][][]Constraint[] Overfull \hbox (11.7268pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Constraint[][][][]S ystem[][][]const[][][]iterator[] Overfull \hbox (4.24669pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]const[][ ][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Constraint[][][ ][]System[][][]const[][][]iterator[] [105]) (./interfaceppl__Constraint__System__tag.tex Overfull \hbox (24.61707pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][][][]System[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (2.09717pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][][]System[][][]end[][] ([][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] cs, [][]ppl[][][ ][]Constraint[][][][]System[][][]const[] [106]) (./interfaceppl__Constraint__tag.tex Overfull \hbox (1.5281pt too wide) in paragraph at lines 16--18 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraint[][] ([][]ppl[][][] []Constraint[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pc, [][]ppl[][][ ]const[][][][]Linear[][][][]Expression[][][]t[][] le, enum [][]ppl[][][]enum[] [107] Overfull \hbox (1.79767pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraint[][][]coefficient[][] ([][]p pl[][][]const[][][][]Constraint[][][]t[][] c, [][]ppl[][][]dimension[][][]type[ ][] var, [][]ppl[][][][]Coefficient[] ) (./interfaceppl__Constraints__Product__C__Polyhedron__Grid__tag.tex Overfull \hbox (14.4614pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.42136pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension[][] ([][] ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.32178pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (19.76172pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (27.2516pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][] ([][]ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.10153pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][] ([][ ]ppl[][][][]Constraints[][][][]Product[] [108] Overfull \hbox (0.58157pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.2312pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (27.79126pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (21.69168pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (14.19164pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.26022pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[][] Overfull \hbox (5.4219pt too wide) in paragraph at lines 41--43 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.44136pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.72202pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][ ][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (2.39153pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexi ty[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (38.22112pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]wit h[][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (20.69154pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (21.2516pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [][]class[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (20.90985pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]with[][][]complexity[][] Overfull \hbox (2.55026pt too wide) in paragraph at lines 55--57 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t[][] ph, int Overfull \hbox (21.46991pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]with[][][]complexity[][] Overfull \hbox (3.11032pt too wide) in paragraph at lines 57--59 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][] ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t[][] ph, int Overfull \hbox (33.77144pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (7.65198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]doubl e[][][]with[][][]complexity[][] ([][]ppl[] Overfull \hbox (7.87029pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][] double[][][]with[][][]complexity[][] Overfull \hbox (9.24173pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (16.57161pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 with[][][]complexity[][] ([][]ppl[][][][]Constraints[][][] []Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^ ^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (23.66107pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Constraints[][][][]Product[][][] []C[][][][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Constraints[][][][]Product[] [109] Overfull \hbox (26.11101pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[ ][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (25.8513pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.3313pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.29152pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.80093pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][ ][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (31.95103pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]C onstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.9711pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]topological[][][]closure[][][]assign[][] ([][]ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (9.71191pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (10.32164pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]con st[][][][]Constraints[][][][]Product[] Overfull \hbox (30.02118pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 97--99 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (28.36113pt too wide) in paragraph at lines 99--101 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][] ([][]ppl[][][]const[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.78001pt too wide) in paragraph at lines 99--101 [][][]\OT1/ptm/bc/n/10 Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][] [][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 poptimum) Overfull \hbox (15.58107pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 101--103 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (13.92102pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]c onst[][][][]Constraints[][][][]Product[] Overfull \hbox (3.36195pt too wide) in paragraph at lines 103--105 [][][]\OT1/ptm/bc/n/10 C[][][][]Polyhedron[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coeffic ient[][][]t[][] ext[][][]n, [][]ppl[][][][]Coefficient[] Overfull \hbox (21.13144pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][ ]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (12.5711pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][] Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.18124pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][] [][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.35155pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C [][][][]Polyhedron[][][][]Grid[][] ([][]ppl[] Overfull \hbox (5.02113pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][][]OK[][] ([][]ppl[][][]const[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.35141pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraint[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (30.00172pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruence[][] ([][]ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] [110] Overfull \hbox (27.2413pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]constraints[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (33.89162pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]congruences[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.62155pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (34.7512pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]difference[][][]assign[][] ([][]ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.84091pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][] Constraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.1216pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[] [] ([][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (6.42146pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]constrains[][] ([][]ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (23.63115pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (16.4315pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]image[][] ([][]ppl[][][][]Constraints [][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.2014pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]affine[][][]preimage[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26169pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (6.1413pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][] ([][]ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (18.9112pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][] ([][]pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (2.52121pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][] rhs[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (15.2911pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][ ][]rhs[][] ([][]ppl[][][][]Constraints[] [111] Overfull \hbox (8.89146pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embe d[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.00131pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]proj ect[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (10.55145pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (4.99152pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (5.70161pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][] [][]Constraints[][][][]Product[] Overfull \hbox (0.69177pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[ ][][]2[][] ([][]ppl[][][][]Constraints[] Overfull \hbox (0.97137pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes[][] ([][] ppl[][][]const[][][][]Constraints[] Overfull \hbox (21.40106pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl [][][]const[][][][]Constraints[][][][]Product[] Overfull \hbox (22.70122pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens[][] ([ ][]ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (31.69138pt too wide) in paragraph at lines 189--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]widening[][][]assign[][] ([][]ppl[][][][]Constrai nts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.85143pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Constraints[][][][]Pro duct[][][][]C[][][][]Polyhedron[][][][]Grid[][] ([][]ppl[][][]const[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.83125pt too wide) in paragraph at lines 195--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Constraints[][][][]P roduct[][][][]C[][][][]Polyhedron[][][][]Grid[][] (char $\OMS/cmsy/m/n/10 ^^C$$ ^^C$\OT1/ptm/bc/n/10 strp, [][]ppl[][][]const[][][][]Constraints[][][][]Product [] Overfull \hbox (35.29124pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.02145pt too wide) in paragraph at lines 199--200 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid[][][]ascii[][][]load[][] ([][]ppl[][][][]Constraints[] [][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (36.6532pt too wide) in paragraph at lines 211--212 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Constraints[][][][]Product[][][][]C[] [][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Cons traints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3924pt too wide) in paragraph at lines 217--218 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/ 8 int ppl[][][]new[][][][]Constraints[] [112] Overfull \hbox (7.45296pt too wide) in paragraph at lines 223--224 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (21.8929pt too wide) in paragraph at lines 229--230 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/p cr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.60298pt too wide) in paragraph at lines 235--236 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Constraints[][][][]Product[] Overfull \hbox (4.50287pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (36.70241pt too wide) in paragraph at lines 247--248 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (37.8224pt too wide) in paragraph at lines 253--254 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (11.0221pt too wide) in paragraph at lines 259--260 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (12.14209pt too wide) in paragraph at lines 265--266 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [113] Overfull \hbox (1.2729pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][] Overfull \hbox (23.67259pt too wide) in paragraph at lines 277--278 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \O T1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (0.87228pt too wide) in paragraph at lines 283--284 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (21.9302pt too wide) in paragraph at lines 289--290 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (7.24219pt too wide) in paragraph at lines 295--296 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (21.68213pt too wide) in paragraph at lines 301--302 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (40.87224pt too wide) in paragraph at lines 307--308 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Grid[][][]with[][][]complexity()[] \ OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (4.2921pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] [114] Overfull \hbox (8.31012pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (9.43011pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]clas s[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int Overfull \hbox (15.90984pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 331--332 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][ ]class[][][]with[][][]complexity Overfull \hbox (17.02983pt too wide) in paragraph at lines 337--338 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity()[] Overfull \hbox (11.25407pt too wide) in paragraph at lines 337--338 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][ ]class[][][]with[][][]complexity Overfull \hbox (1.06213pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (23.46182pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]w ith[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (2.88002pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity()[] Overfull \hbox (8.37407pt too wide) in paragraph at lines 355--356 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[] [][]with[][][]complexity ( [115] Overfull \hbox (1.85179pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[ ][][][]Polyhedron[][][][]Grid[] Overfull \hbox (9.12473pt too wide) in paragraph at lines 361--362 [][]\OT1/ptm/b/n/10 with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Constraints[][][][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]fro m[][][][]Constraints[][][][]Product[] Overfull \hbox (27.82246pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Constraint[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (33.37253pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[][][]from[][][][]Congruence[][][][]System()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Constraints[] Overfull \hbox (2.81264pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (0.49269pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]C onstraints[][][][]Product[][][][]C[] Overfull \hbox (26.7724pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.09247pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 in t ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (32.32246pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] [116] Overfull \hbox (16.91315pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Constrain ts[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.16286pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (27.49298pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.85233pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (23.39287pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Constr aints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.78227pt too wide) in paragraph at lines 439--440 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (5.47299pt too wide) in paragraph at lines 445--446 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (5.57285pt too wide) in paragraph at lines 451--452 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Constraints[][][][]Product[] Overfull \hbox (21.08315pt too wide) in paragraph at lines 457--458 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] [117] Overfull \hbox (19.42297pt too wide) in paragraph at lines 463--464 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][ ][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.84259pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (9.18242pt too wide) in paragraph at lines 475--476 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Constraints[][][][]Product[] Overfull \hbox (15.74998pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]contains[][][][]Constraints[][][][]Product[][][][]C[][][] []Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (5.10138pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]strictly[][][]contains[][][][]Constraints[][][][]Product[ ][][][]C[][][][]Polyhedron[] Overfull \hbox (3.73514pt too wide) in paragraph at lines 487--488 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]strictly[][][]contains[][] [][]Constraints[][][][]Product[] Overfull \hbox (2.97153pt too wide) in paragraph at lines 493--494 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]disjoint[][][]from[][][][]Constraints[][][][]Prod uct[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.69514pt too wide) in paragraph at lines 493--494 [][][]\OT1/ptm/b/n/10 Grid()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][ ]Product[][][][]C[][][][]Polyhedron[][][][]Grid[][][]is[][][]disjoint[][][]from [][][][]Constraints[][][][]Product[][][][]C[] [118] Overfull \hbox (7.42003pt too wide) in paragraph at lines 499--500 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]equals[][][][]Constraints[][][][]Product[][][][]C[][][][] Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int Overfull \hbox (17.62337pt too wide) in paragraph at lines 505--506 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][][]O[]K()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][ ][]Product[][][][]C[][][][]Polyhedron[][][][]Grid[] Overfull \hbox (43.0329pt too wide) in paragraph at lines 511--512 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.58293pt too wide) in paragraph at lines 517--518 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Con straints[][][][]Product[][][][]C[][][] Overfull \hbox (46.92279pt too wide) in paragraph at lines 523--524 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.59282pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[] Overfull \hbox (15.10251pt too wide) in paragraph at lines 535--536 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (20.65257pt too wide) in paragraph at lines 541--542 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] [119] Overfull \hbox (18.9924pt too wide) in paragraph at lines 547--548 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (24.54247pt too wide) in paragraph at lines 553--554 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (1.13237pt too wide) in paragraph at lines 559--560 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][] []Constraints[][][][]Product[] Overfull \hbox (7.54259pt too wide) in paragraph at lines 565--566 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[] Overfull \hbox (1.40259pt too wide) in paragraph at lines 571--572 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.6827pt too wide) in paragraph at lines 577--578 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Constraints[][][][]Product[] Overfull \hbox (2.6125pt too wide) in paragraph at lines 583--584 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Constraints[][][][]Product[][][] Overfull \hbox (6.58226pt too wide) in paragraph at lines 589--590 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/ pcr/m/n/8 int ppl[][][][]Constraints[] [120] Overfull \hbox (23.87296pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[ ][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.49197pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (14.38187pt too wide) in paragraph at lines 607--608 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.02313pt too wide) in paragraph at lines 613--614 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Const raints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (47.28302pt too wide) in paragraph at lines 619--620 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.30272pt too wide) in paragraph at lines 625--626 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (29.5626pt too wide) in paragraph at lines 631--632 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] [121] Overfull \hbox (26.94246pt too wide) in paragraph at lines 637--638 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (4.72232pt too wide) in paragraph at lines 643--644 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (23.78194pt too wide) in paragraph at lines 649--650 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (38.04182pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (31.03197pt too wide) in paragraph at lines 661--662 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \O T1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.062pt too wide) in paragraph at lines 667--668 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] [122] Overfull \hbox (31.01239pt too wide) in paragraph at lines 673--674 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (25.91202pt too wide) in paragraph at lines 679--680 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pc r/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (26.97238pt too wide) in paragraph at lines 685--686 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int p pl[][][][]Constraints[][][][]Product[] Overfull \hbox (16.16231pt too wide) in paragraph at lines 691--692 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Constraints[][][][]Product[] Overfull \hbox (18.63242pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Constraints[][][][]Product[] Overfull \hbox (13.61229pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1 /pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (22.2123pt too wide) in paragraph at lines 709--710 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2() [] \OT1/pcr/m/n/8 int ppl[][][][]Constraints[] Overfull \hbox (33.1626pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Constraints[][][][]Product[] [123] Overfull \hbox (17.7627pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Constraints[][][][]Product[] Overfull \hbox (7.33206pt too wide) in paragraph at lines 727--728 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m /n/8 int ppl[][][][]Constraints[] Overfull \hbox (0.60266pt too wide) in paragraph at lines 733--734 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Co nstraints[][][][]Product[][][][]C[][][] Overfull \hbox (1.51312pt too wide) in paragraph at lines 739--740 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[][] [][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]pri nt[][][][]Constraints[][][][]Product[][][][]C[] Overfull \hbox (1.96307pt too wide) in paragraph at lines 745--746 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fp rint[][][][]Constraints[][][][]Product[] Overfull \hbox (12.32301pt too wide) in paragraph at lines 751--752 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]a sprint[][][][]Constraints[][][][]Product[] Overfull \hbox (27.48296pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.81302pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Constra ints[][][][]Product[][][][]C[][][][]Polyhedron[] [124]) (./interfaceppl__Double__Box__tag.tex Overfull \hbox (7.5225pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (8.08257pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Double[][][][]Box[ ][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][] []B[]D[][][][]Shape[] Overfull \hbox (20.86249pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (2.41263pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (0.19238pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Double[][] [][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]con st[] Overfull \hbox (7.11237pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (7.67242pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl [][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , [][]ppl[] Overfull \hbox (10.54063pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, Overfull \hbox (11.1007pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([] []ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/1 0 pph, [125] Overfull \hbox (9.49263pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][ ][]Congruence[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[ ] Overfull \hbox (3.63234pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]relation[][][]with [][][][]Congruence[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (6.28996pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]constrain ts[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][ ]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/pt m/bc/n/10 pcs) Overfull \hbox (11.96216pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]minimized [][][]congruences[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] p h, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (4.71272pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]above[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (5.32245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]bounds[][][]from[] [][]below[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][]p pl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (9.72252pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]upper[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (9.47238pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]get[][][]lower[][] []bound[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ps, [][]ppl[][][]dimen sion[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (10.58188pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]maximize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.92183pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]minimize[][][]with [][][]point[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[][] ph, [][ ]ppl[][][]const[][][][]Linear[][][][]Expression[] [126] Overfull \hbox (5.85234pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]refine[][][]with[] [][]congruences[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]const[][][][]Congruence[][][][]System[] Overfull \hbox (0.82236pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]affine[][][]image[ ][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension[][] []type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (9.33069pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, enum Overfull \hbox (32.23175pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]generalized[][][]a ffine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Double[][][][]Box[][][]t [][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (8.37874pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]remove[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][ ][]dimension[][][]type[][] ds[]$ $[], size[] [127] Overfull \hbox (8.12848pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]map[][][]space[][] []dimensions[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] ph, [][]ppl[][][] dimension[][][]type[][] maps[]$ $[], size[] Overfull \hbox (6.6776pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][] []non[][][]integer[][][]points[][][]2[][] ([][]ppl[][][][]Double[][][][]Box[][] []t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.24174pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[] C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Do uble[][][][]Box[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (13.81174pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Constraint[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[][][][]S ystem[] Overfull \hbox (10.43216pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[] [][][]Generator[][][][]System[][] ([][]ppl[][][][]Double[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[][][][]Sys tem[] Overfull \hbox (2.53229pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (0.31232pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][][ ][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (8.11209pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.89212pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Double[][][][]Box[][] ([][]ppl[][][]const[][][][]Double[][] [][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (6.40175pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] Overfull \hbox (4.18178pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Do uble[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Double[][][][]Box[][][]t[ ][] pset[][][]before, [][]ppl[][][]const[][][][]Double[] [128] Overfull \hbox (1.9221pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [129] Overfull \hbox (3.0421pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Dou ble[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class Overfull \hbox (3.4633pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Double[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (17.3135pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double [][][][]Box[][][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (29.44342pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][] [][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.60333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[ ]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[]C[] [130] Overfull \hbox (17.61194pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Grid[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][] [][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (9.21332pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ratio nal[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Double[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (0.13283pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.25282pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (8.05254pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (9.17253pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Double[][][][]Box[] Overfull \hbox (10.78336pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Doubl e[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Double[][][][]Box[][][]from[][][][]Double[][][][]Box[] Overfull \hbox (2.46303pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[][][] [131] Overfull \hbox (17.10274pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Box[][][]from[] Overfull \hbox (1.68216pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Const raint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Constraint[][][][]System ( Overfull \hbox (7.23222pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Congr uence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][]Bo x[][][]from[][][][]Congruence[][][][]System ( [132] [133] [134] Overfull \hbox (9.26186pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]strictly[][][]contains[][] [][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] strictly[][][]contains[][][][]Double[][][][]Box ( Overfull \hbox (0.412pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]is[][][]disjoint[][][]from [][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[] [][]is[][][]disjoint[][][]from[][][][]Double[][][][]Box ( [135] [136] Overfull \hbox (0.60197pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]upper[][][]bound[][][]assi gn[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][] upper[][][]bound[][][]assign[][][]if[][][]exact ( Overfull \hbox (6.14165pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][]c ontext[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]sim plify[][][]using[][][]context[][][]assign Overfull \hbox (8.35168pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstrai n[][][]space[][][]dimension ( Overfull \hbox (7.44157pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]unconstra in[][][]space[][][]dimensions [137] Overfull \hbox (2.58203pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]generalize d[][][]affine[][][]preimage ( Overfull \hbox (6.62314pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]generalized[][][]affine[][][]image[] Overfull \hbox (35.28304pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]generalized[][][]affine[][][]preimage[] Overfull \hbox (11.95317pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][ ][]add[][][]space[][][]dimensions[][][]and[] Overfull \hbox (13.9832pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]add[][][]space[][][]dimensions[][][]and[] [138] Overfull \hbox (26.65173pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]higher[][][]sp ace[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]re move[][][]higher[][][]space[][][]dimensions Overfull \hbox (2.832pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][ ]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (20.41351pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[][ ][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]B ox[][][]drop[][][]some[][][]non[][][]integer[][][]points[] [139] Overfull \hbox (1.8932pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][] []assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][] Box[][][][]C[]C76[][][]widening[][][]assign[][][] Overfull \hbox (3.27177pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][][] with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[][][]widen ing[][][]assign[][][]with[][][]tokens ( Overfull \hbox (25.9632pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Double[][][][]Box[ ][][]limited[][][][]C[]C76[][][]extrapolation[] [140] Overfull \hbox (15.36191pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co nstraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Constraint[][][][]System Overfull \hbox (1.09346pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Co ngruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][ ]Box[][][]recycle[][][][]Congruence[][][] Overfull \hbox (8.88197pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][]Ge nerator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Double[][][][] Box[][][]recycle[][][][]Generator[][][][]System [141] Overfull \hbox (13.21346pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (11.54353pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][ ][]ranking[][][]function[][][][]P[]R[][][][]Double[] Overfull \hbox (17.46326pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (15.79333pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine[] [][]ranking[][][]functions[][][][]P[]R[][][][]Double[] Overfull \hbox (21.81346pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]M[]S[][][][]Double[] Overfull \hbox (20.14354pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]af fine[][][]ranking[][][]function[][][][]P[]R[][][][]Double[] [142] Overfull \hbox (26.06326pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]M[]S[][][][]Double[] Overfull \hbox (24.39334pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]a ffine[][][]ranking[][][]functions[][][][]P[]R[][][][]Double[] ) (./interfaceppl__Generator__System__const__iterator__tag.tex [143] Overfull \hbox (20.03731pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][]it erator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (28.62701pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]from[][][][]Generator[][][][]System[][][]const[][][ ]iterator[][] ([][]ppl[][][][]Generator[] Overfull \hbox (8.34723pt too wide) in paragraph at lines 32--34 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]dereference[][] ([][]ppl[][][]const[][][][]Generator[][][][]Sys tem[][][]const[][][]iterator[] Overfull \hbox (0.86711pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]const[][] []iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Generator[][][][ ]System[][][]const[][][]iterator[] ) (./interfaceppl__Generator__System__tag.tex Overfull \hbox (18.41797pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][] ([][]ppl[][][][]Generator[][][][]System[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (7.88792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Generator[][][][]System[][][] from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Generator[][][][]System [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs, [][]ppl[][][]const[] [144] Overfull \hbox (5.21785pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Generator[][][][]System[][][]begin[][] ([][]ppl[][][]const[][][][]Generator[][][][]System[][][]t[][] gs, [][]ppl[][][ ][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Generator__tag.tex [145] [146]) (./interfaceppl__Grid__Generator__System__const__iterator__tag.tex Overfull \hbox (20.31735pt too wide) in paragraph at lines 19--21 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][][]S ystem[][][]const[][][]iterator[][] ([][]ppl[] Overfull \hbox (2.36742pt too wide) in paragraph at lines 19--21 [][][]\OT1/ptm/bc/n/10 Grid[][][][]Generator[][][][]System[][][]const[][][]iter ator[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgit, [][]ppl[][][]const [][][][]Grid[][][][]Generator[][][][]System[][][]const[][][]iterator[] Overfull \hbox (1.91568pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]const[][][]iterator[][][]from[][][][]Grid[][][][]Generator[][][] []System[][][]const[][][]iterator[][] Overfull \hbox (10.18723pt too wide) in paragraph at lines 22--24 \OT1/ptm/bc/n/10 ([][]ppl[][][][]Grid[][][][]Generator[][][][]System[][][]const [][][]iterator[][][]t[][] dst, [][]ppl[][][]const[][][][]Grid[][][][]Generator[ ][][][]System[][][]const[][][]iterator[] Overfull \hbox (20.85709pt too wide) in paragraph at lines 35--37 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Grid[][][][]Generator [][][][]System[][][]const[][][]iterator[] Overfull \hbox (12.24728pt too wide) in paragraph at lines 38--40 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Grid [][][][]Generator[][][][]System[][][]const[] ) (./interfaceppl__Grid__Generator__System__tag.tex [147] Overfull \hbox (4.49792pt too wide) in paragraph at lines 22--24 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][][]Generator[][][][] System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][][][ ]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.08763pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Grid[][][][]Generator[][][ ][]System[][][]from[][][][]Grid[][][][]Generator[][][][]System[][] ([][]ppl[][] [][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (13.24803pt too wide) in paragraph at lines 41--43 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]begin[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][] []t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (5.61804pt too wide) in paragraph at lines 44--46 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]end[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][]System[][][] t[][] gs, [][]ppl[][][][]Grid[][][][]Generator[] Overfull \hbox (2.72562pt too wide) in paragraph at lines 73--75 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][][]Generator[][][][]System[][ ][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Grid[][][][]Generator[][][][] System[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) [148]) (./interfaceppl__Grid__Generator__tag.tex [149]) (./interfaceppl__Grid__tag.tex Overfull \hbox (3.80247pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][ ][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron [] [150] Overfull \hbox (1.55243pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][] []Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[] [][][]Shape[] Overfull \hbox (27.93198pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[ ][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Grid[][] []t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]O ctagonal[] Overfull \hbox (6.9618pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][] []Generator[][][][]System[][] ([][]ppl[][][][]Grid[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid[][][][]Generator[][][ ][]System[] Overfull \hbox (3.21011pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][ ][]Congruence[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p cs) Overfull \hbox (7.22137pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]get[][][]minimized[][][]grid[][ ][]generators[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Grid[][][][]Generator[][][][]System[] Overfull \hbox (28.41115pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]maximize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (26.7511pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]minimize[][][]with[][][]point[] [] ([][]ppl[][][]const[][][][]Grid[][][]t[][] ph, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] le, [][]ppl[][][][]Coefficient[] [151] Overfull \hbox (24.14204pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]bounded[][][]affine[][][]image[ ][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] va r, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.17998pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[][][]t[][] lhs, enum Overfull \hbox (4.87045pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]im age[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[] [][]dimension[][][]type[][] var, enum Overfull \hbox (1.3616pt too wide) in paragraph at lines 187--189 [][]\OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]c onst[][][][]Coefficient[][][]t[][] d, [][]ppl[] [152] Overfull \hbox (5.27174pt too wide) in paragraph at lines 193--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]generalized[][][]affine[][][]pr eimage[][][]lhs[][][]rhs[][][]with[][][]congruence[][] ([][]ppl[][][][]Grid[][] []t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.88818pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]fold[][][]space[][][]dimensions [][] ([][]ppl[][][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] d s[]$ $[], size[][][]t n, [][]ppl[][][]dimension[] Overfull \hbox (9.77875pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Grid[][][]wrap[][][]assign[][] ([][]ppl[] [][][]Grid[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] ds[]$ $[], size[ ][][]t n, enum [][]ppl[][][]enum[][][][]Bounded[] Overfull \hbox (8.82231pt too wide) in paragraph at lines 237--239 [][][]\OT1/ptm/bc/n/10 Bounded[][][][]Integer[][][][]Type[][][][]Overflow[][] o , const [][]ppl[][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cms y/m/n/10 ^^C$\OT1/ptm/bc/n/10 pcs, un-signed complexity[] [153] Overfull \hbox (4.96187pt too wide) in paragraph at lines 269--271 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.7419pt too wide) in paragraph at lines 271--273 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (4.41154pt too wide) in paragraph at lines 273--275 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] Overfull \hbox (2.19157pt too wide) in paragraph at lines 275--277 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Grid[][][]2[][] ([][]ppl[][][]const[][][][]Grid[][][]t[][] pset[][][]before, [][]ppl[][][]const[][][][]Grid[][][]t[][] pset[] [154] Overfull \hbox (8.37189pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class Overfull \hbox (9.49188pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class Overfull \hbox (36.272pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Pol yhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Gr id[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[] [155] Overfull \hbox (33.32191pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][]Bo x[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][] []from[][][][]Rational[][][][]Box[][][]with[][][]complexity Overfull \hbox (2.50291pt too wide) in paragraph at lines 399--400 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.7429pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.06262pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (20.18262pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Grid[][][]from[][][][]Octagonal[] Overfull \hbox (17.61194pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Box[ ][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity [156] Overfull \hbox (0.9931pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (6.0328pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Grid[][][]from[][][][]Octagonal[] [157] [158] [159] [160] [161] [162] Overfull \hbox (3.7116pt too wide) in paragraph at lines 807--808 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[][][]a ffine[][][]preimage[][][]lhs[][][]rhs Overfull \hbox (13.20297pt too wide) in paragraph at lines 813--814 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalized[] [][]affine[][][]image[][][]with[] [163] Overfull \hbox (19.78285pt too wide) in paragraph at lines 819--820 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generalize d[][][]affine[][][]preimage[] Overfull \hbox (0.44244pt too wide) in paragraph at lines 825--826 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[ ][][]generalized[][][]affine[][][] Overfull \hbox (11.82233pt too wide) in paragraph at lines 831--832 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Gr id[][][]generalized[][][]affine[] [164] Overfull \hbox (17.18285pt too wide) in paragraph at lines 903--904 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[][ ][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]congruence[][][ ]widening[][][]assign[][][]with[] Overfull \hbox (5.15298pt too wide) in paragraph at lines 909--910 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]generator[][][]w idening[][][]assign[][][]with[] [165] Overfull \hbox (10.54222pt too wide) in paragraph at lines 939--940 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][ ][]limited[][][]congruence[] Overfull \hbox (1.39236pt too wide) in paragraph at lines 945--946 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][] []limited[][][]generator[][][] Overfull \hbox (22.05283pt too wide) in paragraph at lines 951--952 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]congru ence[][][]extrapolation[] Overfull \hbox (10.02296pt too wide) in paragraph at lines 957--958 []\OT1/ptm/b/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Grid[][][]limited[][][]generat or[][][]extrapolation[] [166] Overfull \hbox (7.5717pt too wide) in paragraph at lines 981--982 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Grid[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Grid[][][]recyc le[][][][]Grid[][][][]Generator[][][][]System ( [167] [168]) (./interfaceppl__Linear__Expression__tag.tex [169] Overfull \hbox (22.34773pt too wide) in paragraph at lines 25--27 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Constraint[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Constrai nt[] Overfull \hbox (18.96815pt too wide) in paragraph at lines 28--30 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Linear[][][][]Expression[][][ ]from[][][][]Generator[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ple, [][]ppl[][][]const[][][][]Generator [] Overfull \hbox (15.40788pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]inhomoge neous[][][]term[][] ([][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[ ][] le, [][]ppl[][][][]Coefficient[] Overfull \hbox (2.65662pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le , [][]ppl[][][]dimension[][][]type[][] var, [170] Overfull \hbox (22.89804pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Linear[][][][]Expression[][][]add[][][ ]to[][][]inhomogeneous[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[][][]const[][][][]Coefficient[] Overfull \hbox (25.43753pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]multiply[][][][]Linear[][][][]Expression [][][]by[][][][]Coefficient[][] ([][]ppl[][][][]Linear[][][][]Expression[][][]t [][] le, [][]ppl[][][]const[][][][]Coefficient[] ) (./interfaceppl__MIP__Problem__tag.tex [171] Overfull \hbox (14.92802pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][] ([ ][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/ bc/n/10 pmip, [][]ppl[][][]dimension[][][]type[][] d, [][]ppl[][][]const[][][][ ]Constraint[] Overfull \hbox (20.14798pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]M[]I[]P[][][][]Problem[][][]f rom[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pmip, [][]ppl[][][]const[][][][ ]M[]I[]P[][][][]Problem[] Overfull \hbox (14.84767pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]M[]I[]P[][][][]Problem[][] []from[][][][]M[]I[]P[][][][]Problem[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[] Overfull \hbox (1.62802pt too wide) in paragraph at lines 69--71 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]number[][] []of[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[] I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[] Overfull \hbox (0.81778pt too wide) in paragraph at lines 72--74 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]integer[][ ][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (28.59772pt too wide) in paragraph at lines 81--83 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]objective[ ][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[][][]t[][] mip, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [172] Overfull \hbox (11.228pt too wide) in paragraph at lines 97--99 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]s pace[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]M[]I[]P[][][][]Pro blem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (5.5279pt too wide) in paragraph at lines 100--102 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]add[][][]t o[][][]integer[][][]space[][][]dimensions[][] ([][]ppl[][][][]M[]I[]P[][][][]Pr oblem[][][]t[][] mip, [][]ppl[][][]dimension[] Overfull \hbox (18.59772pt too wide) in paragraph at lines 109--111 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]set[][][]o bjective[][][]function[][] ([][]ppl[][][][]M[]I[]P[][][][]Problem[][][]t[][] mi p, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (28.95757pt too wide) in paragraph at lines 124--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][ ]objective[][][]function[][] ([][]ppl[][][]const[][][][]M[]I[]P[][][][]Problem[ ][][]t[][] mip, [][]ppl[][][]const[][][][]Generator[] [173] Underfull \hbox (badness 10000) detected at line 188 [][][] Overfull \hbox (2.87207pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][][]M[]I[]P[][][][]Problem[][][]evaluate[][][]objecti ve[][][]function()[] \OT1/pcr/m/n/8 int ppl[][][][]M[]I[]P[][][][]Problem[][][] evaluate[][][]objective[][][]function Underfull \vbox (badness 10000) has occurred while \output is active [174]) (./interfaceppl__Octagonal__Shape__double__tag.tex Overfull \hbox (8.3726pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (6.15236pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[ ] Overfull \hbox (19.41191pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (19.97197pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.70268pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (0.96109pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph , Overfull \hbox (6.37234pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (1.80223pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.24217pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] [175] Overfull \hbox (3.17188pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (18.17213pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.342pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (2.93048pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (9.5808pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (1.24069pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (7.51181pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][] double[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (0.2519pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g et[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][] [][]Shape[][][]double[] Overfull \hbox (2.76273pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] [176] Overfull \hbox (3.37245pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shap e[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (8.63188pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m aximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.97183pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]m inimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.18202pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]e quals[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (26.40169pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][] t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (30.29158pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (8.17241pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] x, [][]ppl[] [177] Overfull \hbox (14.04181pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]s implify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (7.54207pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a ffine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.75189pt too wide) in paragraph at lines 165--167 \OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Linear[ ][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Expres sion[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (0.3125pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]b ounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 167--169 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 169--171 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (11.962pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (6.43187pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, enum [][]ppl[][][]enum[][][][ ]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.4618pt too wide) in paragraph at lines 173--175 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (7.47182pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]double[] Overfull \hbox (3.46184pt too wide) in paragraph at lines 175--177 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] lhs, enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel -sym, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.07217pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]double[] Overfull \hbox (2.18202pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (3.60226pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]r emove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.11154pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]t otal[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] ps, size[] [178] Overfull \hbox (2.2523pt too wide) in paragraph at lines 201--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (10.75203pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (29.17184pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]w idening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][ ]t[][] x, [][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (11.14146pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (19.01163pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (3.4617pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]double[] Overfull \hbox (2.10213pt too wide) in paragraph at lines 217--219 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][ ]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]t[][] x, [][]ppl[] Overfull \hbox (3.62177pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]l inear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][ ]double[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (12.21039pt too wide) in paragraph at lines 225--227 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (10.5206pt too wide) in paragraph at lines 229--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]doub le[][][]recycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]double[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (14.96205pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (4.28249pt too wide) in paragraph at lines 235--237 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]a dd[][][]recycled[][][]congruences[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]t[][] ph, [][]ppl[] Overfull \hbox (17.76215pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (15.54218pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.21182pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] [179] Overfull \hbox (14.99185pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][]const[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (2.71152pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.49155pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]double[][][]2[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]double[][][]t[][] pset[] Overfull \hbox (0.83298pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octag onal[][][][]Shape[][][]double[][][] Overfull \hbox (9.09355pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (1.45348pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]double[] [180] Overfull \hbox (6.14346pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octa gonal[][][][]Shape[][][]double[][][]from[] Overfull \hbox (16.26299pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.38298pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.23317pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.55287pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[] [181] Overfull \hbox (1.20277pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[] Overfull \hbox (15.64272pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (20.43282pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (1.13269pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][] Overfull \hbox (30.45222pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] [182] Overfull \hbox (1.0919pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (19.02274pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.42241pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pc r/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.3421pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \O T1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (7.38304pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (12.9331pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (5.70311pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][] Octagonal[][][][]Shape[][][]double[] Overfull \hbox (8.91173pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]space[][] []dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]space[][][]dimension ( [183] Overfull \hbox (4.67178pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]affine[][][]dimension Overfull \hbox (11.13298pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (9.45305pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]relation[] Overfull \hbox (16.68304pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]relation[] Overfull \hbox (1.67188pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]constraints ( Overfull \hbox (7.22194pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]get[][][]congruences ( Overfull \hbox (40.05272pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][]minimized[] Overfull \hbox (2.40276pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][]get[][][] [184] Overfull \hbox (0.763pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]contains[] Overfull \hbox (36.69293pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]t opologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]is[][][]topologically[] Overfull \hbox (30.54286pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topologic al[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]topological[] Overfull \hbox (2.31358pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] Overfull \hbox (2.41344pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[][ ][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []double[][][]bounds[][][]from[] [185] Overfull \hbox (17.28319pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]maximize[][][]with[] Overfull \hbox (15.62302pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimize[ ][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]double[][][]minimize[][][]with[] Overfull \hbox (9.77266pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (11.68211pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[ ][][]contains[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.55226pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]d isjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [186] Overfull \hbox (1.4427pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][ ][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[] Overfull \hbox (1.88202pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]double [][][]add[][][]congruence ( Overfull \hbox (5.02185pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]constraints ( Overfull \hbox (0.97191pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]add[][][]congruences Overfull \hbox (11.9431pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (17.49316pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]refine[][][]with[] Overfull \hbox (15.833pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][]with[] Overfull \hbox (2.18304pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]refine[][][] [187] Overfull \hbox (4.69296pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]intersect ion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]d ouble[][][]intersection[] Overfull \hbox (4.38318pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]upper[][][]bound[] Overfull \hbox (10.38168pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]differenc e[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]dou ble[][][]difference[][][]assign Overfull \hbox (0.44328pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]concatena te[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]do uble[][][]concatenate[] Overfull \hbox (19.2716pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]time[][][ ]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]double[][][]time[][][]elapse[][][]assign Overfull \hbox (13.02286pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]double[][][]upper[] Overfull \hbox (31.04254pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[ ][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]double[][][]simplify[] Overfull \hbox (45.73259pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]unconstrain[] [188] Overfull \hbox (49.62248pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]double[][][]unconstrain[] Overfull \hbox (5.38208pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[][ ][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]affine[][][]preimage ( Overfull \hbox (26.54332pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]bounded[][][]affine[] Overfull \hbox (9.12318pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]bounded[] Overfull \hbox (25.70305pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]generalized[] Overfull \hbox (39.96294pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]double[][][]generalized[] [189] Overfull \hbox (3.34251pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (17.6024pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (10.59254pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (12.62257pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (5.77296pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sha pe[][][]double[][][]remove[] Overfull \hbox (5.4726pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (1.73296pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][ ][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]double[][][]expand[] [190] Overfull \hbox (8.2029pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][ ]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]double[][][]fold[][][]space[] Overfull \hbox (5.873pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]double[][][]map[][][]space[] Overfull \hbox (15.25288pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]double[][][]drop[] Overfull \hbox (1.77287pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]double[] Overfull \hbox (17.52318pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]external[ ][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][]external[] Overfull \hbox (19.40329pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[][] []memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]double[][][]total[][][]memory[] Overfull \hbox (2.2523pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int pp l[][][][]Octagonal[][][][]Shape[][][] [191] Overfull \hbox (8.9629pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]double[][][][]B[]H[]M[]Z05[] Overfull \hbox (28.17267pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]double[][][]widening[] Overfull \hbox (6.70175pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doubl e[][][]widening[][][]assign ( Overfull \hbox (24.4117pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.29196pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/ m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.40228pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.08257pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]double[] Overfull \hbox (1.57251pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl [][][][]Octagonal[][][][]Shape[] [192] Overfull \hbox (1.56311pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]double[][][][]C[]C76[] Overfull \hbox (35.14339pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]double[][][][]C[]C76[][][]narrowing[] Overfull \hbox (9.26175pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[][ ][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]doub le[][][]linear[][][]partition ( Overfull \hbox (16.26279pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (21.81285pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]double[] Overfull \hbox (14.58286pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]double[] [193] Overfull \hbox (0.85263pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]assign[][][][]Octagonal[][][] Overfull \hbox (28.96295pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (34.51302pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Sh ape[][][]double[][][]add[][][]recycled[] Overfull \hbox (10.80316pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (9.13324pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][][]test[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (24.33284pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (22.66292pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]o ne[][][]affine[][][]ranking[][][]function[] Overfull \hbox (28.58264pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (26.91272pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][] all[][][]affine[][][]ranking[][][]functions[] [194] Overfull \hbox (19.40317pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.73325pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][] []test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (32.93285pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (31.26292pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int ppl [][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (37.18265pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (35.51273pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]double[][][]2()[] \OT1/pcr/m/n/8 int pp l[][][]all[][][]affine[][][]ranking[][][]functions[] [195]) (./interfaceppl__Octagonal__Shape__mpq__class__tag.tex Overfull \hbox (1.09158pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.79044pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (4.43195pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.57019pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (2.1917pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.75175pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.12051pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (6.36191pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.53203pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] [196] Overfull \hbox (15.40186pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.80197pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (13.18161pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (17.33156pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.73193pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.73193pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.94162pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.3313pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.64151pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.47102pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.78123pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.00133pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.41159pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (3.98143pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] [197] Overfull \hbox (7.47116pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.2513pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (24.68086pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (23.291pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (13.56143pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.33154pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (13.3314pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (1.11198pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]t[][] x, [][]ppl[] [198] Overfull \hbox (4.79182pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (10.66122pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (11.96138pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (8.30138pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (12.19127pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (21.97142pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (14.74185pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.60994pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (3.58142pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (11.6315pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.23186pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[] Overfull \hbox (6.3417pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (1.33191pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpq[] Overfull \hbox (2.17026pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] ph, Overfull \hbox (11.47173pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] [199] Overfull \hbox (6.07129pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.44176pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.37144pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (24.74109pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (9.19116pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.79141pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.62138pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (5.29158pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11128pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpq[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (20.00146pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (1.22195pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.34146pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pq[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.05pt too wide) in paragraph at lines 233--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]clas s[][][]add[][][]recycled[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]t[][] ph, [200] Overfull \hbox (0.54193pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][ ]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.52112pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.30115pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (9.14194pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.92197pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.59161pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.37164pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.06079pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (2.50148pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpq[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.58278pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][] Overfull \hbox (13.64336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] [201] Overfull \hbox (1.20328pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (9.49188pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]from[][][][]Grid Overfull \hbox (10.69327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.61278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (2.73277pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (1.85248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.97247pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (4.5833pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] [202] Overfull \hbox (2.98297pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.70268pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (15.35258pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (29.79253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (2.9026pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.4025pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.40201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (2.522pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] [203] Overfull \hbox (11.24171pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (12.36171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.29253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (31.57222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.0919pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][] Overfull \hbox (7.13284pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (12.6829pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpq[] [204] Overfull \hbox (5.45291pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (25.94154pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]space[][][]dimension Overfull \hbox (31.3016pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]affine[][][]dimension Overfull \hbox (37.7628pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (36.08287pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]relation[] Overfull \hbox (2.03284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (18.70169pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]constraints Overfull \hbox (24.25175pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]get[][][]congruences Overfull \hbox (3.3225pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] [205] Overfull \hbox (8.87256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (27.39282pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]contains[] Overfull \hbox (0.92271pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]is[][][] Overfull \hbox (1.49265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.86339pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] Overfull \hbox (6.96324pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][]bounds[] [206] Overfull \hbox (21.833pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]maximize[] Overfull \hbox (20.17282pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[][][]minimize[] Overfull \hbox (6.39226pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] [207] Overfull \hbox (13.10172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.97186pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (0.9423pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (13.36177pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]constraint Overfull \hbox (18.91183pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class[][][]add[][][]congruence Overfull \hbox (22.05167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]constraints Overfull \hbox (27.60173pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]add[][][]congruences Overfull \hbox (16.4929pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] [208] Overfull \hbox (22.04297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (20.3828pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (25.93286pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][]refine[] Overfull \hbox (31.32278pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpq[][][]class[][][]intersection[] Overfull \hbox (4.13298pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]upper[] Overfull \hbox (14.31299pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpq[][][]class[][][]difference[] Overfull \hbox (27.0731pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpq[][][]class[][][]concatenate[] Overfull \hbox (23.20291pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpq[][][]class[][][]time[][][]elapse[] [209] Overfull \hbox (12.77266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.39233pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (16.68237pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (20.57227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.352pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpq[][][]class[][][]affine[][][]image ( Overfull \hbox (22.4119pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]affine[][][]preimage Overfull \hbox (21.49312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]bounded[] [210] Overfull \hbox (2.15298pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[][][] Overfull \hbox (52.33287pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]generalized[] Overfull \hbox (10.91272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (3.09232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (10.34235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpq[] [211] Overfull \hbox (12.37238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (0.72276pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.2224pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (28.36278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpq[][][]class[][][]expand[] Overfull \hbox (7.9527pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpq[][][]class[][][]fold[] Overfull \hbox (5.6228pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpq[][][]class[][][]map[] Overfull \hbox (19.80269pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.52267pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpq[] [212] Overfull \hbox (2.87297pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (14.35309pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpq[][][]class[][][]total[] Overfull \hbox (13.52211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.9127pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (13.52246pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.03305pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpq[][][]class[][][]widening[] Overfull \hbox (38.56151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [213] Overfull \hbox (22.44177pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (11.67209pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (12.83237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (15.72232pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.11292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (1.29317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][][]C[] Overfull \hbox (26.29156pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpq[][][]class[][][]linear[][][]partition [214] Overfull \hbox (1.61258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (4.28264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.33266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpq[] Overfull \hbox (26.27225pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (14.31274pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[][][]add[] Overfull \hbox (2.5828pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.95296pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][] Overfull \hbox (23.28305pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] [215] Overfull \hbox (36.81273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (42.73245pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (41.06253pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (6.67296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (5.00304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (5.80263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.1327pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] [216] Overfull \hbox (5.25243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (3.5825pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] ) (./interfaceppl__Octagonal__Shape__mpz__class__tag.tex [217] Overfull \hbox (10.67032pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (3.31183pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.45007pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 pph, Overfull \hbox (1.63164pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.1917pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][ ]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.0004pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, Overfull \hbox (5.24179pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.41191pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.8418pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (1.24191pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity [][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (12.62155pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (16.21144pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (16.7715pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][] []complexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.17188pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity[][] ([] []ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.17188pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]comple xity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (30.38156pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]c omplexity[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (7.21118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.8615pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.5214pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]from[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [218] Overfull \hbox (11.3509pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.66112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.88121pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]constraints[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (15.53152pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.29147pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]get[][][]minimized[][][]congruences[][] ([][]ppl[][][]const[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (2.86131pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]contains[][][]integer[][][]point[][] ([][]ppl[][][]const[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (6.35104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]topologically[][][]closed[][] ([][]ppl[][][]const[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 109--111 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (7.02023pt too wide) in paragraph at lines 111--113 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (23.56075pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]strictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class [][] ([][]ppl[][][]const[][][][]Octagonal[] Overfull \hbox (22.17088pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]is[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][] ([][]ppl[][][]const[][][][]Octagonal[] [219] Overfull \hbox (12.44131pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]equals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][ ][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (7.21143pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]t[][] ph, [][]ppl[][][]const[] Overfull \hbox (12.21129pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (16.10118pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.6717pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]upper[][][]bound[][][]assign[][][]if[][][]exact[][] ([][]ppl[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.5411pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.84126pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]constrains[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (7.18126pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (11.07115pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (20.8513pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][ ][]class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (13.62173pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (4.75192pt too wide) in paragraph at lines 165--167 [][]\OT1/ptm/bc/n/10 dimension[][][]type[][] var, [][]ppl[][][]const[][][][]Lin ear[][][][]Expression[][][]t[][] lb, [][]ppl[][][]const[][][][]Linear[][][][]Ex pression[][][]t[][] ub, [][]ppl[][][]const[] Overfull \hbox (2.61021pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (1.48982pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]t[][] ph, [220] Overfull \hbox (2.4613pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 171--173 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (10.51138pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][] [][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.11174pt too wide) in paragraph at lines 177--179 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[] Overfull \hbox (5.22159pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (0.21179pt too wide) in paragraph at lines 183--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octago nal[][][][]Shape[][][]mpz[] Overfull \hbox (1.05014pt too wide) in paragraph at lines 185--187 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] ph, Overfull \hbox (16.10132pt too wide) in paragraph at lines 187--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][][]t[][] ph, [][]ppl[] Overfull \hbox (10.35161pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.95117pt too wide) in paragraph at lines 197--199 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]total[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][]const[][][][]Octa gonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.8817pt too wide) in paragraph at lines 199--201 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][] ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.25133pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (10.55139pt too wide) in paragraph at lines 205--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]widening[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz [][][]class[][][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (24.18103pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][] []tokens[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (8.6311pt too wide) in paragraph at lines 209--211 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]toke ns[][] ([][]ppl[][][][]Octagonal[] Overfull \hbox (1.23135pt too wide) in paragraph at lines 211--213 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][] ([][]ppl[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.50127pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]limited[][][][]C[]C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][ ]Octagonal[][][][]Shape[][][]mpz[] [221] Overfull \hbox (4.73152pt too wide) in paragraph at lines 215--217 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]p pl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.99117pt too wide) in paragraph at lines 221--223 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Sh ape[][][]mpz[][][]class[][][]t[][] x, [][]ppl[] Overfull \hbox (18.88135pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]wrap[][][]assign[][] ([][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][] []class[][][]t[][] ph, [][]ppl[][][]dimension[] Overfull \hbox (0.10184pt too wide) in paragraph at lines 227--229 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[ ][][]class[][][]recycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (10.22134pt too wide) in paragraph at lines 231--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]m pz[][][]class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ( [][]ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.401pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.18103pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Oc tagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]ppl[][][]const[][][][] Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.58188pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.36191pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][]p pl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (8.03156pt too wide) in paragraph at lines 257--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.81158pt too wide) in paragraph at lines 259--261 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2[][] ([][] ppl[][][]const[][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.94067pt too wide) in paragraph at lines 263--265 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]fprint[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][] (F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stre am, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] [222] Overfull \hbox (1.38136pt too wide) in paragraph at lines 265--267 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Sha pe[][][]mpz[][][]class[][] (char $\OMS/cmsy/m/n/10 ^^C$$^^C$\OT1/ptm/bc/n/10 st rp, [][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (25.67891pt too wide) in paragraph at lines 267--269 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]clas s[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]t[][] x, F[]I[]LE $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 stream) Overfull \hbox (23.4628pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (12.52336pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (8.37189pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]from[][][][]Grid Overfull \hbox (9.57327pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.49278pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] [223] Overfull \hbox (1.61278pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (0.73248pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (1.85248pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n /8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (3.4633pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.86298pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.58269pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (14.23259pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (28.67253pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] [224] Overfull \hbox (1.78261pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[] [][]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.2825pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (0.28201pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (1.40201pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]comple xity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] Overfull \hbox (10.12172pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (11.24171pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]c omplexity()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.17253pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]Octagonal[] [225] Overfull \hbox (30.45222pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Octagonal[] Overfull \hbox (14.37192pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexit y()[] \OT1/pcr/m/n/8 int ppl[][][]new[] Overfull \hbox (6.01285pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.56291pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]ne w[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (4.33292pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new [][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (24.82155pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s pace[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]space[][][]dimension Overfull \hbox (30.18161pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]affine[][][]dimension Overfull \hbox (36.6428pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]relation[] [226] Overfull \hbox (34.96288pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]relation[] Overfull \hbox (0.91284pt too wide) in paragraph at lines 467--468 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (17.5817pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]constraints Overfull \hbox (23.13176pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]get[][][]congruences Overfull \hbox (2.2025pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (7.75256pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] [227] Overfull \hbox (26.27283pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]contains[] Overfull \hbox (62.20276pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]is[][][]topologically[] Overfull \hbox (0.37265pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t opological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (5.7434pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (5.84325pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]bounds[] Overfull \hbox (20.713pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m aximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]maximize[] [228] Overfull \hbox (19.05283pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m inimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[][][]minimize[] Overfull \hbox (4.15227pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (10.86172pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s trictly[][][]contains[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT 1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (8.73187pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]disjoint[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (13.10233pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e quals[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][]mpz[] [229] Overfull \hbox (12.24178pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]constraint Overfull \hbox (17.79184pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class[][][]add[][][]congruence Overfull \hbox (20.93167pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]constraints Overfull \hbox (26.48174pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]add[][][]congruences Overfull \hbox (15.37291pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (20.92297pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (19.2628pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (24.81287pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][]refine[] Overfull \hbox (30.20279pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i ntersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shap e[][][]mpz[][][]class[][][]intersection[] [230] Overfull \hbox (3.01299pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]upper[] Overfull \hbox (13.193pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d ifference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[ ][][]mpz[][][]class[][][]difference[] Overfull \hbox (25.95311pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c oncatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape [][][]mpz[][][]class[][][]concatenate[] Overfull \hbox (22.08292pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t ime[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][] Shape[][][]mpz[][][]class[][][]time[][][]elapse[] Overfull \hbox (11.65266pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][] []Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.27234pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s implify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]O ctagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (15.56238pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (19.45227pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagon al[][][][]Shape[][][]mpz[][][]class[] [231] Overfull \hbox (2.23201pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][][] mpz[][][]class[][][]affine[][][]image ( Overfull \hbox (21.2919pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a ffine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]affine[][][]preimage Overfull \hbox (20.37312pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]bounded[] Overfull \hbox (1.03299pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (51.21288pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]generalized[] Overfull \hbox (9.79272pt too wide) in paragraph at lines 749--750 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagona l[][][][]Shape[][][]mpz[][][]class[] [232] Overfull \hbox (1.97232pt too wide) in paragraph at lines 755--756 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.8322pt too wide) in paragraph at lines 761--762 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (9.22235pt too wide) in paragraph at lines 767--768 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.25238pt too wide) in paragraph at lines 773--774 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (2.48277pt too wide) in paragraph at lines 779--780 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][ ][][]Shape[][][]mpz[][][]class[][][] Overfull \hbox (4.1024pt too wide) in paragraph at lines 785--786 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (27.24278pt too wide) in paragraph at lines 791--792 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xpand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][] [][]Shape[][][]mpz[][][]class[][][]expand[] [233] Overfull \hbox (6.8327pt too wide) in paragraph at lines 797--798 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]f old[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][ ][]Shape[][][]mpz[][][]class[][][]fold[] Overfull \hbox (4.5028pt too wide) in paragraph at lines 803--804 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m ap[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][] []Shape[][][]mpz[][][]class[][][]map[] Overfull \hbox (18.6827pt too wide) in paragraph at lines 809--810 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.40268pt too wide) in paragraph at lines 815--816 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int p pl[][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (1.75298pt too wide) in paragraph at lines 821--822 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xternal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (13.2331pt too wide) in paragraph at lines 827--828 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t otal[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal [][][][]Shape[][][]mpz[][][]class[][][]total[] Overfull \hbox (12.40211pt too wide) in paragraph at lines 833--834 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.79271pt too wide) in paragraph at lines 839--840 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octag onal[][][][]Shape[][][]mpz[][][]class[] [234] Overfull \hbox (12.40247pt too wide) in paragraph at lines 845--846 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.79306pt too wide) in paragraph at lines 851--852 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[][ ][]mpz[][][]class[][][]widening[][][] Overfull \hbox (37.44151pt too wide) in paragraph at lines 857--858 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens ()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (21.32178pt too wide) in paragraph at lines 863--864 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \ OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] Overfull \hbox (10.5521pt too wide) in paragraph at lines 869--870 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 in t ppl[][][][]Octagonal[][][][]Shape[] Overfull \hbox (11.71237pt too wide) in paragraph at lines 875--876 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Octagonal[][][][]Shape[][][]mpz[] Overfull \hbox (14.60233pt too wide) in paragraph at lines 881--882 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [235] Overfull \hbox (4.99292pt too wide) in paragraph at lines 887--888 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octago nal[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.17317pt too wide) in paragraph at lines 893--894 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]narrowing[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][][]C[] Overfull \hbox (25.17157pt too wide) in paragraph at lines 899--900 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l inear[][][]partition()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[][][][]Shape[] [][]mpz[][][]class[][][]linear[][][]partition Overfull \hbox (0.49258pt too wide) in paragraph at lines 911--912 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[][][] Overfull \hbox (3.16264pt too wide) in paragraph at lines 917--918 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Octagonal[][][][]Shape[] Overfull \hbox (13.21266pt too wide) in paragraph at lines 923--924 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]Octagonal[][][][]Shape[][][]mpz[] [236] Overfull \hbox (24.03226pt too wide) in paragraph at lines 929--930 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/ m/n/8 int ppl[][][]assign[][][][]Octagonal[] Overfull \hbox (13.19275pt too wide) in paragraph at lines 935--936 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[][][]add[] Overfull \hbox (1.4628pt too wide) in paragraph at lines 941--942 []\OT1/ptm/b/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Octagonal[] [][][]Shape[][][]mpz[][][]class[] Overfull \hbox (23.83298pt too wide) in paragraph at lines 947--948 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (22.16306pt too wide) in paragraph at lines 953--954 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]termination[][ ][]test[][][][]P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (37.36266pt too wide) in paragraph at lines 959--960 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (35.69273pt too wide) in paragraph at lines 965--966 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int pp l[][][]one[][][]affine[][][]ranking[][][]function[] Overfull \hbox (41.61246pt too wide) in paragraph at lines 971--972 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] Overfull \hbox (39.94254pt too wide) in paragraph at lines 977--978 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int p pl[][][]all[][][]affine[][][]ranking[][][]functions[] [237] Overfull \hbox (5.55296pt too wide) in paragraph at lines 983--984 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]M[]S[][][][]Octagonal[] Overfull \hbox (3.88304pt too wide) in paragraph at lines 989--990 []\OT1/ptm/b/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]termina tion[][][]test[][][][]P[]R[][][][]Octagonal[] Overfull \hbox (4.68263pt too wide) in paragraph at lines 995--996 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (3.01271pt too wide) in paragraph at lines 1001--1002 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[][][]ranking[] Overfull \hbox (4.13243pt too wide) in paragraph at lines 1007--1008 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] Overfull \hbox (2.46251pt too wide) in paragraph at lines 1013--1014 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]2()[] \OT1/pcr/m/n/ 8 int ppl[][][]all[][][]affine[][][]ranking[] [238]) (./interfaceppl__PIP__Decision__Node__tag.tex) (./interfaceppl__PIP__Problem__tag.tex [239] Overfull \hbox (4.04826pt too wide) in paragraph at lines 50--52 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][ ][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]const[][][][ ]P[]I[]P[][][][]Problem[] Overfull \hbox (1.52785pt too wide) in paragraph at lines 53--55 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]P[]I[]P[][][][]Problem[][] []from[][][][]P[]I[]P[][][][]Problem[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem [][][]t[][] dst, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[] Overfull \hbox (5.47821pt too wide) in paragraph at lines 56--58 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]P[]I[]P[][][][]Problem[][][]f rom[][][]constraints[][] ([][]ppl[][][][]P[]I[]P[][][][]Problem[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 ppip, [][]ppl[][][]dimension[][][]type[][] d , [][]ppl[] Overfull \hbox (4.99655pt too wide) in paragraph at lines 56--58 [][][]\OT1/ptm/bc/n/10 Constraint[][][][]System[][][]const[][][]iterator[][][]t [][] first, [][]ppl[][][][]Constraint[][][][]System[][][]const[][][]iterator[][ ][]t[][] last, size[][][]t n, [][]ppl[] Overfull \hbox (1.6448pt too wide) in paragraph at lines 58--58 []\OT1/ptm/m/it/9 Builds a P[]IP prob-lem hav-ing space di-men-sion \OT1/pcr/m/ sl/9 d \OT1/ptm/m/it/9 from the se-quence of con-straints in the range $\OT1/cm r/m/n/9 [[]\OML/cmm/m/it/9 ; []\OT1/cmr/m/n/9 )$\OT1/ptm/m/it/9 ; Overfull \hbox (4.54796pt too wide) in paragraph at lines 68--70 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]number[][] []of[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P []I[]P[][][][]Problem[][][]t[][] pip, [][]ppl[] Overfull \hbox (3.73772pt too wide) in paragraph at lines 71--73 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]parameter[ ][][]space[][][]dimensions[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Proble m[][][]t[][] pip, [][]ppl[][][]dimension[] [240] Overfull \hbox (6.23784pt too wide) in paragraph at lines 74--76 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]get[][][]b ig[][][]parameter[][][]dimension[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] Overfull \hbox (7.51797pt too wide) in paragraph at lines 80--82 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]constraint [][][]at[][][]index[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Problem[][][] t[][] pip, [][]ppl[][][]dimension[][][]type[][] i, [][]ppl[] Overfull \hbox (8.44783pt too wide) in paragraph at lines 101--103 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]t o[][][]parameter[][][]space[][][]dimensions[][] ([][]ppl[][][][]P[]I[]P[][][][] Problem[][][]t[][] pip, [][]ppl[][][]dimension[] [241] Overfull \hbox (4.83315pt too wide) in paragraph at lines 180--181 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]d imensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][] Problem[][][]add[][][]space[][][]dimensions[] Overfull \vbox (12.41583pt too high) has occurred while \output is active [242] Underfull \hbox (badness 10000) detected at line 205 [][][] ) (./interfaceppl__PIP__Solution__Node__tag.tex Overfull \hbox (28.95125pt too wide) in paragraph at lines 15--16 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][] get[][][]parametric[][][]values[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]S olution[][][][]Node[][][]t[][] pip[][][]sol, [][]ppl[][][]dimension[] Overfull \hbox (0.65196pt too wide) in paragraph at lines 48--49 []\OT1/ptm/b/n/10 ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][]get[][][ ]parametric[][][]values()[] \OT1/pcr/m/n/8 int ppl[][][][]P[]I[]P[][][][]Soluti on[][][][]Node[][][]get[][][]parametric[][][]values [243] Underfull \hbox (badness 10000) detected at line 65 [][][] ) (./interfaceppl__PIP__Tree__Node__tag.tex Overfull \hbox (0.62167pt too wide) in paragraph at lines 18--20 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]a s[][][]decision[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[ ][][]t[][] spip[][][]tree, [][]ppl[][][]const[][][][]P[]I[]P[][][][]Decision[] Overfull \hbox (17.25174pt too wide) in paragraph at lines 30--32 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]b egin[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pip[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] Overfull \hbox (9.62175pt too wide) in paragraph at lines 33--35 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]e nd[][] ([][]ppl[][][]const[][][][]P[]I[]P[][][][]Tree[][][][]Node[][][]t[][] pi p[][][]tree, [][]ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[] [244]) (./interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag.tex Overfull \hbox (12.70763pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.57777pt too wide) in paragraph at lines 18--19 \OT1/ptm/bc/n/10 Powerset[][][][]C[][][][]Polyhedron[][][]const[][][]iterator[] [][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pit, [][]ppl[][][]const[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[][][]const[] Overfull \hbox (35.44739pt too wide) in paragraph at lines 22--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]end[][] ([][]ppl[][][]const[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.6573pt too wide) in paragraph at lines 30--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]const[][ ][][]Pointset[][][][]Powerset[] Overfull \hbox (36.28717pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] [245] Overfull \hbox (37.94722pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.17719pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]cons t[][][][]Pointset[][][][]Powerset[] Overfull \hbox (31.45328pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][ ]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.3125pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (20.29312pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (12.51323pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.74301pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[ ][][][]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (46.56291pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [246] Underfull \hbox (badness 10000) detected at line 105 [][][] Overfull \hbox (40.09293pt too wide) in paragraph at lines 112--113 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (41.75298pt too wide) in paragraph at lines 122--123 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.88287pt too wide) in paragraph at lines 132--133 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag.tex Overfull \hbox (20.47737pt too wide) in paragraph at lines 16--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]iterator[] [247] Overfull \hbox (20.17732pt too wide) in paragraph at lines 24--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (11.57744pt too wide) in paragraph at lines 32--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.23749pt too wide) in paragraph at lines 34--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.44711pt too wide) in paragraph at lines 36--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.63354pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.95306pt too wide) in paragraph at lines 59--60 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][ ][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (35.75342pt too wide) in paragraph at lines 69--70 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]iterator[] Overfull \hbox (27.97353pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]iterator[] [248] Overfull \hbox (27.80331pt too wide) in paragraph at lines 89--90 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.74318pt too wide) in paragraph at lines 99--100 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 105 [][][] Underfull \hbox (badness 10000) detected at line 108 [][][] Overfull \hbox (14.2732pt too wide) in paragraph at lines 115--116 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.93324pt too wide) in paragraph at lines 125--126 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.06314pt too wide) in paragraph at lines 135--136 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] ) (./interfaceppl__Pointset__Powerset__C__Polyhedron__tag.tex [249] Overfull \hbox (38.41113pt too wide) in paragraph at lines 17--19 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][]space[][][]dimension[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.16135pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (27.31155pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (10.16983pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron[][][]with[][][]complexity[][] Overfull \hbox (20.07114pt too wide) in paragraph at lines 31--33 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]space[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.3812pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]dimension[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.48979pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]t[][] ph) Overfull \hbox (33.96088pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]topological[][][]closure[][][]assign[][] ([][]ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.70169pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]above[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.31142pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounds[][][]from[][][]below[][] ([][]ppl[][][]const[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.85016pt too wide) in paragraph at lines 61--63 \OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] [][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][][][] Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 p optimum) Overfull \hbox (2.16966pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]t[][] ph, [250] Overfull \hbox (37.57085pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]maximize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (35.9108pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.02023pt too wide) in paragraph at lines 67--69 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum, Overfull \hbox (21.75092pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (15.91096pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (13.97102pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][] ([][]ppl[][][]const[][][][]Pointset[] Overfull \hbox (1.04984pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (15.07112pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraint[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72144pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96101pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]constraints[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (25.61133pt too wide) in paragraph at lines 93--95 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]refine[][][]with[][][]congruences[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.14104pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.8517pt too wide) in paragraph at lines 97--99 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.68123pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.85103pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.01141pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]constrains[][] ([][]ppl[][][][]Pointset[][][][]Powerset[][][][] C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] [251] Overfull \hbox (14.02145pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Powerset[ ][][][]C[][][][]Polyhedron[][][]t[][] ph, [][]ppl[] Overfull \hbox (3.00993pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[][][]t[][] ph, Overfull \hbox (16.48157pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.25146pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.13107pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 123--125 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (40.90097pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][] ([][]ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (9.21204pt too wide) in paragraph at lines 125--127 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]dimension[][][]type[][] var, enum [ ][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-sym, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (12.01096pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[][] ([] []ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (5.61131pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.72116pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]p pl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (32.54123pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71136pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (27.69139pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Pointset[] [][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.96115pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]fold[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (20.07114pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]map[][][]space[][][]dimensions[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.85179pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]wideni ng[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (8.96167pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.44122pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign[ ][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.9914pt too wide) in paragraph at lines 159--161 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][] ppl[][][][]Pointset[][][][]Powerset[] [252] Overfull \hbox (22.42798pt too wide) in paragraph at lines 174--176 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][]const[][][][]Pointset[][ ][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (16.6074pt too wide) in paragraph at lines 177--178 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]size[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][ ][][]C[][][][]Polyhedron[][][]t[][] ps, size[] Overfull \hbox (23.49762pt too wide) in paragraph at lines 179--180 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (23.24736pt too wide) in paragraph at lines 181--182 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (15.89742pt too wide) in paragraph at lines 185--186 \OT1/ptm/bc/n/10 t[][] ps, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]iterator[][][]t[][] cit, [][]ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (3.23778pt too wide) in paragraph at lines 189--190 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Powers et[][][][]C[][][][]Polyhedron[] [253] Underfull \hbox (badness 10000) detected at line 214 [][][] Overfull \hbox (25.52202pt too wide) in paragraph at lines 221--222 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (25.74188pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (6.22339pt too wide) in paragraph at lines 241--242 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]add[] Overfull \hbox (15.2834pt too wide) in paragraph at lines 251--252 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Po werset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (19.1733pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][]drop[] Overfull \hbox (3.18323pt too wide) in paragraph at lines 271--272 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] [254] Overfull \hbox (9.6629pt too wide) in paragraph at lines 287--288 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][ ]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (37.45274pt too wide) in paragraph at lines 293--294 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (1.60347pt too wide) in paragraph at lines 299--300 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.06046pt too wide) in paragraph at lines 305--306 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity()[] Overfull \hbox (3.57407pt too wide) in paragraph at lines 305--306 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity Overfull \hbox (30.19272pt too wide) in paragraph at lines 311--312 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] Overfull \hbox (19.09297pt too wide) in paragraph at lines 317--318 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.64304pt too wide) in paragraph at lines 323--324 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] [255] Overfull \hbox (5.60315pt too wide) in paragraph at lines 329--330 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (6.16321pt too wide) in paragraph at lines 335--336 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.12292pt too wide) in paragraph at lines 341--342 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (38.443pt too wide) in paragraph at lines 347--348 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (45.67299pt too wide) in paragraph at lines 353--354 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.08215pt too wide) in paragraph at lines 359--360 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerse t[][][][]C[][][][]Polyhedron[][][]is[][][]empty Overfull \hbox (25.73187pt too wide) in paragraph at lines 365--366 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]universe Overfull \hbox (22.262pt too wide) in paragraph at lines 371--372 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]is[][][]bounded Overfull \hbox (29.75294pt too wide) in paragraph at lines 377--378 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [256] Overfull \hbox (29.20285pt too wide) in paragraph at lines 383--384 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.96188pt too wide) in paragraph at lines 389--390 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]C[][][][]Polyhedron[][][]is[][][]discrete Overfull \hbox (45.1328pt too wide) in paragraph at lines 395--396 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (21.72368pt too wide) in paragraph at lines 401--402 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]omega[] Overfull \hbox (18.82352pt too wide) in paragraph at lines 407--408 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.92337pt too wide) in paragraph at lines 413--414 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (8.17215pt too wide) in paragraph at lines 419--420 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]maximize Overfull \hbox (6.51198pt too wide) in paragraph at lines 425--426 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron[][][]minimize [257] Overfull \hbox (24.19312pt too wide) in paragraph at lines 431--432 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.53294pt too wide) in paragraph at lines 437--438 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.99251pt too wide) in paragraph at lines 443--444 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (6.30196pt too wide) in paragraph at lines 449--450 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][] Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (4.1721pt too wide) in paragraph at lines 455--456 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (5.66255pt too wide) in paragraph at lines 461--462 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (0.70338pt too wide) in paragraph at lines 473--474 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[][][] [258] Overfull \hbox (3.37344pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.71327pt too wide) in paragraph at lines 485--486 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.26334pt too wide) in paragraph at lines 491--492 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.45303pt too wide) in paragraph at lines 497--498 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (34.0031pt too wide) in paragraph at lines 503--504 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.34293pt too wide) in paragraph at lines 509--510 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.89299pt too wide) in paragraph at lines 515--516 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (14.4829pt too wide) in paragraph at lines 521--522 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]C[][][][]Polyhedron[] [259] Overfull \hbox (20.89311pt too wide) in paragraph at lines 527--528 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (7.0731pt too wide) in paragraph at lines 533--534 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (15.03322pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (13.08302pt too wide) in paragraph at lines 545--546 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.73277pt too wide) in paragraph at lines 551--552 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][] Overfull \hbox (1.47244pt too wide) in paragraph at lines 557--558 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.56197pt too wide) in paragraph at lines 563--564 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron[][][]constrains Overfull \hbox (1.76248pt too wide) in paragraph at lines 569--570 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[] [260] Overfull \hbox (5.65237pt too wide) in paragraph at lines 575--576 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (19.49364pt too wide) in paragraph at lines 581--582 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Pow erset[][][][]C[][][][]Polyhedron[][][]affine[] Overfull \hbox (2.0735pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][] Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (28.65324pt too wide) in paragraph at lines 593--594 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (42.91313pt too wide) in paragraph at lines 599--600 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (40.29298pt too wide) in paragraph at lines 605--606 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron[] [261] Overfull \hbox (3.67284pt too wide) in paragraph at lines 611--612 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]C[] Overfull \hbox (15.05244pt too wide) in paragraph at lines 617--618 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.31233pt too wide) in paragraph at lines 623--624 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.30247pt too wide) in paragraph at lines 629--630 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (24.3325pt too wide) in paragraph at lines 635--636 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (44.36292pt too wide) in paragraph at lines 641--642 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (17.18253pt too wide) in paragraph at lines 647--648 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] [262] Overfull \hbox (40.3229pt too wide) in paragraph at lines 653--654 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (29.51283pt too wide) in paragraph at lines 659--660 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.98294pt too wide) in paragraph at lines 665--666 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (4.8828pt too wide) in paragraph at lines 671--672 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (13.4828pt too wide) in paragraph at lines 677--678 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/pcr/m/ n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (46.51312pt too wide) in paragraph at lines 683--684 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (31.11322pt too wide) in paragraph at lines 689--690 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[] Overfull \hbox (22.15227pt too wide) in paragraph at lines 695--696 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][] assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [263] Overfull \hbox (22.31267pt too wide) in paragraph at lines 701--702 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.85257pt too wide) in paragraph at lines 707--708 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[] \OT1 /pcr/m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (18.69278pt too wide) in paragraph at lines 713--714 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.80214pt too wide) in paragraph at lines 719--720 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][][]Poin tset[][][][]Powerset[][][][]C[][][][]Polyhedron ( Overfull \hbox (6.33209pt too wide) in paragraph at lines 725--726 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][][][]Po intset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (16.69203pt too wide) in paragraph at lines 731--732 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[][][][] Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron Overfull \hbox (9.15346pt too wide) in paragraph at lines 737--738 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] Overfull \hbox (2.48352pt too wide) in paragraph at lines 743--744 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Power set[][][][]C[][][][]Polyhedron[][][]ascii[] [264]) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__const__iterator__tag.tex Overfull \hbox (11.83833pt too wide) in paragraph at lines 1--1 []\OT1/ptm/b/n/12 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Pol yhedron[][][]const[][][]iterator[][][]tag In-ter-face Ref-er-ence Overfull \hbox (30.36118pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.3908pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]equal[][][]test[][] ([][]ppl[][] []const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.1415pt too wide) in paragraph at lines 23--25 [][][]\OT1/ptm/bc/n/10 N[]N[]C[][][][]Polyhedron[][][]const[][][]iterator[][][] t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]const[][][]iterator[] Overfull \hbox (10.87091pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]const[][][]iterator[][][]dereference[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.61319pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.75244pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[][][]iterator[][][]from[][][]const[][][]iterator() [] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[] [265] Overfull \hbox (44.33307pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.55318pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44278pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int p pl[][][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (3.65283pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (0.51288pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][] Overfull \hbox (2.44281pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (9.50294pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]const[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]d elete[][][][]Pointset[][][][]Powerset[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__iterator__tag.tex [266] Overfull \hbox (5.65144pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (11.31146pt too wide) in paragraph at lines 19--21 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]begin[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68147pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]end[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.23099pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]increment[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.89104pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]iterator[][][]decrement[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.83087pt too wide) in paragraph at lines 31--32 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][][]iterator[][] ([][]ppl[][][]const[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (29.6735pt too wide) in paragraph at lines 43--44 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.393pt too wide) in paragraph at lines 49--50 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator[][][]from[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (18.51334pt too wide) in paragraph at lines 55--56 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]begin()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.73344pt too wide) in paragraph at lines 61--62 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]end()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.10309pt too wide) in paragraph at lines 67--68 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]equal[][][]test()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [267] Overfull \hbox (38.31314pt too wide) in paragraph at lines 73--74 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]increment()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (39.97319pt too wide) in paragraph at lines 79--80 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]decrement()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.78313pt too wide) in paragraph at lines 85--86 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][]dereference()[] \OT1/pcr/m/n/8 int ppl[][][][]Point set[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.96323pt too wide) in paragraph at lines 91--92 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]iterator()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] ) (./interfaceppl__Pointset__Powerset__NNC__Polyhedron__tag.tex Overfull \hbox (5.3514pt too wide) in paragraph at lines 15--17 []\OT1/ptm/bc/n/10 int [][]ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.03156pt too wide) in paragraph at lines 25--27 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[ ][][]complexity[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (0.11113pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.76144pt too wide) in paragraph at lines 29--31 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] [268] Overfull \hbox (4.25085pt too wide) in paragraph at lines 35--37 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Constraint[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.56107pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Generator[][] ([][]ppl[][][]con st[][][][]Pointset[][][][]Powerset[] Overfull \hbox (10.90117pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]relation[][][]with[][][][]Congruence[][] ([][]ppl[][][]co nst[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.7413pt too wide) in paragraph at lines 41--43 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]empty[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.2213pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]universe[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.18152pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]bounded[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.84103pt too wide) in paragraph at lines 51--53 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]discrete[][] ([][]ppl[][][]const[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89133pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]pairwise[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.47177pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]omega[][][]reduce[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.91118pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]maximize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 63--65 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (19.25113pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][] ([][]ppl[][][]const[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (7.85019pt too wide) in paragraph at lines 65--67 [][]\OT1/ptm/bc/n/10 t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expressi on[][][]t[][] le, [][]ppl[][][][]Coefficient[][][]t[][] ext[][][]n, [][]ppl[][] [][]Coefficient[][][]t[][] ext[][][]d, int $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/ 10 poptimum) Overfull \hbox (1.19106pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]minimize[][][]with[][][]point[][] ([][]ppl[][][]const[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (14.80135pt too wide) in paragraph at lines 71--73 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (21.47098pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (20.08112pt too wide) in paragraph at lines 75--77 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerse t[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[] Overfull \hbox (14.15979pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 77--79 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.90953pt too wide) in paragraph at lines 79--81 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset [][][][]N[]N[]C[][][][]Polyhedron[][] Overfull \hbox (6.02162pt too wide) in paragraph at lines 79--81 \OT1/ptm/bc/n/10 ([][]ppl[][][]const[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [269] Overfull \hbox (7.02145pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][] [][]Polyhedron[][] ([][]ppl[][][]const[] Overfull \hbox (14.24141pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraint[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.89172pt too wide) in paragraph at lines 87--89 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruence[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.1313pt too wide) in paragraph at lines 89--91 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]constraints[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (24.78162pt too wide) in paragraph at lines 91--93 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]congruences[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.89159pt too wide) in paragraph at lines 95--97 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]refine[][][]with[][][]congruence[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (32.02092pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]intersection[][][]assign[][] ([][]ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.73158pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]upper[][][]bound[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.6412pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]difference[][][]assign[][] ([][]ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (32.56111pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]concatenate[][][]assign[][] ([][]ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.73091pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]time[][][]elapse[][][]assign[][] ([][]ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.44106pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]simplify[][][]using[][][]context[][][]assign[][] ([][]ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.9711pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]unconstrain[][][]space[][][]dimensions[][] ([][]ppl[][][] []Pointset[][][][]Powerset[] Overfull \hbox (7.3215pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]image[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.0914pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]affine[][][]preimage[][] ([][]ppl[][][][]Pointset[][][][] Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.7517pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]bounded[][][]affine[][][]preimage[][] ([][]ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.6313pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][] ([][]ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[] [270] Overfull \hbox (13.681pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (26.4509pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.05125pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed[][] ([ ][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (21.1611pt too wide) in paragraph at lines 139--141 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (16.1513pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]remove[][][]higher[][][]space[][][]dimensions[][] ([][]pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.19162pt too wide) in paragraph at lines 145--147 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]expand[][][]space[][][]dimension[][] ([][]ppl[][][][]Poin tset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (3.25156pt too wide) in paragraph at lines 151--153 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][] ([][ ]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85156pt too wide) in paragraph at lines 153--155 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2[] [] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.13116pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]external[][][]memory[][][]in[][][]bytes[][] ([][]ppl[][][ ]const[][][][]Pointset[][][][]Powerset[] Overfull \hbox (6.47151pt too wide) in paragraph at lines 161--163 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]add[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Pow erset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (10.36153pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjunct[][] ([][]ppl[][][][]Pointset[][][][]Po werset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (14.25142pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]drop[][][]disjuncts[][] ([][]ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (22.29173pt too wide) in paragraph at lines 167--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][] widening[][][]assign[][] ([][]ppl[][][][]Pointset[] Overfull \hbox (23.40161pt too wide) in paragraph at lines 169--171 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assi gn[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (17.43134pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.74142pt too wide) in paragraph at lines 175--177 []\OT1/ptm/bc/n/10 int [][]ppl[][][]io[][][]print[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [271] Overfull \hbox (26.18124pt too wide) in paragraph at lines 181--183 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] [][][]Polyhedron[][][]ascii[][][]dump[][] ([][]ppl[][][]const[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.50212pt too wide) in paragraph at lines 195--196 []\OT1/ptm/b/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]delete[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (24.10284pt too wide) in paragraph at lines 201--202 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int pp l[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (7.77258pt too wide) in paragraph at lines 207--208 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (27.60335pt too wide) in paragraph at lines 213--214 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.94034pt too wide) in paragraph at lines 219--220 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity()[] Overfull \hbox (22.77408pt too wide) in paragraph at lines 219--220 \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron[][][]with[][][]complexity Overfull \hbox (0.51256pt too wide) in paragraph at lines 225--226 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]com plexity()[] \OT1/pcr/m/n/8 int ppl[] [272] Overfull \hbox (33.53291pt too wide) in paragraph at lines 231--232 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.68295pt too wide) in paragraph at lines 237--238 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Pointset[][][] Overfull \hbox (29.6431pt too wide) in paragraph at lines 243--244 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (30.20316pt too wide) in paragraph at lines 249--250 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[ ][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (3.68283pt too wide) in paragraph at lines 255--256 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Constraint()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.0029pt too wide) in paragraph at lines 261--262 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Generator()[] \OT1/pcr/m/n/8 int ppl[][ ][][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (1.55289pt too wide) in paragraph at lines 267--268 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][]with[][][][]Congruence()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (8.22359pt too wide) in paragraph at lines 273--274 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]empty()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]P owerset[][][][]N[]N[]C[][][][]Polyhedron[][][]is[] [273] Overfull \hbox (4.99329pt too wide) in paragraph at lines 279--280 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]universe()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.32341pt too wide) in paragraph at lines 285--286 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]bounded()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.91286pt too wide) in paragraph at lines 291--292 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][]integer[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.36276pt too wide) in paragraph at lines 297--298 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]topologically[][][]closed()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.2233pt too wide) in paragraph at lines 303--304 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]discrete()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][] []Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.0127pt too wide) in paragraph at lines 309--310 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]topological[][][]closure[][][]assign()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[] Overfull \hbox (27.22318pt too wide) in paragraph at lines 315--316 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]pairwise[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.8836pt too wide) in paragraph at lines 321--322 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]omega[][][]reduce()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.86346pt too wide) in paragraph at lines 327--328 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]above()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (42.96332pt too wide) in paragraph at lines 333--334 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][]from[][][]below()[] \OT1/pcr/m/n/8 int ppl[][][][]Poi ntset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [274] Overfull \hbox (2.79358pt too wide) in paragraph at lines 339--340 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (1.1334pt too wide) in paragraph at lines 345--346 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powers et[][][][]N[]N[]C[][][][]Polyhedron[][][] Overfull \hbox (0.23303pt too wide) in paragraph at lines 351--352 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][] Overfull \hbox (46.57289pt too wide) in paragraph at lines 357--358 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize[][][]with[][][]point()[] \OT1/pcr/m/n/8 int ppl[][][][]P ointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.59236pt too wide) in paragraph at lines 363--364 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron()[] \OT1/pcr/m/n/8 int ppl[] Overfull \hbox (7.00032pt too wide) in paragraph at lines 369--370 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]strictly[][][]contains[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int [275] Overfull \hbox (4.87047pt too wide) in paragraph at lines 375--376 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]disjoint[][][]from[][][][]Pointset[][][][]Powerset[][][][ ]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int Overfull \hbox (3.82037pt too wide) in paragraph at lines 381--382 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 381--382 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]covers[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (4.04024pt too wide) in paragraph at lines 387--388 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron()[] Overfull \hbox (7.41406pt too wide) in paragraph at lines 387--388 \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[][][]equals[][][][]Pointset[][][][]Powerset[][][][] N[]N[]C[][][][]Polyhedron Overfull \hbox (34.54243pt too wide) in paragraph at lines 393--394 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Poly hedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (21.86333pt too wide) in paragraph at lines 405--406 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (27.41339pt too wide) in paragraph at lines 411--412 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (25.75322pt too wide) in paragraph at lines 417--418 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [276] Overfull \hbox (31.30328pt too wide) in paragraph at lines 423--424 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.61295pt too wide) in paragraph at lines 429--430 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraint()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (2.363pt too wide) in paragraph at lines 435--436 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruence()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (0.70284pt too wide) in paragraph at lines 441--442 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]constraints()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (1.4529pt too wide) in paragraph at lines 447--448 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[][][]congruences()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (38.52284pt too wide) in paragraph at lines 453--454 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]intersection[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Points et[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (44.93306pt too wide) in paragraph at lines 459--460 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (31.11305pt too wide) in paragraph at lines 465--466 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]difference[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset [][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [277] Overfull \hbox (39.07317pt too wide) in paragraph at lines 471--472 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]concatenate[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointse t[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (37.12297pt too wide) in paragraph at lines 477--478 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]time[][][]elapse[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Po intset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (12.29271pt too wide) in paragraph at lines 483--484 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[][][]assign[][][]if[][][]exact()[] \OT1/pcr/m/n/ 8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (15.91238pt too wide) in paragraph at lines 489--490 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]simplify[][][]using[][][]context[][][]assign()[] \OT1/pcr/m/n/8 i nt ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.70338pt too wide) in paragraph at lines 495--496 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]constrains()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powe rset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (16.20242pt too wide) in paragraph at lines 501--502 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (20.09232pt too wide) in paragraph at lines 507--508 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl [][][][]Pointset[][][][]Powerset[] Overfull \hbox (11.85356pt too wide) in paragraph at lines 513--514 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [278] Overfull \hbox (26.11345pt too wide) in paragraph at lines 519--520 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] [][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (1.81316pt too wide) in paragraph at lines 525--526 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (1.67303pt too wide) in paragraph at lines 531--532 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[][][] Overfull \hbox (3.85289pt too wide) in paragraph at lines 537--538 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image()[] \OT1/pcr/m/n/8 int ppl[][] [][]Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (10.43277pt too wide) in paragraph at lines 543--544 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage()[] \OT1/pcr/m/n/8 int ppl[ ][][][]Pointset[][][][]Powerset[] Overfull \hbox (29.49239pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]image[][][]lhs[][][]rhs()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] [279] Overfull \hbox (2.47224pt too wide) in paragraph at lines 555--556 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[][][]affine[][][]preimage[][][]lhs[][][]rhs()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.74242pt too wide) in paragraph at lines 561--562 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]embed()[] \OT1/pcr/m /n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (0.37242pt too wide) in paragraph at lines 567--568 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[][][]dimensions[][][]and[][][]project()[] \OT1/pcr /m/n/8 int ppl[][][][]Pointset[][][] Overfull \hbox (0.24281pt too wide) in paragraph at lines 573--574 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Pointset[][][][]Powerset[] Overfull \hbox (31.62247pt too wide) in paragraph at lines 579--580 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][]higher[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (3.88281pt too wide) in paragraph at lines 585--586 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]expand[][][]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][] []Pointset[][][][]Powerset[][][][]N[] Overfull \hbox (2.67274pt too wide) in paragraph at lines 591--592 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]fold[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][ ]Pointset[][][][]Powerset[][][][]N[]N[]C[] [280] Overfull \hbox (0.34285pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]map[][][]space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][] Pointset[][][][]Powerset[][][][]N[]N[] Overfull \hbox (19.32274pt too wide) in paragraph at lines 603--604 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points()[] \OT1/pcr/m/n /8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (27.92274pt too wide) in paragraph at lines 609--610 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[][][]non[][][]integer[][][]points[][][]2()[] \OT1/ pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (2.39302pt too wide) in paragraph at lines 615--616 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]external[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int pp l[][][][]Pointset[][][][]Powerset[] Overfull \hbox (4.27313pt too wide) in paragraph at lines 621--622 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]total[][][]memory[][][]in[][][]bytes()[] \OT1/pcr/m/n/8 int ppl[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[] Overfull \hbox (12.98332pt too wide) in paragraph at lines 633--634 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][ ][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (17.24333pt too wide) in paragraph at lines 639--640 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjunct()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][] [][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] [281] Overfull \hbox (21.13322pt too wide) in paragraph at lines 645--646 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjuncts()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][ ][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (36.59221pt too wide) in paragraph at lines 651--652 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (36.75261pt too wide) in paragraph at lines 657--658 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][][]H79[][][][]H79[][][]widening[][][]assign()[] \ OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (12.4125pt too wide) in paragraph at lines 663--664 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]B[]H[]R[]Z03[][][]extrapolation[][][]assign()[ ] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[] Overfull \hbox (33.13272pt too wide) in paragraph at lines 669--670 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][][]H79[][][]extrapolation[][][]assign()[] \OT1/pc r/m/n/8 int ppl[][][][]Pointset[][][][]Powerset[] Overfull \hbox (22.24208pt too wide) in paragraph at lines 675--676 []\OT1/ptm/b/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][][] []N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]print[][][] []Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (30.37204pt too wide) in paragraph at lines 681--682 []\OT1/ptm/b/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]fprint[][] [][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (1.71346pt too wide) in paragraph at lines 687--688 []\OT1/ptm/b/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[][] [][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]io[][][]asprint[] [][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][] [282] Overfull \hbox (6.31339pt too wide) in paragraph at lines 693--694 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]dump()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.52345pt too wide) in paragraph at lines 699--700 []\OT1/ptm/b/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]load()[] \OT1/pcr/m/n/8 int ppl[][][][]Pointset[][][][ ]Powerset[][][][]N[]N[]C[][][][]Polyhedron[][][] ) (./interfaceppl__Polyhedron__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Rational[][][][]Box[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Rational[][][][ ]Box[] Overfull \hbox (10.59242pt too wide) in paragraph at lines 23--25 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (11.15248pt too wide) in paragraph at lines 27--29 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyhedron[][][] t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[] D[][][][]Shape[] Overfull \hbox (6.71233pt too wide) in paragraph at lines 33--35 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] Overfull \hbox (7.27238pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] ([][]ppl[][][][]Polyh edron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const [] [283] Overfull \hbox (11.9928pt too wide) in paragraph at lines 45--47 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[ ][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[]D[ ][][][]Shape[] Overfull \hbox (23.9324pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Octago nal[] Overfull \hbox (3.80247pt too wide) in paragraph at lines 53--55 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Grid[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Grid [] Overfull \hbox (3.2623pt too wide) in paragraph at lines 55--57 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedr on[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[] Overfull \hbox (10.18228pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (0.8408pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (10.74234pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][ ]ppl[] Overfull \hbox (1.40086pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (6.25206pt too wide) in paragraph at lines 69--71 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (6.81212pt too wide) in paragraph at lines 73--75 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity [][] ([][]ppl[][][][]Polyhedron[] Overfull \hbox (11.58266pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl [][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]p pl[] Overfull \hbox (0.57098pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [284] Overfull \hbox (25.27213pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]linear[][][]partition[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][] Polyhedron[][][]t[][] y, [][]ppl[][][][]Polyhedron[] Overfull \hbox (5.6022pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (3.38223pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedro n[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (20.04214pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.82217pt too wide) in paragraph at lines 125--127 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Pol yhedron[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (11.182pt too wide) in paragraph at lines 127--129 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (8.96204pt too wide) in paragraph at lines 129--131 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedr on[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (25.62195pt too wide) in paragraph at lines 131--133 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (23.40198pt too wide) in paragraph at lines 133--135 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Po lyhedron[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (26.14159pt too wide) in paragraph at lines 135--137 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (23.92162pt too wide) in paragraph at lines 137--139 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]C[ ][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] p set[][][]before, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (14.20235pt too wide) in paragraph at lines 147--149 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (11.98238pt too wide) in paragraph at lines 149--151 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][] [][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (13.65202pt too wide) in paragraph at lines 155--157 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] [285] Overfull \hbox (11.43205pt too wide) in paragraph at lines 157--158 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2[][] ([][]ppl[][][]const[][ ][][]Polyhedron[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (10.48825pt too wide) in paragraph at lines 168--169 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (23.78888pt too wide) in paragraph at lines 172--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/c msy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (8.35905pt too wide) in paragraph at lines 174--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OM S/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.46918pt too wide) in paragraph at lines 184--185 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedro n[] Overfull \hbox (24.92819pt too wide) in paragraph at lines 188--189 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $ \OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constraint [] [286] Overfull \hbox (9.49837pt too wide) in paragraph at lines 190--191 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Constraint[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Constraint[] Overfull \hbox (22.799pt too wide) in paragraph at lines 194--195 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] Overfull \hbox (25.72865pt too wide) in paragraph at lines 196--197 []\OT1/ptm/bc/n/10 int [][]ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][] []from[][][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[] [] dst, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 202--203 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 204--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (11.02924pt too wide) in paragraph at lines 206--207 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/ cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (6.43909pt too wide) in paragraph at lines 208--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Po lyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] [287] Overfull \hbox (2.65869pt too wide) in paragraph at lines 230--231 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]congruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][] Congruence[][][][]System[] Overfull \hbox (2.68785pt too wide) in paragraph at lines 232--233 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c onstraints[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Constraint[] Overfull \hbox (15.98848pt too wide) in paragraph at lines 234--235 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]c ongruences[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][] []const[][][][]Congruence[] Overfull \hbox (8.73904pt too wide) in paragraph at lines 250--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]abo ve[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (9.34877pt too wide) in paragraph at lines 252--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounds[][][]from[][][]bel ow[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[] Overfull \hbox (14.6082pt too wide) in paragraph at lines 254--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (1.86832pt too wide) in paragraph at lines 256--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]maximize[][] ([][]ppl[][] []const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][] []Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (12.94815pt too wide) in paragraph at lines 258--259 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][][]p oint[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]cons t[][][][]Linear[][][][]Expression[] Overfull \hbox (14.84818pt too wide) in paragraph at lines 260--262 [][] \OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]minimize[][][]with[][] []point[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]c onst[][][][]Linear[][][][]Expression[] [288] Overfull \hbox (11.01836pt too wide) in paragraph at lines 265--266 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]strictly[][][]contains[][ ][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][]ppl [][][]const[][][][]Polyhedron[] Overfull \hbox (9.6285pt too wide) in paragraph at lines 267--268 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]fro m[][][][]Polyhedron[][] ([][]ppl[][][]const[][][][]Polyhedron[][][]t[][] x, [][ ]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.87866pt too wide) in paragraph at lines 299--300 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]refine[][][]with[][][]con gruences[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][] []Congruence[][][][]System[] [289] Overfull \hbox (2.82346pt too wide) in paragraph at lines 315--316 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][ ][]dimensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimens ion[][][]type[][] ds[]$ $[], Overfull \hbox (4.84868pt too wide) in paragraph at lines 317--318 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]affine[][][]image[][] ([] []ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][]type[][] var , [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (1.24907pt too wide) in paragraph at lines 323--324 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][]affine[][][] preimage[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] var, [][]ppl[] Overfull \hbox (0.58711pt too wide) in paragraph at lines 325--326 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]image[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[ ][][]type[][] var, enum Overfull \hbox (6.12796pt too wide) in paragraph at lines 327--328 \OT1/ptm/bc/n/10 enum [][]ppl[][][]enum[][][][]Constraint[][][][]Type[][] rel-s ym, [][]ppl[][][]const[][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] [][]const[][][][]Coefficient[] Overfull \hbox (0.9884pt too wide) in paragraph at lines 331--332 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]generalized[][][]affine[] [][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [] []ppl[][][]const[][][][]Linear[] Overfull \hbox (12.40506pt too wide) in paragraph at lines 343--344 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]remove[][][]space[][][]di mensions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[] [][]type[][] ds[]$ $[], size[] Overfull \hbox (12.1548pt too wide) in paragraph at lines 347--348 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]map[][][]space[][][]dimen sions[][] ([][]ppl[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]dimension[][][ ]type[][] maps[]$ $[], size[] [290] Overfull \hbox (7.10867pt too wide) in paragraph at lines 371--372 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cm sy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (21.54861pt too wide) in paragraph at lines 375--376 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]f rom[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\ OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generator[] Overfull \hbox (6.11879pt too wide) in paragraph at lines 377--378 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]r ecycle[][][][]Generator[][][][]System[][] ([][]ppl[][][][]Polyhedron[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Generator[] Overfull \hbox (7.50677pt too wide) in paragraph at lines 379--380 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]get[][][]generators[][] ( [][]ppl[][][]const[][][][]Polyhedron[][][]t[][] ph, [][]ppl[][][]const[][][][]G enerator[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pgs) [291] Overfull \hbox (14.67685pt too wide) in paragraph at lines 393--394 [][][]\OT1/ptm/bc/n/10 Integer[][][][]Type[][][][]Overflow[][] o, const [][]ppl [][][]const[][][][]Constraint[][][][]System[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\O T1/ptm/bc/n/10 pcs, un-signed complexity[][][]threshold, Overfull \hbox (28.9686pt too wide) in paragraph at lines 395--396 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widen ing[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (9.51877pt too wide) in paragraph at lines 397--398 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][] assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]p pl[][][]const[][][][]Polyhedron[] Overfull \hbox (1.88829pt too wide) in paragraph at lines 403--404 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] Overfull \hbox (7.1482pt too wide) in paragraph at lines 405--406 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Polyhedron[] [][]t[][] x, [][]ppl[][][]const[] Overfull \hbox (25.31825pt too wide) in paragraph at lines 407--408 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (5.86842pt too wide) in paragraph at lines 409--410 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (7.98883pt too wide) in paragraph at lines 411--412 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Pol yhedron[][][]t[][] x, [][]ppl[] [292] Overfull \hbox (31.4188pt too wide) in paragraph at lines 415--416 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z 03[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[][][]const[][][][]Polyhedron[] Overfull \hbox (11.96896pt too wide) in paragraph at lines 417--418 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]e xtrapolation[][][]assign[][] ([][]ppl[][][][]Polyhedron[][][]t[][] x, [][]ppl[] [][]const[][][][]Polyhedron[] Overfull \hbox (1.31215pt too wide) in paragraph at lines 436--437 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]space [][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[ ][][]from[][][]space[][][]dimension ( Overfull \hbox (0.10345pt too wide) in paragraph at lines 456--457 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]C[][][] [293] Underfull \hbox (badness 10000) detected at line 462 [][][] Overfull \hbox (10.74222pt too wide) in paragraph at lines 469--470 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Constraint[][][][]System Overfull \hbox (11.32346pt too wide) in paragraph at lines 479--480 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Constraint[] Underfull \hbox (badness 10000) detected at line 487 [][][] Overfull \hbox (16.29228pt too wide) in paragraph at lines 494--495 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyh edron[][][]from[][][][]Congruence[][][][]System Overfull \hbox (16.87352pt too wide) in paragraph at lines 504--505 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Po lyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 512 [][][] [294] Overfull \hbox (15.75209pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ]space[][][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][ ]Polyhedron[][][]from[][][]space[][][]dimension Overfull \hbox (14.45259pt too wide) in paragraph at lines 539--540 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C [][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (5.94331pt too wide) in paragraph at lines 549--550 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int p pl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Underfull \hbox (badness 10000) detected at line 555 [][][] Overfull \hbox (12.08365pt too wide) in paragraph at lines 562--563 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Constraint[] Overfull \hbox (35.3634pt too wide) in paragraph at lines 572--573 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Constraint[] [295] Underfull \hbox (badness 10000) detected at line 580 [][][] Overfull \hbox (17.63371pt too wide) in paragraph at lines 587--588 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[][][][]Congruence[] Overfull \hbox (40.91347pt too wide) in paragraph at lines 597--598 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[ ]C[][][][]Polyhedron[][][]recycle[][][][]Congruence[] Underfull \hbox (badness 10000) detected at line 605 [][][] Overfull \hbox (37.75237pt too wide) in paragraph at lines 612--613 []\OT1/ptm/b/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] [][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]assign[][][][]N []N[]C[][][][]Polyhedron[][][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (3.98338pt too wide) in paragraph at lines 632--633 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 638 [][][] [296] Overfull \hbox (13.58339pt too wide) in paragraph at lines 655--656 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Underfull \hbox (badness 10000) detected at line 661 [][][] [297] [298] Underfull \vbox (badness 10000) has occurred while \output is active [299] Overfull \hbox (9.58202pt too wide) in paragraph at lines 918--919 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]strictly[][][]contains[][][][]Pol yhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]strictly[][][]contain s[][][][]Polyhedron ( Overfull \hbox (0.73216pt too wide) in paragraph at lines 928--929 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][][ ]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]is[][][]disjoint[ ][][]from[][][][]Polyhedron ( [300] [301] Underfull \hbox (badness 10000) detected at line 1024 [][][] Underfull \hbox (badness 10000) detected at line 1037 [][][] [302] Overfull \hbox (6.30173pt too wide) in paragraph at lines 1114--1115 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]context[ ][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]simplify[][][]usi ng[][][]context[][][]assign Overfull \hbox (8.51176pt too wide) in paragraph at lines 1144--1145 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sion()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[] [][]dimension ( Overfull \hbox (7.60165pt too wide) in paragraph at lines 1154--1155 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dimen sions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]unconstrain[][][]space[ ][][]dimensions [303] [304] Overfull \hbox (2.74211pt too wide) in paragraph at lines 1275--1276 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generalized[][][]affine[ ][][]preimage ( Underfull \vbox (badness 10000) has occurred while \output is active [305] Overfull \hbox (6.78322pt too wide) in paragraph at lines 1298--1299 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]imag e[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]generaliz ed[][][]affine[][][]image[] Overfull \hbox (35.44312pt too wide) in paragraph at lines 1319--1320 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (12.11325pt too wide) in paragraph at lines 1350--1351 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][]sp ace[][][]dimensions[][][]and[] Overfull \hbox (14.14328pt too wide) in paragraph at lines 1360--1361 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[][ ][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]add[][][] space[][][]dimensions[][][]and[] [306] Overfull \hbox (26.81181pt too wide) in paragraph at lines 1380--1381 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[][] []dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]remove[][][]high er[][][]space[][][]dimensions Overfull \hbox (7.42976pt too wide) in paragraph at lines 1396--1397 []\OT1/ptm/bc/n/10 The par-tial func-tion is de-fined on di-men-sion \OT1/pcr/m /n/10 i \OT1/ptm/bc/n/10 if \OT1/pcr/m/n/10 i $\OML/cmm/m/it/10 <$ \OT1/pcr/m/n /10 n \OT1/ptm/bc/n/10 and \OT1/pcr/m/n/10 maps[]i[] != ppl[][][]not[][][]a[][] []dimension\OT1/ptm/bc/n/10 ; [307] Overfull \hbox (4.26228pt too wide) in paragraph at lines 1472--1473 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhe dron[][][]from[][][][]Generator[][][][]System Overfull \hbox (4.84352pt too wide) in paragraph at lines 1482--1483 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Pol yhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1490 [][][] Overfull \hbox (5.60371pt too wide) in paragraph at lines 1497--1498 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [][][]Polyhedron[][][]from[][][][]Generator[] [308] Overfull \hbox (28.88347pt too wide) in paragraph at lines 1507--1508 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[] C[][][][]Polyhedron[][][]recycle[][][][]Generator[] Underfull \hbox (badness 10000) detected at line 1515 [][][] [309] Underfull \hbox (badness 10000) detected at line 1568 [][][] [310] Overfull \hbox (22.67305pt too wide) in paragraph at lines 1626--1627 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][ ][]B[]H[]R[]Z03[][][]widening[][][]assign[] Overfull \hbox (9.79324pt too wide) in paragraph at lines 1636--1637 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign[] [][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][][]H79[][ ][]widening[][][]assign[][][]with[] Overfull \hbox (6.43242pt too wide) in paragraph at lines 1666--1667 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]limited[] [311] Overfull \hbox (3.15262pt too wide) in paragraph at lines 1676--1677 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]limited[][][][]H79[] Overfull \hbox (49.62305pt too wide) in paragraph at lines 1686--1687 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]lim ited[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (14.66322pt too wide) in paragraph at lines 1696--1697 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (13.67258pt too wide) in paragraph at lines 1706--1707 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][ ][]Polyhedron[][][]bounded[] Overfull \hbox (10.39278pt too wide) in paragraph at lines 1716--1717 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhe dron[][][]bounded[][][][]H79[] [312] Overfull \hbox (56.8632pt too wide) in paragraph at lines 1726--1727 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bou nded[][][][]B[]H[]R[]Z03[][][]extrapolation[] Overfull \hbox (21.90338pt too wide) in paragraph at lines 1736--1737 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]bounded[][][ ][]H79[][][]extrapolation[] Overfull \hbox (2.68365pt too wide) in paragraph at lines 1770--1771 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (9.44359pt too wide) in paragraph at lines 1776--1777 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] [313] Overfull \hbox (3.80365pt too wide) in paragraph at lines 1782--1783 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C [][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (10.56358pt too wide) in paragraph at lines 1788--1789 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]N[]N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (22.12337pt too wide) in paragraph at lines 1794--1795 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (23.24336pt too wide) in paragraph at lines 1806--1807 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (1.20328pt too wide) in paragraph at lines 1812--1813 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]n ew[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (4.67235pt too wide) in paragraph at lines 1830--1831 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][] Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [314] Overfull \hbox (19.11229pt too wide) in paragraph at lines 1836--1837 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[] N[]C[][][][]Polyhedron[][][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (9.09355pt too wide) in paragraph at lines 1842--1843 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][ ][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (33.1335pt too wide) in paragraph at lines 1848--1849 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][] []N[]N[]C[][][][]Polyhedron[][][]from[][][][]Octagonal[] Overfull \hbox (36.272pt too wide) in paragraph at lines 1854--1855 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (18.41342pt too wide) in paragraph at lines 1860--1861 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Grid[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]N[ ]N[]C[][][][]Polyhedron[][][]from[][][][]Grid[][][]with[] Overfull \hbox (27.87338pt too wide) in paragraph at lines 1866--1867 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]C[][][][]Polyhedron[][][]from[][][][]Rational[] Overfull \hbox (10.6333pt too wide) in paragraph at lines 1872--1873 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Rational[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (18.7929pt too wide) in paragraph at lines 1878--1879 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[] [315] Overfull \hbox (20.75282pt too wide) in paragraph at lines 1884--1885 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.71288pt too wide) in paragraph at lines 1890--1891 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[][][] Overfull \hbox (21.87282pt too wide) in paragraph at lines 1896--1897 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr /m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (26.7126pt too wide) in paragraph at lines 1902--1903 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.75252pt too wide) in paragraph at lines 1908--1909 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[][][] Overfull \hbox (27.8326pt too wide) in paragraph at lines 1914--1915 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.99251pt too wide) in paragraph at lines 1920--1921 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT 1/pcr/m/n/8 int ppl[][][]new[][][][]N[]N[]C[] [316] Overfull \hbox (12.1634pt too wide) in paragraph at lines 1926--1927 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]C[][][][]Polyhedron[][][]from[][][][]Double[] Overfull \hbox (4.52333pt too wide) in paragraph at lines 1932--1933 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Double[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][] new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] Overfull \hbox (5.76308pt too wide) in paragraph at lines 1938--1939 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]C[][][][]Polyhedron[][][]from[] Overfull \hbox (7.723pt too wide) in paragraph at lines 1944--1945 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 i nt ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (13.68279pt too wide) in paragraph at lines 1950--1951 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]C[][][][]Polyhedron[] Overfull \hbox (37.72273pt too wide) in paragraph at lines 1956--1957 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/ n/8 int ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[] [317] Overfull \hbox (0.76205pt too wide) in paragraph at lines 1980--1981 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]upper[][][]bound[][][]assign[][][ ]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]upper[][][]bou nd[][][]assign[][][]if[][][]exact ( Overfull \hbox (2.99208pt too wide) in paragraph at lines 1998--1999 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[][][]som e[][][]non[][][]integer[][][]points Overfull \hbox (20.5736pt too wide) in paragraph at lines 2004--2005 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]inte ger[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]drop[] [][]some[][][]non[][][]integer[][][]points[] Overfull \hbox (3.43185pt too wide) in paragraph at lines 2010--2011 []\OT1/ptm/b/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[][ ][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Polyhedron[][][]widening[][][]assig n[][][]with[][][]tokens ( [318] Overfull \hbox (1.1535pt too wide) in paragraph at lines 2058--2059 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]C[][][] Overfull \hbox (38.5021pt too wide) in paragraph at lines 2064--2065 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]C[][][][]Polyhedron [319] Overfull \hbox (0.23343pt too wide) in paragraph at lines 2070--2071 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]M[] Overfull \hbox (3.36351pt too wide) in paragraph at lines 2076--2077 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]a ffine[][][]ranking[][][]function[][][][]P[]R[] Overfull \hbox (2.5233pt too wide) in paragraph at lines 2082--2083 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]C[] Overfull \hbox (0.85338pt too wide) in paragraph at lines 2088--2089 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]C[] Overfull \hbox (4.48323pt too wide) in paragraph at lines 2094--2095 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]M[] Overfull \hbox (2.81331pt too wide) in paragraph at lines 2100--2101 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][] affine[][][]ranking[][][]functions[][][][]P[] [320] Overfull \hbox (2.0735pt too wide) in paragraph at lines 2130--2131 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][] Overfull \hbox (0.40358pt too wide) in paragraph at lines 2136--2137 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][] Overfull \hbox (1.15343pt too wide) in paragraph at lines 2142--2143 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[] Overfull \hbox (2.36351pt too wide) in paragraph at lines 2148--2149 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one [][][]affine[][][]ranking[][][]function[][][] Overfull \hbox (3.4433pt too wide) in paragraph at lines 2154--2155 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.77338pt too wide) in paragraph at lines 2160--2161 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[] Overfull \hbox (5.40323pt too wide) in paragraph at lines 2166--2167 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] [321] Overfull \hbox (3.7333pt too wide) in paragraph at lines 2172--2173 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]al l[][][]affine[][][]ranking[][][]functions[] ) (./interfaceppl__Rational__Box__tag.tex Overfull \hbox (5.63234pt too wide) in paragraph at lines 21--23 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[] [] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Polyhe dron[] Overfull \hbox (3.3823pt too wide) in paragraph at lines 37--39 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box[][][ ]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]B[ ]D[][][][]Shape[] Overfull \hbox (29.76184pt too wide) in paragraph at lines 39--41 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][ ][]Octagonal[] Overfull \hbox (1.04219pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]complexity[][] ([][]ppl[][][][]Ra tional[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]pp l[] [322] Overfull \hbox (9.09174pt too wide) in paragraph at lines 47--49 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Rational[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational [][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][ ]const[] Overfull \hbox (16.01172pt too wide) in paragraph at lines 49--51 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity[][] ([][]p pl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[] Overfull \hbox (4.64206pt too wide) in paragraph at lines 57--59 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Double[][][][]Box[][][]with[][][]complexity[][] ([][]ppl[][][][]Rational[] [][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]c onst[] Overfull \hbox (2.97215pt too wide) in paragraph at lines 59--61 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]B[]D[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[][][] []Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [] []ppl[] Overfull \hbox (6.40042pt too wide) in paragraph at lines 61--63 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Octagonal[][][][]Shape[][][]double[][][]with[][][]complexity[][] ([][]ppl[ ][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pp h, Overfull \hbox (5.09135pt too wide) in paragraph at lines 63--65 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Constraint[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Constra int[] Overfull \hbox (18.39198pt too wide) in paragraph at lines 65--67 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][ ] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Congrue nce[] Overfull \hbox (1.71178pt too wide) in paragraph at lines 67--69 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][ ][][]Generator[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][]const[][][][]Generato r[] Overfull \hbox (12.5317pt too wide) in paragraph at lines 77--79 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]relation[][][]wi th[][][][]Congruence[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[ ][] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (7.53172pt too wide) in paragraph at lines 81--83 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]congrue nces[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (7.56088pt too wide) in paragraph at lines 83--85 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]constraints[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Constraint[] Overfull \hbox (20.86151pt too wide) in paragraph at lines 85--87 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]minimiz ed[][][]congruences[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] ph, [][]ppl[][][]const[][][][]Congruence[] Overfull \hbox (13.61208pt too wide) in paragraph at lines 101--103 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]above[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (14.2218pt too wide) in paragraph at lines 103--105 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounds[][][]from [][][]below[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (18.62187pt too wide) in paragraph at lines 105--107 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]upper[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] Overfull \hbox (18.37173pt too wide) in paragraph at lines 107--109 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]get[][][]lower[] [][]bound[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ps, [][]ppl[][][]d imension[][][]type[][] var, [][]ppl[][][][]Coefficient[] [323] Overfull \hbox (6.74135pt too wide) in paragraph at lines 109--111 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (5.0813pt too wide) in paragraph at lines 111--113 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][] ([] []ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[] [][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (19.48123pt too wide) in paragraph at lines 113--115 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]maximize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (17.82118pt too wide) in paragraph at lines 115--117 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]minimize[][][]wi th[][][]point[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[][][][]Expression[] Overfull \hbox (7.13179pt too wide) in paragraph at lines 117--119 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]frequency[][] ([ ][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]const[ ][][][]Linear[][][][]Expression[][][]t[][] le, [][]ppl[] Overfull \hbox (0.61139pt too wide) in paragraph at lines 119--121 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]contains[][][][] Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][][]t[] [] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (11.72083pt too wide) in paragraph at lines 121--123 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]strictly[][][]co ntains[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[][][] []Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (10.33096pt too wide) in paragraph at lines 123--125 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint [][][]from[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[] [][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.45107pt too wide) in paragraph at lines 141--143 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]constraints[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Constraint[][][][]System[] Overfull \hbox (14.7517pt too wide) in paragraph at lines 143--145 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]refine[][][]with [][][]congruences[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]const[][][][]Congruence[][][][]System[] Overfull \hbox (4.91129pt too wide) in paragraph at lines 157--159 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]simplify[][][]us ing[][][]context[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (7.69649pt too wide) in paragraph at lines 163--165 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][ ]space[][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [ ][]ppl[][][]dimension[][][]type[][] ds[]$ $[], Overfull \hbox (9.72171pt too wide) in paragraph at lines 165--167 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]affine[][][]imag e[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[][][]dimension [][][]type[][] var, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (6.1221pt too wide) in paragraph at lines 171--173 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]bounded[][][]aff ine[][][]preimage[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]pp l[][][]dimension[][][]type[][] var, [][]ppl[] Overfull \hbox (5.46014pt too wide) in paragraph at lines 173--175 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]image[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]p pl[][][]dimension[][][]type[][] var, enum [324] Overfull \hbox (5.86143pt too wide) in paragraph at lines 179--181 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]generalized[][][ ]affine[][][]preimage[][][]lhs[][][]rhs[][] ([][]ppl[][][][]Rational[][][][]Box [][][]t[][] ph, [][]ppl[][][]const[][][][]Linear[] Overfull \hbox (3.69801pt too wide) in paragraph at lines 191--193 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]fold[][][]space[ ][][]dimensions[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] ph, [][]ppl[ ][][]dimension[][][]type[][] ds[]$ $[], size[] Overfull \hbox (8.29143pt too wide) in paragraph at lines 203--205 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]wi dening[][][]assign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Bo x[][][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (1.6215pt too wide) in paragraph at lines 207--209 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]widening[][][]as sign[][][]with[][][]tokens[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t[][] x , [][]ppl[][][]const[][][][]Rational[][][][]Box[] Overfull \hbox (4.64108pt too wide) in paragraph at lines 213--215 []\OT1/ptm/bc/n/10 int [][]ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C []C76[][][]extrapolation[][][]assign[][] ([][]ppl[][][][]Rational[][][][]Box[][ ][]t[][] x, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (2.96216pt too wide) in paragraph at lines 223--225 []\OT1/ptm/bc/n/10 int [][]ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle [][][][]Congruence[][][][]System[][] ([][]ppl[][][][]Rational[][][][]Box[][][]t [][] $\OMS/cmsy/m/n/10 ^^C$\OT1/ptm/bc/n/10 pph, [][]ppl[][][][]Congruence[] [325] Overfull \hbox (11.43164pt too wide) in paragraph at lines 237--239 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (9.21167pt too wide) in paragraph at lines 239--241 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational[ ][][][]Box[][][]t[][] pset, [][]ppl[][][][]Generator[] Overfull \hbox (17.01144pt too wide) in paragraph at lines 241--243 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (14.79147pt too wide) in paragraph at lines 243--245 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][] ([][]ppl[][][]const[][][][]Rational [][][][]Box[][][]t[][] pset, [][]ppl[][][][]Polyhedron[] Overfull \hbox (19.75078pt too wide) in paragraph at lines 245--247 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]M[]S[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (17.5308pt too wide) in paragraph at lines 247--249 []\OT1/ptm/bc/n/10 int [][]ppl[][][]termination[][][]test[][][][]P[]R[][][][]Ra tional[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Rational[][][][]Box[][] []t[][] pset[][][]before, [][]ppl[][][]const[][][][]Rational[] Overfull \hbox (5.59184pt too wide) in paragraph at lines 249--251 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (3.37187pt too wide) in paragraph at lines 251--253 []\OT1/ptm/bc/n/10 int [][]ppl[][][]one[][][]affine[][][]ranking[][][]function[ ][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]Ra tional[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (5.04152pt too wide) in paragraph at lines 253--255 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]M[]S[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] Overfull \hbox (2.82155pt too wide) in paragraph at lines 255--257 []\OT1/ptm/bc/n/10 int [][]ppl[][][]all[][][]affine[][][]ranking[][][]functions [][][][]P[]R[][][][]Rational[][][][]Box[][][]2[][] ([][]ppl[][][]const[][][][]R ational[][][][]Box[][][]t[][] pset[][][]before, [][]ppl[] [326] Overfull \hbox (2.61357pt too wide) in paragraph at lines 313--314 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.85356pt too wide) in paragraph at lines 319--320 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]R ational[][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (19.17328pt too wide) in paragraph at lines 325--326 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (20.29327pt too wide) in paragraph at lines 331--332 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class()[] \OT1/pcr/m/n/8 int ppl[][][]new[][] [][]Rational[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (1.72226pt too wide) in paragraph at lines 343--344 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[ ][][][]Box[][][]from[][][][]B[]D[][][][]Shape[][][]double ( [327] Overfull \hbox (6.14346pt too wide) in paragraph at lines 349--350 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rati onal[][][][]Box[][][]from[][][][]Octagonal[] Overfull \hbox (45.1534pt too wide) in paragraph at lines 355--356 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.0333pt too wide) in paragraph at lines 361--362 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][] []new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (33.32191pt too wide) in paragraph at lines 367--368 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gri d[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational [][][][]Box[][][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (24.9233pt too wide) in paragraph at lines 373--374 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[ ][][][]Rational[][][][]Box[][][]from[][][][]Rational[] Overfull \hbox (15.8428pt too wide) in paragraph at lines 379--380 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (16.9628pt too wide) in paragraph at lines 385--386 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (6.4825pt too wide) in paragraph at lines 391--392 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] [328] Overfull \hbox (7.6025pt too wide) in paragraph at lines 397--398 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity()[] \OT1/pcr/ m/n/8 int ppl[][][]new[][][][]Rational[] Overfull \hbox (9.21332pt too wide) in paragraph at lines 403--404 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl[][][]new[][ ][][]Rational[][][][]Box[][][]from[][][][]Double[] Overfull \hbox (2.81299pt too wide) in paragraph at lines 409--410 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 int ppl [][][]new[][][][]Rational[][][][]Box[][][]from[] Overfull \hbox (10.7327pt too wide) in paragraph at lines 415--416 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[][][]with[][][]complexity()[] \OT1/pcr/m/n/8 in t ppl[][][]new[][][][]Rational[][][][]Box[] Overfull \hbox (7.79213pt too wide) in paragraph at lines 421--422 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con straint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Constraint[][][][]System Overfull \hbox (13.3422pt too wide) in paragraph at lines 427--428 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Con gruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][] []Box[][][]from[][][][]Congruence[][][][]System Overfull \hbox (1.3122pt too wide) in paragraph at lines 433--434 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Gen erator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][][][ ]Box[][][]from[][][][]Generator[][][][]System [329] Overfull \hbox (1.10178pt too wide) in paragraph at lines 481--482 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] constraints()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]constraints ( Overfull \hbox (6.65184pt too wide) in paragraph at lines 487--488 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][][] congruences()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]get[][][ ]minimized[][][]congruences ( [330] Overfull \hbox (4.07193pt too wide) in paragraph at lines 529--530 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]topological[][][]closure [][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]topolog ical[][][]closure[][][]assign ( [331] Overfull \hbox (22.7833pt too wide) in paragraph at lines 595--596 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]strictly[][][]contains[] [][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box [][][]strictly[][][]contains[][][][]Rational[] Overfull \hbox (13.93344pt too wide) in paragraph at lines 601--602 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint[][][]fr om[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][ ]Box[][][]is[][][]disjoint[][][]from[][][][]Rational[] [332] [333] Overfull \hbox (6.71194pt too wide) in paragraph at lines 697--698 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]upper[][][]bound[][][]as sign[][][]if[][][]exact()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[] [][]upper[][][]bound[][][]assign[][][]if[][][]exact Overfull \hbox (2.03311pt too wide) in paragraph at lines 703--704 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][][ ]context[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][ ]simplify[][][]using[][][]context[][][] Overfull \hbox (14.46165pt too wide) in paragraph at lines 715--716 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimension()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncons train[][][]space[][][]dimension Overfull \hbox (23.15155pt too wide) in paragraph at lines 721--722 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space[] [][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]uncon strain[][][]space[][][]dimensions [334] Overfull \hbox (8.692pt too wide) in paragraph at lines 757--758 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (22.33311pt too wide) in paragraph at lines 763--764 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]image[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]generalized[][][]affine[][][]image[] [335] Overfull \hbox (9.71298pt too wide) in paragraph at lines 769--770 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[][][]lhs[][][]rhs()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]generalized[][][]affine[] Overfull \hbox (10.38313pt too wide) in paragraph at lines 775--776 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]embed()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Bo x[][][]add[][][]space[][][]dimensions[] Overfull \hbox (12.41316pt too wide) in paragraph at lines 781--782 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]project()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]add[][][]space[][][]dimensions[] Overfull \hbox (0.46318pt too wide) in paragraph at lines 793--794 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][] []remove[][][]higher[][][]space[] [336] Overfull \hbox (18.54198pt too wide) in paragraph at lines 817--818 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[ ][][]drop[][][]some[][][]non[][][]integer[][][]points Overfull \hbox (4.44347pt too wide) in paragraph at lines 823--824 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][ ][]Box[][][]drop[][][]some[][][]non[][][]integer[] Overfull \hbox (14.72318pt too wide) in paragraph at lines 841--842 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][] [][]Box[][][][]C[]C76[][][]widening[][][]assign[] Overfull \hbox (9.38174pt too wide) in paragraph at lines 853--854 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[][] []with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][]Box[][][]w idening[][][]assign[][][]with[][][]tokens [337] Overfull \hbox (8.08255pt too wide) in paragraph at lines 865--866 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign[][][]with[][][]tokens()[] \OT1/pcr/m/n/8 int ppl[] [][][]Rational[][][][]Box[][][]limited[] Overfull \hbox (41.67317pt too wide) in paragraph at lines 871--872 []\OT1/ptm/b/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign()[] \OT1/pcr/m/n/8 int ppl[][][][]Rational[][][][] Box[][][]limited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (8.37337pt too wide) in paragraph at lines 895--896 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Constraint[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Constraint[] Overfull \hbox (13.92343pt too wide) in paragraph at lines 901--902 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Congruence[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][ ][][]Box[][][]recycle[][][][]Congruence[] [338] Overfull \hbox (1.89343pt too wide) in paragraph at lines 907--908 []\OT1/ptm/b/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Generator[][][][]System()[] \OT1/pcr/m/n/8 int ppl[][][]new[][][][]Rational[][] [][]Box[][][]recycle[][][][]Generator[] Overfull \hbox (28.92343pt too wide) in paragraph at lines 943--944 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (27.25351pt too wide) in paragraph at lines 949--950 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][]affine[ ][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (33.17323pt too wide) in paragraph at lines 955--956 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]M[]S[][][][]Rational[] Overfull \hbox (31.50331pt too wide) in paragraph at lines 961--962 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][]affine [][][]ranking[][][]functions[][][][]P[]R[][][][]Rational[] [339] Overfull \hbox (37.52344pt too wide) in paragraph at lines 979--980 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]M[]S[][][][]Rational[] Overfull \hbox (35.85352pt too wide) in paragraph at lines 985--986 []\OT1/ptm/b/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]one[][][] affine[][][]ranking[][][]function[][][][]P[]R[][][][]Rational[] Overfull \hbox (0.49321pt too wide) in paragraph at lines 991--992 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]M[]S[] Overfull \hbox (1.7033pt too wide) in paragraph at lines 997--998 []\OT1/ptm/b/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box[][][]2()[] \OT1/pcr/m/n/8 int ppl[][][]all[][][ ]affine[][][]ranking[][][]functions[][][][]P[]R[][][] [340]) [341] [342] (./refman.ind Overfull \hbox (1.62616pt too wide) in paragraph at lines 14--16 []| \OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][ ][][]Overflow, [][]33[][] Overfull \hbox (12.22548pt too wide) in paragraph at lines 16--18 []| \OT1/ptm/bc/n/10 ppl[][][]enum[][][][]Bounded[][][][]Integer[][][][]Type[][ ][][]Representation, Overfull \hbox (0.87602pt too wide) in paragraph at lines 43--45 []\OT1/ptm/bc/n/10 ppl[][][][]Artificial[][][][]Parameter[][][][]Sequence[][][] const[][][]iterator[][][] Overfull \hbox (2.72694pt too wide) in paragraph at lines 50--51 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z05 [][][]widening[][][]assign[] Overfull \hbox (2.57677pt too wide) in paragraph at lines 56--57 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][][] extrapolation[][][]assign[] Overfull \hbox (2.4369pt too wide) in paragraph at lines 65--66 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]wid ening[][][]assign[][][]with[] Overfull \hbox (1.86687pt too wide) in paragraph at lines 89--90 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[] Overfull \hbox (1.86687pt too wide) in paragraph at lines 92--93 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]space [][][]dimensions[][][]and[] Overfull \hbox (6.34544pt too wide) in paragraph at lines 137--138 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points Overfull \hbox (15.32695pt too wide) in paragraph at lines 140--141 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]some [][][]non[][][]integer[][][]points[] [343] Overfull \hbox (9.93654pt too wide) in paragraph at lines 161--162 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]image[][][]lhs[] Overfull \hbox (7.43665pt too wide) in paragraph at lines 167--168 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[][ ][]affine[][][]preimage[] Overfull \hbox (3.26663pt too wide) in paragraph at lines 191--192 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disjoi nt[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.46648pt too wide) in paragraph at lines 203--204 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (21.46648pt too wide) in paragraph at lines 206--207 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (5.91655pt too wide) in paragraph at lines 209--210 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (5.91655pt too wide) in paragraph at lines 212--213 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (3.39668pt too wide) in paragraph at lines 215--216 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][] Overfull \hbox (3.39668pt too wide) in paragraph at lines 218--219 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][][ ]H79[][][]extrapolation[][][] Overfull \hbox (19.2452pt too wide) in paragraph at lines 260--261 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][]hi gher[][][]space[][][]dimensions Overfull \hbox (5.53494pt too wide) in paragraph at lines 266--267 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][][] using[][][]context[][][]assign Overfull \hbox (4.6565pt too wide) in paragraph at lines 272--273 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][][] contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (16.24544pt too wide) in paragraph at lines 277--279 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z 05[][][]widening[][][]assign, Overfull \hbox (22.72694pt too wide) in paragraph at lines 279--281 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]B[]H[]M[]Z 05[][][]widening[][][]assign[] Overfull \hbox (16.09526pt too wide) in paragraph at lines 281--283 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []extrapolation[][][]assign, Overfull \hbox (22.57677pt too wide) in paragraph at lines 283--285 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []extrapolation[][][]assign[] Overfull \hbox (4.32553pt too wide) in paragraph at lines 285--287 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]C[]C76[][] []narrowing[][][]assign, Overfull \hbox (6.59566pt too wide) in paragraph at lines 287--289 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]w idening[][][]assign, [][]53[][] Overfull \hbox (1.05714pt too wide) in paragraph at lines 289--291 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][][]H79[][][]w idening[][][]assign[] [344] Overfull \hbox (13.27562pt too wide) in paragraph at lines 301--303 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]rec ycled[][][]congruences, Overfull \hbox (6.6253pt too wide) in paragraph at lines 303--305 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]rec ycled[][][]constraints, Overfull \hbox (3.82692pt too wide) in paragraph at lines 305--307 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]spa ce[][][]dimensions[] Overfull \hbox (3.82692pt too wide) in paragraph at lines 307--309 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]add[][][]spa ce[][][]dimensions[] Overfull \hbox (8.55576pt too wide) in paragraph at lines 319--321 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][ ]affine[][][]image, [][]50[][] Overfull \hbox (9.30563pt too wide) in paragraph at lines 321--323 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]bounded[][][ ]affine[][][]preimage, Overfull \hbox (17.61546pt too wide) in paragraph at lines 331--333 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][] [][]B[]D[][][][]Shape[][][]double, Overfull \hbox (8.66544pt too wide) in paragraph at lines 333--335 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]contains[][] []integer[][][]point, [][]46[][] Overfull \hbox (7.27727pt too wide) in paragraph at lines 337--339 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]so me[][][]non[][][]integer[] Overfull \hbox (7.27727pt too wide) in paragraph at lines 339--341 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]drop[][][]so me[][][]non[][][]integer[] Overfull \hbox (9.83557pt too wide) in paragraph at lines 341--343 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]equals[][][] []B[]D[][][][]Shape[][][]double, Overfull \hbox (7.74556pt too wide) in paragraph at lines 343--345 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]expand[][][] space[][][]dimension, Overfull \hbox (13.01532pt too wide) in paragraph at lines 345--347 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]external[][] []memory[][][]in[][][]bytes, Overfull \hbox (11.03534pt too wide) in paragraph at lines 347--349 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]fold[][][]sp ace[][][]dimensions, [][]51[][] Overfull \hbox (8.18524pt too wide) in paragraph at lines 351--353 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]image, Overfull \hbox (14.66675pt too wide) in paragraph at lines 353--355 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]image[] Overfull \hbox (20.95514pt too wide) in paragraph at lines 355--357 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]preimage, Overfull \hbox (27.43665pt too wide) in paragraph at lines 357--359 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]generalized[ ][][]affine[][][]preimage[] Overfull \hbox (20.11514pt too wide) in paragraph at lines 363--365 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]min imized[][][]congruences, Overfull \hbox (13.46483pt too wide) in paragraph at lines 365--367 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]get[][][]min imized[][][]constraints, Overfull \hbox (23.26663pt too wide) in paragraph at lines 373--375 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]disj oint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (0.13515pt too wide) in paragraph at lines 377--379 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]is[][][]topo logically[][][]closed, Overfull \hbox (41.46648pt too wide) in paragraph at lines 381--383 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (41.46648pt too wide) in paragraph at lines 383--385 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (25.91655pt too wide) in paragraph at lines 385--387 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (25.91655pt too wide) in paragraph at lines 387--389 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (19.79668pt too wide) in paragraph at lines 389--391 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (19.79668pt too wide) in paragraph at lines 391--393 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]limited[][][ ][]H79[][][]extrapolation[] Overfull \hbox (0.1253pt too wide) in paragraph at lines 395--397 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]map[][][]spa ce[][][]dimensions, Overfull \hbox (4.9353pt too wide) in paragraph at lines 399--401 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]maximize[][] []with[][][]point, [][]47[][] Overfull \hbox (3.27525pt too wide) in paragraph at lines 403--405 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]minimize[][] []with[][][]point, [][]47[][] Overfull \hbox (1.7756pt too wide) in paragraph at lines 405--407 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]congruence, Overfull \hbox (5.6655pt too wide) in paragraph at lines 407--409 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]congruences, Overfull \hbox (7.14531pt too wide) in paragraph at lines 409--411 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]constraint, [][]48[][] Overfull \hbox (11.0352pt too wide) in paragraph at lines 411--413 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]refine[][][] with[][][]constraints, [][]48[][] Overfull \hbox (11.78532pt too wide) in paragraph at lines 413--415 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Congruence, Overfull \hbox (5.13501pt too wide) in paragraph at lines 415--417 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Constraint, Overfull \hbox (3.44522pt too wide) in paragraph at lines 417--419 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]relation[][] []with[][][][]Generator, Overfull \hbox (2.6673pt too wide) in paragraph at lines 419--421 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][] higher[][][]space[][][] Overfull \hbox (12.5954pt too wide) in paragraph at lines 421--423 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]remove[][][] space[][][]dimensions, Overfull \hbox (5.91682pt too wide) in paragraph at lines 423--425 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]simplify[][] []using[][][]context[] Overfull \hbox (0.21667pt too wide) in paragraph at lines 427--429 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]strictly[][] []contains[][][][]B[]D[][][] Overfull \hbox (14.01505pt too wide) in paragraph at lines 431--433 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]topological[ ][][]closure[][][]assign, Overfull \hbox (10.7553pt too wide) in paragraph at lines 433--435 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]total[][][]m emory[][][]in[][][]bytes, [][]52[][] [345] Overfull \hbox (25.6751pt too wide) in paragraph at lines 435--437 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[ ][][]space[][][]dimension, Overfull \hbox (29.56499pt too wide) in paragraph at lines 437--439 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[ ][][]space[][][]dimensions, Overfull \hbox (4.09723pt too wide) in paragraph at lines 441--443 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]upper[][][]b ound[][][]assign[][][]if[] Overfull \hbox (1.61693pt too wide) in paragraph at lines 445--447 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][] []assign[][][]with[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 449--451 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 451--453 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 453--455 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 455--457 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.987pt too wide) in paragraph at lines 457--459 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (2.9973pt too wide) in paragraph at lines 467--469 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 469--471 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 471--473 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 473--475 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 475--477 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (2.9973pt too wide) in paragraph at lines 477--479 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (7.36572pt too wide) in paragraph at lines 479--481 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]C[][][][]Polyhedron, Overfull \hbox (13.84723pt too wide) in paragraph at lines 481--483 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]C[][][][]Polyhedron[] Overfull \hbox (5.78728pt too wide) in paragraph at lines 483--485 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Congruence[] Overfull \hbox (2.73697pt too wide) in paragraph at lines 485--487 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Constraint[][][] Overfull \hbox (0.6958pt too wide) in paragraph at lines 487--489 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Double[][][][]Box, Overfull \hbox (7.1773pt too wide) in paragraph at lines 489--491 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Double[][][][]Box[] Overfull \hbox (1.04718pt too wide) in paragraph at lines 491--493 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Generator[][][] Overfull \hbox (0.77716pt too wide) in paragraph at lines 495--497 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Grid[][][]with[][][] Overfull \hbox (21.80566pt too wide) in paragraph at lines 497--499 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (28.28717pt too wide) in paragraph at lines 499--501 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (2.16716pt too wide) in paragraph at lines 501--503 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 503--505 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 505--507 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 507--509 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 509--511 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 511--513 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Octagonal[][][] Overfull \hbox (5.14548pt too wide) in paragraph at lines 513--515 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Rational[][][][]Box, Overfull \hbox (11.62698pt too wide) in paragraph at lines 515--517 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][][]Rational[][][][]Box[] Overfull \hbox (18.4653pt too wide) in paragraph at lines 517--519 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]fro m[][][]space[][][]dimension, Overfull \hbox (15.06718pt too wide) in paragraph at lines 519--521 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Congruence[] Overfull \hbox (8.41687pt too wide) in paragraph at lines 521--523 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Constraint[] Overfull \hbox (6.72708pt too wide) in paragraph at lines 523--525 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]rec ycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 525--527 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 527--529 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 529--531 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 531--533 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.60512pt too wide) in paragraph at lines 533--535 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]double, [][]55[][] Overfull \hbox (10.20512pt too wide) in paragraph at lines 535--537 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]double[][][]2, [][]56[][] Overfull \hbox (7.98515pt too wide) in paragraph at lines 539--541 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]double[][][]2, [][]56[][] Overfull \hbox (3.1751pt too wide) in paragraph at lines 550--551 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimension Overfull \hbox (7.06499pt too wide) in paragraph at lines 553--554 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]unconstrain[][ ][]space[][][]dimensions [346] Overfull \hbox (2.24516pt too wide) in paragraph at lines 565--566 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]double[][][]widening[][][] assign[][][]with[][][]tokens Overfull \hbox (7.34506pt too wide) in paragraph at lines 571--572 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign Overfull \hbox (16.32657pt too wide) in paragraph at lines 574--575 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[] Overfull \hbox (7.19489pt too wide) in paragraph at lines 577--578 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign Overfull \hbox (16.17639pt too wide) in paragraph at lines 580--581 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[] Overfull \hbox (16.03653pt too wide) in paragraph at lines 589--590 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[] Overfull \hbox (4.37524pt too wide) in paragraph at lines 607--608 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]recycled[][][]congruences Overfull \hbox (1.02655pt too wide) in paragraph at lines 613--614 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (1.02655pt too wide) in paragraph at lines 616--617 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (0.40526pt too wide) in paragraph at lines 637--638 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]bounde d[][][]affine[][][]preimage Overfull \hbox (8.25665pt too wide) in paragraph at lines 652--653 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.87689pt too wide) in paragraph at lines 661--662 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.87689pt too wide) in paragraph at lines 664--665 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.47676pt too wide) in paragraph at lines 667--668 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (4.11494pt too wide) in paragraph at lines 673--674 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes Overfull \hbox (8.26637pt too wide) in paragraph at lines 685--686 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]image[] Overfull \hbox (12.05476pt too wide) in paragraph at lines 688--689 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (21.03627pt too wide) in paragraph at lines 691--692 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (11.21477pt too wide) in paragraph at lines 700--701 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]congruences Overfull \hbox (4.56445pt too wide) in paragraph at lines 703--704 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[][ ][]minimized[][][]constraints [347] Overfull \hbox (16.86626pt too wide) in paragraph at lines 715--716 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (35.0661pt too wide) in paragraph at lines 727--728 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (35.0661pt too wide) in paragraph at lines 730--731 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (19.51617pt too wide) in paragraph at lines 733--734 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (19.51617pt too wide) in paragraph at lines 736--737 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (13.3963pt too wide) in paragraph at lines 739--740 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (13.3963pt too wide) in paragraph at lines 742--743 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (2.88495pt too wide) in paragraph at lines 775--776 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]relati on[][][]with[][][][]Congruence Overfull \hbox (32.84482pt too wide) in paragraph at lines 784--785 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions Overfull \hbox (3.69502pt too wide) in paragraph at lines 787--788 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remove [][][]space[][][]dimensions Overfull \hbox (3.11646pt too wide) in paragraph at lines 790--791 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simpli fy[][][]using[][][]context[][][] Overfull \hbox (18.25612pt too wide) in paragraph at lines 796--797 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.72694pt too wide) in paragraph at lines 801--803 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.72694pt too wide) in paragraph at lines 803--805 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.57677pt too wide) in paragraph at lines 805--807 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (7.57677pt too wide) in paragraph at lines 807--809 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (17.92516pt too wide) in paragraph at lines 809--811 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]C[ ]C76[][][]narrowing[][][]assign, Overfull \hbox (8.17526pt too wide) in paragraph at lines 811--813 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H7 9[][][]widening[][][]assign, Overfull \hbox (14.65677pt too wide) in paragraph at lines 813--815 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][][]H7 9[][][]widening[][][]assign[] Overfull \hbox (1.57555pt too wide) in paragraph at lines 819--821 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]congruences, [][]69[][] Overfull \hbox (26.87524pt too wide) in paragraph at lines 825--827 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]recycled[][][]congruences, Overfull \hbox (20.22493pt too wide) in paragraph at lines 827--829 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]recycled[][][]constraints, Overfull \hbox (17.42654pt too wide) in paragraph at lines 829--831 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (17.42654pt too wide) in paragraph at lines 831--833 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (1.34528pt too wide) in paragraph at lines 833--835 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]affi ne[][][]dimension, [][]66[][] Overfull \hbox (10.13536pt too wide) in paragraph at lines 843--845 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ded[][][]affine[][][]image, Overfull \hbox (22.90526pt too wide) in paragraph at lines 845--847 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ded[][][]affine[][][]preimage, [348] Overfull \hbox (0.64575pt too wide) in paragraph at lines 847--849 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ds[][][]from[][][]above, Overfull \hbox (1.25548pt too wide) in paragraph at lines 849--851 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]boun ds[][][]from[][][]below, Overfull \hbox (9.35504pt too wide) in paragraph at lines 851--853 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]conc atenate[][][]assign, [][]70[][] Overfull \hbox (6.87675pt too wide) in paragraph at lines 855--857 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]cont ains[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.24504pt too wide) in paragraph at lines 857--859 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]cont ains[][][]integer[][][]point, Overfull \hbox (2.43513pt too wide) in paragraph at lines 859--861 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]diff erence[][][]assign, [][]70[][] Overfull \hbox (20.87689pt too wide) in paragraph at lines 861--863 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (20.87689pt too wide) in paragraph at lines 863--865 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (2.69687pt too wide) in paragraph at lines 865--867 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]equa ls[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (21.34518pt too wide) in paragraph at lines 867--869 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]expa nd[][][]space[][][]dimension, Overfull \hbox (0.60683pt too wide) in paragraph at lines 869--871 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]exte rnal[][][]memory[][][] Overfull \hbox (12.61494pt too wide) in paragraph at lines 871--873 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]fold [][][]space[][][]dimensions, Overfull \hbox (0.2267pt too wide) in paragraph at lines 875--877 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 877--879 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 879--881 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (0.2267pt too wide) in paragraph at lines 881--883 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]gene ralized[][][]affine[] Overfull \hbox (33.71477pt too wide) in paragraph at lines 887--889 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[ ][][]minimized[][][]congruences, Overfull \hbox (27.06445pt too wide) in paragraph at lines 889--891 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]get[ ][][]minimized[][][]constraints, Overfull \hbox (8.81485pt too wide) in paragraph at lines 891--893 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]inte rsection[][][]assign, [][]70[][] Overfull \hbox (1.60646pt too wide) in paragraph at lines 897--899 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] [][]disjoint[][][]from[][][][]B[] Overfull \hbox (13.73477pt too wide) in paragraph at lines 901--903 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]is[] [][]topologically[][][]closed, Overfull \hbox (2.44666pt too wide) in paragraph at lines 905--907 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (2.44666pt too wide) in paragraph at lines 907--909 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (39.51617pt too wide) in paragraph at lines 909--911 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (39.51617pt too wide) in paragraph at lines 911--913 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (33.3963pt too wide) in paragraph at lines 913--915 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (33.3963pt too wide) in paragraph at lines 915--917 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (13.72493pt too wide) in paragraph at lines 919--921 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]map[ ][][]space[][][]dimensions, Overfull \hbox (6.51491pt too wide) in paragraph at lines 923--925 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]maxi mize[][][]with[][][]point, Overfull \hbox (4.85486pt too wide) in paragraph at lines 927--929 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]mini mize[][][]with[][][]point, Overfull \hbox (15.37523pt too wide) in paragraph at lines 929--931 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]congruence, Overfull \hbox (19.26512pt too wide) in paragraph at lines 931--933 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]congruences, Overfull \hbox (8.72491pt too wide) in paragraph at lines 933--935 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]constraint, Overfull \hbox (12.6148pt too wide) in paragraph at lines 935--937 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]refi ne[][][]with[][][]constraints, Overfull \hbox (25.38495pt too wide) in paragraph at lines 937--939 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Congruence, Overfull \hbox (18.73463pt too wide) in paragraph at lines 939--941 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Constraint, Overfull \hbox (17.04485pt too wide) in paragraph at lines 941--943 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]rela tion[][][]with[][][][]Generator, Overfull \hbox (12.66692pt too wide) in paragraph at lines 943--945 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remo ve[][][]higher[][][]space[] Overfull \hbox (26.19502pt too wide) in paragraph at lines 945--947 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]remo ve[][][]space[][][]dimensions, Overfull \hbox (19.51645pt too wide) in paragraph at lines 947--949 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]simp lify[][][]using[][][]context[] Overfull \hbox (1.03522pt too wide) in paragraph at lines 949--951 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]spac e[][][]dimension, [][]66[][] Overfull \hbox (2.99632pt too wide) in paragraph at lines 951--953 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]stri ctly[][][]contains[][][][]B[] Overfull \hbox (8.52484pt too wide) in paragraph at lines 953--955 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]time [][][]elapse[][][]assign, [][]70[][] Overfull \hbox (5.49655pt too wide) in paragraph at lines 955--957 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topo logical[][][]closure[] Overfull \hbox (12.3349pt too wide) in paragraph at lines 957--959 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]tota l[][][]memory[][][]in[][][]bytes, Overfull \hbox (0.48671pt too wide) in paragraph at lines 959--961 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unco nstrain[][][]space[] Overfull \hbox (0.48671pt too wide) in paragraph at lines 961--963 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]unco nstrain[][][]space[] Overfull \hbox (1.5055pt too wide) in paragraph at lines 963--965 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uppe r[][][]bound[][][]assign, Overfull \hbox (7.987pt too wide) in paragraph at lines 965--967 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uppe r[][][]bound[][][]assign[] Overfull \hbox (15.21655pt too wide) in paragraph at lines 969--971 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wide ning[][][]assign[][][]with[] [349] Overfull \hbox (12.73672pt too wide) in paragraph at lines 973--975 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 975--977 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 977--979 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 979--981 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.58662pt too wide) in paragraph at lines 981--983 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 991--993 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 993--995 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 995--997 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 997--999 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 999--1001 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.99692pt too wide) in paragraph at lines 1001--1003 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.96535pt too wide) in paragraph at lines 1003--1005 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]C[][][][]Polyhedron, Overfull \hbox (27.44685pt too wide) in paragraph at lines 1005--1007 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (19.3869pt too wide) in paragraph at lines 1007--1009 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Congruence[] Overfull \hbox (12.73659pt too wide) in paragraph at lines 1009--1011 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Constraint[] Overfull \hbox (0.507pt too wide) in paragraph at lines 1011--1013 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Double[] Overfull \hbox (0.507pt too wide) in paragraph at lines 1013--1015 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Double[] Overfull \hbox (11.0468pt too wide) in paragraph at lines 1015--1017 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Generator[] Overfull \hbox (10.77678pt too wide) in paragraph at lines 1019--1021 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Grid[][][]with[] Overfull \hbox (35.40529pt too wide) in paragraph at lines 1021--1023 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.8868pt too wide) in paragraph at lines 1023--1025 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1025--1027 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1027--1029 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1029--1031 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1031--1033 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1033--1035 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (12.16678pt too wide) in paragraph at lines 1035--1037 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (4.95668pt too wide) in paragraph at lines 1037--1039 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (4.95668pt too wide) in paragraph at lines 1039--1041 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (32.06493pt too wide) in paragraph at lines 1041--1043 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]from[][][]space[][][]dimension, Overfull \hbox (28.66681pt too wide) in paragraph at lines 1043--1045 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Congruence[] Overfull \hbox (22.0165pt too wide) in paragraph at lines 1045--1047 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Constraint[] Overfull \hbox (20.3267pt too wide) in paragraph at lines 1047--1049 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]recycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1049--1051 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1051--1053 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1053--1055 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1055--1057 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (3.18472pt too wide) in paragraph at lines 1057--1059 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class, Overfull \hbox (9.66623pt too wide) in paragraph at lines 1059--1061 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.96475pt too wide) in paragraph at lines 1061--1063 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class, Overfull \hbox (7.44626pt too wide) in paragraph at lines 1063--1065 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.11467pt too wide) in paragraph at lines 1068--1069 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]topolo gical[][][]closure[][][]assign Overfull \hbox (16.77472pt too wide) in paragraph at lines 1074--1075 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimension Overfull \hbox (20.66461pt too wide) in paragraph at lines 1077--1078 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]uncons train[][][]space[][][]dimensions Overfull \hbox (1.29686pt too wide) in paragraph at lines 1083--1084 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][] Overfull \hbox (15.84479pt too wide) in paragraph at lines 1089--1090 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens [350] Overfull \hbox (6.785pt too wide) in paragraph at lines 1095--1096 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign Overfull \hbox (15.76651pt too wide) in paragraph at lines 1098--1099 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[]H []M[]Z05[][][]widening[][][]assign[] Overfull \hbox (6.63483pt too wide) in paragraph at lines 1101--1102 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign Overfull \hbox (15.61633pt too wide) in paragraph at lines 1104--1105 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[]C 76[][][]extrapolation[][][]assign[] Overfull \hbox (15.47647pt too wide) in paragraph at lines 1113--1114 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H79[ ][][]widening[][][]assign[][][]with[] Overfull \hbox (3.81519pt too wide) in paragraph at lines 1131--1132 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]recycled[][][]congruences Overfull \hbox (0.46649pt too wide) in paragraph at lines 1137--1138 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (0.46649pt too wide) in paragraph at lines 1140--1141 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[][ ][]space[][][]dimensions[][][] Overfull \hbox (7.13654pt too wide) in paragraph at lines 1176--1177 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]contai ns[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (0.31683pt too wide) in paragraph at lines 1185--1186 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (0.31683pt too wide) in paragraph at lines 1188--1189 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop[] [][]some[][][]non[][][]integer[] Overfull \hbox (2.95665pt too wide) in paragraph at lines 1191--1192 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equals [][][][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (3.55489pt too wide) in paragraph at lines 1197--1198 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]extern al[][][]memory[][][]in[][][]bytes Overfull \hbox (7.70631pt too wide) in paragraph at lines 1209--1210 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]image[] Overfull \hbox (11.4947pt too wide) in paragraph at lines 1212--1213 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage Overfull \hbox (20.47621pt too wide) in paragraph at lines 1215--1216 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]genera lized[][][]affine[][][]preimage[] Overfull \hbox (10.65471pt too wide) in paragraph at lines 1224--1225 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]congruences Overfull \hbox (4.0044pt too wide) in paragraph at lines 1227--1228 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[][ ][]minimized[][][]constraints [351] Overfull \hbox (16.3062pt too wide) in paragraph at lines 1239--1240 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[][] []disjoint[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (34.50604pt too wide) in paragraph at lines 1251--1252 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (34.50604pt too wide) in paragraph at lines 1254--1255 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (18.95612pt too wide) in paragraph at lines 1257--1258 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (18.95612pt too wide) in paragraph at lines 1260--1261 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (12.83624pt too wide) in paragraph at lines 1263--1264 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (12.83624pt too wide) in paragraph at lines 1266--1267 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limite d[][][][]H79[][][]extrapolation[] Overfull \hbox (2.32489pt too wide) in paragraph at lines 1299--1300 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]relati on[][][]with[][][][]Congruence Overfull \hbox (32.28476pt too wide) in paragraph at lines 1308--1309 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]higher[][][]space[][][]dimensions Overfull \hbox (3.13496pt too wide) in paragraph at lines 1311--1312 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remove [][][]space[][][]dimensions Overfull \hbox (2.5564pt too wide) in paragraph at lines 1314--1315 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simpli fy[][][]using[][][]context[][][] Overfull \hbox (17.69606pt too wide) in paragraph at lines 1320--1321 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]strict ly[][][]contains[][][][]B[]D[][][][]Shape[] Overfull \hbox (7.16689pt too wide) in paragraph at lines 1325--1327 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.16689pt too wide) in paragraph at lines 1327--1329 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]B[ ]H[]M[]Z05[][][]widening[] Overfull \hbox (7.01671pt too wide) in paragraph at lines 1329--1331 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (7.01671pt too wide) in paragraph at lines 1331--1333 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]extrapolation[] Overfull \hbox (17.3651pt too wide) in paragraph at lines 1333--1335 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]C[ ]C76[][][]narrowing[][][]assign, Overfull \hbox (7.6152pt too wide) in paragraph at lines 1335--1337 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H7 9[][][]widening[][][]assign, Overfull \hbox (14.09671pt too wide) in paragraph at lines 1337--1339 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][][]H7 9[][][]widening[][][]assign[] Overfull \hbox (1.01549pt too wide) in paragraph at lines 1343--1345 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]congruences, [][]91[][] Overfull \hbox (26.31519pt too wide) in paragraph at lines 1349--1351 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]recycled[][][]congruences, Overfull \hbox (19.66487pt too wide) in paragraph at lines 1351--1353 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]recycled[][][]constraints, Overfull \hbox (16.86649pt too wide) in paragraph at lines 1353--1355 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (16.86649pt too wide) in paragraph at lines 1355--1357 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]add[ ][][]space[][][]dimensions[] Overfull \hbox (0.78522pt too wide) in paragraph at lines 1357--1359 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]affi ne[][][]dimension, [][]88[][] Overfull \hbox (9.5753pt too wide) in paragraph at lines 1367--1369 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ded[][][]affine[][][]image, Overfull \hbox (22.3452pt too wide) in paragraph at lines 1369--1371 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ded[][][]affine[][][]preimage, Overfull \hbox (0.69542pt too wide) in paragraph at lines 1373--1375 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]boun ds[][][]from[][][]below, Overfull \hbox (8.79498pt too wide) in paragraph at lines 1375--1377 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]conc atenate[][][]assign, [][]92[][] [352] Overfull \hbox (6.3167pt too wide) in paragraph at lines 1379--1381 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]cont ains[][][][]B[]D[][][][]Shape[] Overfull \hbox (9.68498pt too wide) in paragraph at lines 1381--1383 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]cont ains[][][]integer[][][]point, Overfull \hbox (1.87508pt too wide) in paragraph at lines 1383--1385 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]diff erence[][][]assign, [][]92[][] Overfull \hbox (20.31683pt too wide) in paragraph at lines 1385--1387 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (20.31683pt too wide) in paragraph at lines 1387--1389 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]drop [][][]some[][][]non[][][]integer[] Overfull \hbox (2.13681pt too wide) in paragraph at lines 1389--1391 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]equa ls[][][][]B[]D[][][][]Shape[][][] Overfull \hbox (20.78513pt too wide) in paragraph at lines 1391--1393 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]expa nd[][][]space[][][]dimension, Overfull \hbox (12.05489pt too wide) in paragraph at lines 1395--1397 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]fold [][][]space[][][]dimensions, Overfull \hbox (3.26665pt too wide) in paragraph at lines 1399--1401 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1401--1403 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1403--1405 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (3.26665pt too wide) in paragraph at lines 1405--1407 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]gene ralized[][][]affine[][][] Overfull \hbox (33.15471pt too wide) in paragraph at lines 1411--1413 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[ ][][]minimized[][][]congruences, Overfull \hbox (26.5044pt too wide) in paragraph at lines 1413--1415 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]get[ ][][]minimized[][][]constraints, Overfull \hbox (8.25479pt too wide) in paragraph at lines 1415--1417 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]inte rsection[][][]assign, [][]92[][] Overfull \hbox (1.0464pt too wide) in paragraph at lines 1421--1423 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[] [][]disjoint[][][]from[][][][]B[] Overfull \hbox (13.17471pt too wide) in paragraph at lines 1425--1427 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]is[] [][]topologically[][][]closed, Overfull \hbox (1.8866pt too wide) in paragraph at lines 1429--1431 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (1.8866pt too wide) in paragraph at lines 1431--1433 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]B[]H[]M[]Z05[][][] Overfull \hbox (38.95612pt too wide) in paragraph at lines 1433--1435 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (38.95612pt too wide) in paragraph at lines 1435--1437 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (32.83624pt too wide) in paragraph at lines 1437--1439 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (32.83624pt too wide) in paragraph at lines 1439--1441 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]limi ted[][][][]H79[][][]extrapolation[] Overfull \hbox (13.16487pt too wide) in paragraph at lines 1443--1445 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]map[ ][][]space[][][]dimensions, Overfull \hbox (5.95485pt too wide) in paragraph at lines 1447--1449 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]maxi mize[][][]with[][][]point, Overfull \hbox (4.2948pt too wide) in paragraph at lines 1451--1453 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]mini mize[][][]with[][][]point, Overfull \hbox (14.81517pt too wide) in paragraph at lines 1453--1455 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]congruence, Overfull \hbox (18.70506pt too wide) in paragraph at lines 1455--1457 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]congruences, Overfull \hbox (8.16486pt too wide) in paragraph at lines 1457--1459 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]constraint, Overfull \hbox (12.05475pt too wide) in paragraph at lines 1459--1461 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]refi ne[][][]with[][][]constraints, Overfull \hbox (24.82489pt too wide) in paragraph at lines 1461--1463 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Congruence, Overfull \hbox (18.17458pt too wide) in paragraph at lines 1463--1465 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Constraint, Overfull \hbox (16.48479pt too wide) in paragraph at lines 1465--1467 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]rela tion[][][]with[][][][]Generator, Overfull \hbox (12.10686pt too wide) in paragraph at lines 1467--1469 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remo ve[][][]higher[][][]space[] Overfull \hbox (25.63496pt too wide) in paragraph at lines 1469--1471 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]remo ve[][][]space[][][]dimensions, Overfull \hbox (18.95639pt too wide) in paragraph at lines 1471--1473 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]simp lify[][][]using[][][]context[] Overfull \hbox (0.47516pt too wide) in paragraph at lines 1473--1475 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]spac e[][][]dimension, [][]87[][] Overfull \hbox (2.43626pt too wide) in paragraph at lines 1475--1477 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]stri ctly[][][]contains[][][][]B[] Overfull \hbox (7.96478pt too wide) in paragraph at lines 1477--1479 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]time [][][]elapse[][][]assign, [][]92[][] Overfull \hbox (4.9365pt too wide) in paragraph at lines 1479--1481 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topo logical[][][]closure[] Overfull \hbox (11.77484pt too wide) in paragraph at lines 1481--1483 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]tota l[][][]memory[][][]in[][][]bytes, Overfull \hbox (3.52666pt too wide) in paragraph at lines 1483--1485 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unco nstrain[][][]space[][][] Overfull \hbox (3.52666pt too wide) in paragraph at lines 1485--1487 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]unco nstrain[][][]space[][][] Overfull \hbox (0.94543pt too wide) in paragraph at lines 1487--1489 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uppe r[][][]bound[][][]assign, Overfull \hbox (7.42694pt too wide) in paragraph at lines 1489--1491 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uppe r[][][]bound[][][]assign[] Overfull \hbox (14.6565pt too wide) in paragraph at lines 1493--1495 []| \OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wide ning[][][]assign[][][]with[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 1497--1499 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.73672pt too wide) in paragraph at lines 1499--1501 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]B[]D[][][][]Shape[] [353] Overfull \hbox (10.51675pt too wide) in paragraph at lines 1501--1503 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (10.51675pt too wide) in paragraph at lines 1503--1505 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (21.02657pt too wide) in paragraph at lines 1505--1507 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1515--1517 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1517--1519 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1519--1521 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1521--1523 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1523--1525 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.43686pt too wide) in paragraph at lines 1525--1527 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.40529pt too wide) in paragraph at lines 1527--1529 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]C[][][][]Polyhedron, Overfull \hbox (26.8868pt too wide) in paragraph at lines 1529--1531 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (18.82684pt too wide) in paragraph at lines 1531--1533 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Congruence[] Overfull \hbox (12.17653pt too wide) in paragraph at lines 1533--1535 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Constraint[] Overfull \hbox (3.54695pt too wide) in paragraph at lines 1535--1537 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Double[][][] Overfull \hbox (3.54695pt too wide) in paragraph at lines 1537--1539 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Double[][][] Overfull \hbox (10.48674pt too wide) in paragraph at lines 1539--1541 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Generator[] Overfull \hbox (10.21672pt too wide) in paragraph at lines 1543--1545 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Grid[][][]with[] Overfull \hbox (34.84523pt too wide) in paragraph at lines 1545--1547 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.32674pt too wide) in paragraph at lines 1547--1549 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1549--1551 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1551--1553 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1553--1555 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1555--1557 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1557--1559 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (11.60672pt too wide) in paragraph at lines 1559--1561 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Octagonal[] Overfull \hbox (4.39662pt too wide) in paragraph at lines 1561--1563 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (4.39662pt too wide) in paragraph at lines 1563--1565 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][][]Rational[] Overfull \hbox (31.50487pt too wide) in paragraph at lines 1565--1567 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]from[][][]space[][][]dimension, Overfull \hbox (28.10675pt too wide) in paragraph at lines 1567--1569 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Congruence[] Overfull \hbox (21.45644pt too wide) in paragraph at lines 1569--1571 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Constraint[] Overfull \hbox (19.76665pt too wide) in paragraph at lines 1571--1573 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]recycle[][][][]Generator[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1573--1575 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (13.28705pt too wide) in paragraph at lines 1575--1577 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1577--1579 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (11.06708pt too wide) in paragraph at lines 1579--1581 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]B[]D[][][][]Shape[] Overfull \hbox (2.62466pt too wide) in paragraph at lines 1581--1583 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class, Overfull \hbox (9.10617pt too wide) in paragraph at lines 1583--1585 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.4047pt too wide) in paragraph at lines 1585--1587 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class, Overfull \hbox (6.8862pt too wide) in paragraph at lines 1587--1589 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]B[]D[][] [][]Shape[][][]mpz[][][]class[] Overfull \hbox (4.55461pt too wide) in paragraph at lines 1592--1593 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]topolo gical[][][]closure[][][]assign Overfull \hbox (16.21466pt too wide) in paragraph at lines 1598--1599 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimension Overfull \hbox (20.10455pt too wide) in paragraph at lines 1601--1602 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]uncons train[][][]space[][][]dimensions Overfull \hbox (0.7368pt too wide) in paragraph at lines 1607--1608 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]upper[ ][][]bound[][][]assign[][][]if[][][] Overfull \hbox (15.28473pt too wide) in paragraph at lines 1613--1614 []\OT1/ptm/bc/n/10 ppl[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wideni ng[][][]assign[][][]with[][][]tokens [354] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1629--1631 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1631--1632 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1632--1634 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1634--1635 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1635--1637 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1637--1638 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1638--1640 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1640--1641 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1641--1643 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1643--1644 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1644--1646 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.88673pt too wide) in paragraph at lines 1646--1647 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]add[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1647--1649 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1649--1650 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1650--1652 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1652--1653 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1653--1655 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.36656pt too wide) in paragraph at lines 1655--1656 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]affine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1656--1658 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17635pt too wide) in paragraph at lines 1658--1659 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1659--1661 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17635pt too wide) in paragraph at lines 1661--1662 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]ascii[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1662--1664 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.28673pt too wide) in paragraph at lines 1664--1665 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1665--1667 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.28673pt too wide) in paragraph at lines 1667--1668 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounded[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1668--1670 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.73668pt too wide) in paragraph at lines 1670--1671 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1671--1673 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.73668pt too wide) in paragraph at lines 1673--1674 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]bounds[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1674--1676 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (31.04622pt too wide) in paragraph at lines 1676--1677 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]concatenate[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1677--1679 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (15.41469pt too wide) in paragraph at lines 1679--1680 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]constrains Overfull \hbox (0.24678pt too wide) in paragraph at lines 1680--1682 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (17.17635pt too wide) in paragraph at lines 1682--1683 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]contains[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1683--1685 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (24.12631pt too wide) in paragraph at lines 1685--1686 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]difference[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1686--1688 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17674pt too wide) in paragraph at lines 1688--1689 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1689--1691 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.17674pt too wide) in paragraph at lines 1691--1692 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]drop[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1692--1694 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (9.39645pt too wide) in paragraph at lines 1694--1695 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]equals[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1695--1697 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.57677pt too wide) in paragraph at lines 1697--1698 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]expand[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1698--1700 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (15.90645pt too wide) in paragraph at lines 1700--1701 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]external[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1701--1703 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (3.55664pt too wide) in paragraph at lines 1703--1704 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]fold[][][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1704--1706 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [355] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1706--1707 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1707--1709 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1709--1710 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1710--1712 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1712--1713 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1713--1715 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (29.93623pt too wide) in paragraph at lines 1715--1716 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]generalized[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1716--1718 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (30.50603pt too wide) in paragraph at lines 1718--1719 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]intersection[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1719--1721 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (19.57501pt too wide) in paragraph at lines 1721--1722 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]bounded Overfull \hbox (0.24678pt too wide) in paragraph at lines 1722--1724 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (16.23453pt too wide) in paragraph at lines 1724--1725 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]discrete Overfull \hbox (0.24678pt too wide) in paragraph at lines 1725--1727 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (24.12604pt too wide) in paragraph at lines 1727--1728 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]disjoint[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 1727--1728 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1728--1730 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (10.1348pt too wide) in paragraph at lines 1730--1731 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]empty Overfull \hbox (0.24678pt too wide) in paragraph at lines 1731--1733 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (46.89592pt too wide) in paragraph at lines 1733--1734 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]topologically[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1734--1736 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (18.61479pt too wide) in paragraph at lines 1736--1737 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]is[][][]universe Overfull \hbox (0.24678pt too wide) in paragraph at lines 1737--1739 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.06662pt too wide) in paragraph at lines 1739--1740 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]map[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1740--1742 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.30467pt too wide) in paragraph at lines 1742--1743 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize Overfull \hbox (0.24678pt too wide) in paragraph at lines 1743--1745 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (23.28618pt too wide) in paragraph at lines 1745--1746 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]maximize[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1746--1748 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (12.64462pt too wide) in paragraph at lines 1748--1749 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize Overfull \hbox (0.24678pt too wide) in paragraph at lines 1749--1751 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.62613pt too wide) in paragraph at lines 1751--1752 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]minimize[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1752--1754 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1754--1755 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1755--1757 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1757--1758 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1758--1760 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1760--1761 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1761--1763 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61656pt too wide) in paragraph at lines 1763--1764 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]refine[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1764--1766 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1766--1767 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1767--1769 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1769--1770 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1770--1772 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.3963pt too wide) in paragraph at lines 1772--1773 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]relation[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1773--1775 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (13.53671pt too wide) in paragraph at lines 1775--1776 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1776--1778 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (13.53671pt too wide) in paragraph at lines 1778--1779 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]remove[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1779--1781 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.0565pt too wide) in paragraph at lines 1781--1782 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]space[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1782--1784 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.62614pt too wide) in paragraph at lines 1784--1785 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]strictly[] Overfull \hbox (21.86665pt too wide) in paragraph at lines 1784--1785 [][]\OT1/ptm/bc/n/10 contains[][][][]Constraints[][][][]Product[][][][]C[][][][ ]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1785--1787 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.60513pt too wide) in paragraph at lines 1787--1789 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]tag, [][]108[][] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1789--1791 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [356] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1791--1793 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1793--1795 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1795--1797 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1797--1799 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1799--1801 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1801--1803 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1803--1805 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1805--1807 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1807--1809 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1809--1811 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1811--1813 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1813--1815 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1815--1817 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1817--1819 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1819--1821 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1821--1823 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1823--1825 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1825--1827 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.86665pt too wide) in paragraph at lines 1825--1827 [][]\OT1/ptm/bc/n/10 contains[][][][]Constraints[][][][]Product[][][][]C[][][][ ]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1827--1829 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1829--1831 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1831--1833 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1833--1835 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (14.08676pt too wide) in paragraph at lines 1833--1835 [][]\OT1/ptm/bc/n/10 equals[][][][]Constraints[][][][]Product[][][][]C[][][][]P olyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1835--1837 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1837--1839 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1839--1841 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1841--1843 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1843--1845 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1845--1847 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1847--1849 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1849--1851 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1851--1853 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1853--1855 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1855--1857 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.14642pt too wide) in paragraph at lines 1855--1857 [][]\OT1/ptm/bc/n/10 is[][][]disjoint[][][]from[][][][]Constraints[][][][]Produ ct[][][][]C[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1857--1859 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1859--1861 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1861--1863 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1863--1865 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1865--1867 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1867--1869 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1869--1871 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1871--1873 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1873--1875 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1875--1877 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1877--1879 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1879--1881 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1881--1883 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1883--1885 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1885--1887 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1887--1889 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1889--1891 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1891--1893 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1893--1895 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (3.53629pt too wide) in paragraph at lines 1893--1895 [][]\OT1/ptm/bc/n/10 strictly[][][]contains[][][][]Constraints[][][][]Product[] [][][]C[] [357] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1895--1897 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1897--1899 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1899--1901 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1901--1903 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1903--1905 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1905--1907 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1907--1909 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1909--1911 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1911--1913 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (5.79657pt too wide) in paragraph at lines 1913--1915 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Constraints[][][][]Product[][][][]C [][][][]Polyhedron[] Overfull \hbox (20.51643pt too wide) in paragraph at lines 1915--1917 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product [][][][]C[][][][]Polyhedron[] Overfull \hbox (15.51656pt too wide) in paragraph at lines 1917--1919 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[ ][][][]C[][][][]Polyhedron[] Overfull \hbox (12.1866pt too wide) in paragraph at lines 1919--1921 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1921--1923 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1923--1925 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (22.75539pt too wide) in paragraph at lines 1923--1925 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]double[][][]wit h[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1925--1927 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1927--1929 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (36.35501pt too wide) in paragraph at lines 1927--1929 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[ ][][]with[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1929--1931 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1931--1933 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (35.79495pt too wide) in paragraph at lines 1931--1933 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[ ][][]with[][][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1933--1935 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1935--1937 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (6.38548pt too wide) in paragraph at lines 1935--1937 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]C[][][][]Polyhedron[][][]with[][][]com plexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1937--1939 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1939--1941 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1941--1943 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (26.9067pt too wide) in paragraph at lines 1941--1943 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1943--1945 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (26.9067pt too wide) in paragraph at lines 1943--1945 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1945--1947 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1947--1949 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (16.73558pt too wide) in paragraph at lines 1947--1949 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Double[][][][]Box[][][]with[][][]compl exity, [][]115[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1949--1951 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1951--1953 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1953--1955 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1955--1957 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (20.82542pt too wide) in paragraph at lines 1955--1957 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][ ][]complexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1957--1959 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1959--1961 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (7.99702pt too wide) in paragraph at lines 1959--1961 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]double[][] []with[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1961--1963 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (10.7554pt too wide) in paragraph at lines 1961--1963 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass, [][]113[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1963--1965 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (0.21689pt too wide) in paragraph at lines 1963--1965 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1965--1967 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (10.19534pt too wide) in paragraph at lines 1965--1967 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass, [][]113[][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1967--1969 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (3.25684pt too wide) in paragraph at lines 1967--1969 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1969--1971 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.92688pt too wide) in paragraph at lines 1971--1973 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (4.16524pt too wide) in paragraph at lines 1971--1973 []\OT1/ptm/bc/n/10 Grid[][][]from[][][][]Rational[][][][]Box[][][]with[][][]com plexity, Overfull \hbox (1.92688pt too wide) in paragraph at lines 1973--1975 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][ ][][]Polyhedron[][][] Overfull \hbox (1.6264pt too wide) in paragraph at lines 1975--1976 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]time[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1976--1978 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (28.84624pt too wide) in paragraph at lines 1978--1979 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]topological[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1979--1981 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (1.6264pt too wide) in paragraph at lines 1981--1982 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]total[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1982--1984 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (30.5063pt too wide) in paragraph at lines 1984--1985 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1985--1987 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] [358] Overfull \hbox (30.5063pt too wide) in paragraph at lines 1987--1988 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]unconstrain[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1988--1990 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61668pt too wide) in paragraph at lines 1990--1991 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1991--1993 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.61668pt too wide) in paragraph at lines 1993--1994 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]upper[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1994--1996 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.06648pt too wide) in paragraph at lines 1996--1997 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 1997--1999 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (21.06648pt too wide) in paragraph at lines 1999--2000 []\OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Polyhe dron[][][][]Grid[][][]widening[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 2000--2002 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (6.14519pt too wide) in paragraph at lines 2006--2007 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[][] []assign[][][]with[][][]tokens Overfull \hbox (0.10532pt too wide) in paragraph at lines 2022--2023 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]embed Overfull \hbox (1.21516pt too wide) in paragraph at lines 2024--2025 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dimens ions[][][]and[][][]project Overfull \hbox (3.26662pt too wide) in paragraph at lines 2074--2075 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[][ ][]preimage[][][]lhs[][][] [359] Overfull \hbox (2.49484pt too wide) in paragraph at lines 2102--2103 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign Overfull \hbox (11.47635pt too wide) in paragraph at lines 2104--2105 []\OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][][ ]extrapolation[][][]assign[] Overfull \hbox (5.51695pt too wide) in paragraph at lines 2147--2149 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[] Overfull \hbox (7.25581pt too wide) in paragraph at lines 2158--2160 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]recycled[][][]c ongruences, [][]141[][] Overfull \hbox (0.6055pt too wide) in paragraph at lines 2160--2162 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]recycled[][][]c onstraints, [][]141[][] Overfull \hbox (2.42705pt too wide) in paragraph at lines 2162--2164 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][] Overfull \hbox (2.42705pt too wide) in paragraph at lines 2164--2166 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][] Overfull \hbox (3.28583pt too wide) in paragraph at lines 2178--2180 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]bounded[][][]affine[][][ ]preimage, [][]138[][] Overfull \hbox (5.80562pt too wide) in paragraph at lines 2194--2196 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points, Overfull \hbox (12.28712pt too wide) in paragraph at lines 2196--2198 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[] Overfull \hbox (1.72575pt too wide) in paragraph at lines 2200--2202 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]expand[][][]space[][][]d imension, [][]139[][] Overfull \hbox (6.99551pt too wide) in paragraph at lines 2202--2204 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]external[][][]memory[][] []in[][][]bytes, [][]139[][] Overfull \hbox (2.16544pt too wide) in paragraph at lines 2208--2210 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]image, [][]138[][] Overfull \hbox (6.89671pt too wide) in paragraph at lines 2210--2212 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]image[][][]lhs[] Overfull \hbox (14.93533pt too wide) in paragraph at lines 2212--2214 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]preimage, [][]138[][] Overfull \hbox (4.39682pt too wide) in paragraph at lines 2214--2216 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[] Overfull \hbox (14.09534pt too wide) in paragraph at lines 2222--2224 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]get[][][]minimized[][][] congruences, [][]133[][] Overfull \hbox (7.44502pt too wide) in paragraph at lines 2224--2226 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]get[][][]minimized[][][] constraints, [][]133[][] [360] Overfull \hbox (1.52531pt too wide) in paragraph at lines 2234--2236 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]is[][][]disjoint[][][]fr om[][][][]Double[][][][]Box, Overfull \hbox (2.87672pt too wide) in paragraph at lines 2242--2244 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[] Overfull \hbox (2.87672pt too wide) in paragraph at lines 2244--2246 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[] Overfull \hbox (5.76552pt too wide) in paragraph at lines 2266--2268 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]relation[][][]with[][][] []Congruence, [][]132[][] Overfull \hbox (18.70537pt too wide) in paragraph at lines 2272--2274 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions, Overfull \hbox (6.57559pt too wide) in paragraph at lines 2274--2276 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]remove[][][]space[][][]d imensions, [][]139[][] Overfull \hbox (4.99512pt too wide) in paragraph at lines 2276--2278 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]simplify[][][]using[][][ ]context[][][]assign, Overfull \hbox (2.91518pt too wide) in paragraph at lines 2280--2282 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]strictly[][][]contains[] [][][]Double[][][][]Box, Overfull \hbox (7.99524pt too wide) in paragraph at lines 2284--2286 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]topological[][][]closure [][][]assign, [][]133[][] Overfull \hbox (2.63527pt too wide) in paragraph at lines 2288--2290 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[] [][]dimension, Overfull \hbox (6.52516pt too wide) in paragraph at lines 2290--2292 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]unconstrain[][][]space[] [][]dimensions, Overfull \hbox (16.14574pt too wide) in paragraph at lines 2294--2296 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]upper[][][]bound[][][]as sign[][][]if[][][]exact, [][]137[][] Overfull \hbox (1.70534pt too wide) in paragraph at lines 2298--2300 []| \OT1/ptm/bc/n/10 ppl[][][][]Double[][][][]Box[][][]widening[][][]assign[][] []with[][][]tokens, Overfull \hbox (0.24681pt too wide) in paragraph at lines 2302--2304 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Double[] Overfull \hbox (0.24681pt too wide) in paragraph at lines 2304--2306 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Double[] Overfull \hbox (1.62685pt too wide) in paragraph at lines 2306--2308 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Double[][][] Overfull \hbox (1.62685pt too wide) in paragraph at lines 2308--2310 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Double[][][] Overfull \hbox (3.2657pt too wide) in paragraph at lines 2310--2312 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Double[][][][]Box[][][]from[][][][] Double[][][][]Box, [][]141[][] Overfull \hbox (0.6958pt too wide) in paragraph at lines 2320--2322 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double, Overfull \hbox (7.1773pt too wide) in paragraph at lines 2322--2324 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[] Overfull \hbox (1.33737pt too wide) in paragraph at lines 2324--2326 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][] Overfull \hbox (1.33737pt too wide) in paragraph at lines 2326--2328 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][] Overfull \hbox (0.77731pt too wide) in paragraph at lines 2328--2330 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][] Overfull \hbox (0.77731pt too wide) in paragraph at lines 2330--2332 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][] Overfull \hbox (1.34592pt too wide) in paragraph at lines 2332--2334 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron, [][]129[][] Overfull \hbox (12.18716pt too wide) in paragraph at lines 2334--2336 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[] Overfull \hbox (9.3155pt too wide) in paragraph at lines 2336--2338 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Con gruence[][][][]System, Overfull \hbox (2.66519pt too wide) in paragraph at lines 2338--2340 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Con straint[][][][]System, Overfull \hbox (5.51724pt too wide) in paragraph at lines 2342--2344 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[] Overfull \hbox (0.9754pt too wide) in paragraph at lines 2344--2346 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Gen erator[][][][]System, Overfull \hbox (16.10538pt too wide) in paragraph at lines 2348--2350 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Gri d[][][]with[][][]complexity, Overfull \hbox (15.78586pt too wide) in paragraph at lines 2350--2352 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron, [][]129[][] Overfull \hbox (5.24734pt too wide) in paragraph at lines 2352--2354 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2354--2356 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2356--2358 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2358--2360 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2360--2362 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2362--2364 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (3.56715pt too wide) in paragraph at lines 2364--2366 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[] Overfull \hbox (9.96692pt too wide) in paragraph at lines 2368--2370 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[] Overfull \hbox (12.4455pt too wide) in paragraph at lines 2370--2372 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][]space [][][]dimension, [][]129[][] Overfull \hbox (18.59541pt too wide) in paragraph at lines 2372--2374 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Congruence[][][][]System, Overfull \hbox (11.9451pt too wide) in paragraph at lines 2374--2376 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Constraint[][][][]System, Overfull \hbox (10.25531pt too wide) in paragraph at lines 2376--2378 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]recycle[][][][] Generator[][][][]System, [361] Overfull \hbox (0.79713pt too wide) in paragraph at lines 2378--2380 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Double[] Overfull \hbox (0.79713pt too wide) in paragraph at lines 2380--2382 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Double[] Overfull \hbox (2.17717pt too wide) in paragraph at lines 2382--2384 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Double[][][] Overfull \hbox (2.17717pt too wide) in paragraph at lines 2384--2386 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Double[][][] [362] Overfull \hbox (33.42464pt too wide) in paragraph at lines 2497--2498 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]lhs[][][]rhs[][][]with[][][]congruence Overfull \hbox (2.33499pt too wide) in paragraph at lines 2499--2500 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][][ ]with[][][]congruence Overfull \hbox (5.48631pt too wide) in paragraph at lines 2505--2506 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]lhs[][][]rhs[][][]with[] Overfull \hbox (15.10489pt too wide) in paragraph at lines 2507--2508 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage[] [][]with[][][]congruence Overfull \hbox (2.84631pt too wide) in paragraph at lines 2541--2542 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapolat ion[][][]assign[] Overfull \hbox (15.89598pt too wide) in paragraph at lines 2545--2546 []\OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapolati on[][][]assign[][][]with[] Overfull \hbox (8.24542pt too wide) in paragraph at lines 2603--2605 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]a nd[][][]embed, [][]164[][] Overfull \hbox (9.35527pt too wide) in paragraph at lines 2605--2607 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]add[][][]space[][][]dimensions[][][]a nd[][][]project, [][]164[][] [363] Overfull \hbox (0.48692pt too wide) in paragraph at lines 2626--2628 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]congruence[][][]widening[][][]assign[ ][][]with[][][] Overfull \hbox (1.87517pt too wide) in paragraph at lines 2649--2651 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]lhs[][][]rhs, [][]163[][] Overfull \hbox (12.71642pt too wide) in paragraph at lines 2651--2653 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]lhs[][][]rhs[][][]with[] Overfull \hbox (24.83499pt too wide) in paragraph at lines 2653--2655 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]image[][ ][]with[][][]congruence, Overfull \hbox (14.64507pt too wide) in paragraph at lines 2657--2659 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]lhs[][][]rhs, [][]163[][] Overfull \hbox (4.10655pt too wide) in paragraph at lines 2659--2661 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]lhs[][][]rhs[] Overfull \hbox (37.60489pt too wide) in paragraph at lines 2661--2663 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generalized[][][]affine[][][]preimage [][][]with[][][]congruence, Overfull \hbox (11.68506pt too wide) in paragraph at lines 2665--2667 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]generator[][][]widening[][][]assign[] [][]with[][][]tokens, Overfull \hbox (16.3648pt too wide) in paragraph at lines 2689--2691 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapol ation[][][]assign, Overfull \hbox (22.84631pt too wide) in paragraph at lines 2691--2693 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]congruence[][][]extrapol ation[][][]assign[] Overfull \hbox (8.03471pt too wide) in paragraph at lines 2693--2695 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapola tion[][][]assign, Overfull \hbox (14.51622pt too wide) in paragraph at lines 2695--2697 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]limited[][][]generator[][][]extrapola tion[][][]assign[] Overfull \hbox (4.34547pt too wide) in paragraph at lines 2721--2723 []| \OT1/ptm/bc/n/10 ppl[][][][]Grid[][][]remove[][][]higher[][][]space[][][]di mensions, [][]164[][] Overfull \hbox (8.27534pt too wide) in paragraph at lines 2752--2754 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Grid[][][]2, [][]169[][] Overfull \hbox (6.05537pt too wide) in paragraph at lines 2756--2758 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Grid[][][]2, [][]169[][] Overfull \hbox (0.77716pt too wide) in paragraph at lines 2766--2768 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]double[][][]with[][][] Overfull \hbox (10.77678pt too wide) in paragraph at lines 2770--2772 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]mpq[][][]class[][][]with[] Overfull \hbox (10.21672pt too wide) in paragraph at lines 2774--2776 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shap e[][][]mpz[][][]class[][][]with[] Overfull \hbox (22.7753pt too wide) in paragraph at lines 2778--2780 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhed ron[][][]with[][][]complexity, [364] Overfull \hbox (16.10538pt too wide) in paragraph at lines 2786--2788 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Double[][][][]Bo x[][][]with[][][]complexity, Overfull \hbox (8.54533pt too wide) in paragraph at lines 2790--2792 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][][]Gene rator[][][][]System, [][]157[][] Overfull \hbox (1.74548pt too wide) in paragraph at lines 2792--2794 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Grid[][][]with[] [][]complexity, [][]156[][] Overfull \hbox (37.21524pt too wide) in paragraph at lines 2796--2798 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]P olyhedron[][][]with[][][]complexity, Overfull \hbox (13.5456pt too wide) in paragraph at lines 2798--2800 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]double, [][]155[][] Overfull \hbox (3.00708pt too wide) in paragraph at lines 2800--2802 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]double[] Overfull \hbox (10.1252pt too wide) in paragraph at lines 2802--2804 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class, Overfull \hbox (16.6067pt too wide) in paragraph at lines 2804--2806 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpq[][][]class[] Overfull \hbox (9.56514pt too wide) in paragraph at lines 2806--2808 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class, Overfull \hbox (16.04665pt too wide) in paragraph at lines 2808--2810 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][ ]Shape[][][]mpz[][][]class[] Overfull \hbox (20.55505pt too wide) in paragraph at lines 2812--2814 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Rational[][][][] Box[][][]with[][][]complexity, Overfull \hbox (4.23552pt too wide) in paragraph at lines 2816--2818 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Congruence[][ ][][]System, [][]167[][] Overfull \hbox (0.80522pt too wide) in paragraph at lines 2820--2822 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]recycle[][][][]Grid[][][][]G enerator[][][][]System, Overfull \hbox (0.22566pt too wide) in paragraph at lines 2822--2824 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Grid, [][]168[][] Overfull \hbox (8.82567pt too wide) in paragraph at lines 2824--2826 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Grid[][][]2, [][]168[][] Overfull \hbox (6.6057pt too wide) in paragraph at lines 2828--2830 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Grid[][][]2, [][]168[][] Overfull \hbox (1.337pt too wide) in paragraph at lines 2875--2876 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[] Overfull \hbox (1.337pt too wide) in paragraph at lines 2878--2879 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[]M []Z05[][][]widening[] Overfull \hbox (1.18683pt too wide) in paragraph at lines 2881--2882 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (1.18683pt too wide) in paragraph at lines 2884--2885 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (9.03522pt too wide) in paragraph at lines 2887--2888 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C76[ ][][]narrowing[][][]assign Overfull \hbox (17.9853pt too wide) in paragraph at lines 2905--2906 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]congruences Overfull \hbox (11.33499pt too wide) in paragraph at lines 2908--2909 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] recycled[][][]constraints Overfull \hbox (11.0366pt too wide) in paragraph at lines 2911--2912 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[] Overfull \hbox (11.0366pt too wide) in paragraph at lines 2914--2915 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][][] space[][][]dimensions[] [365] Overfull \hbox (1.24542pt too wide) in paragraph at lines 2932--2933 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]image Overfull \hbox (14.01532pt too wide) in paragraph at lines 2935--2936 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded[] [][]affine[][][]preimage Overfull \hbox (3.25668pt too wide) in paragraph at lines 2950--2951 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][][]Octagonal[][][] Overfull \hbox (1.3551pt too wide) in paragraph at lines 2953--2954 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contains[ ][][]integer[][][]point Overfull \hbox (14.48695pt too wide) in paragraph at lines 2959--2960 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[] Overfull \hbox (14.48695pt too wide) in paragraph at lines 2962--2963 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][][ ]some[][][]non[][][]integer[] Overfull \hbox (19.91661pt too wide) in paragraph at lines 2965--2966 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[][ ][][]Octagonal[][][][]Shape[] Overfull \hbox (12.45525pt too wide) in paragraph at lines 2968--2969 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[][ ][]space[][][]dimension Overfull \hbox (1.99678pt too wide) in paragraph at lines 2971--2972 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]external[ ][][]memory[][][]in[] Overfull \hbox (3.725pt too wide) in paragraph at lines 2974--2975 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][][ ]space[][][]dimensions Overfull \hbox (12.89493pt too wide) in paragraph at lines 2980--2981 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image Overfull \hbox (21.87643pt too wide) in paragraph at lines 2983--2984 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]image[] Overfull \hbox (25.66483pt too wide) in paragraph at lines 2986--2987 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage Overfull \hbox (34.64633pt too wide) in paragraph at lines 2989--2990 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]generaliz ed[][][]affine[][][]preimage[] Overfull \hbox (24.82483pt too wide) in paragraph at lines 2998--2999 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]congruences Overfull \hbox (18.17451pt too wide) in paragraph at lines 3001--3002 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][][] minimized[][][]constraints Overfull \hbox (29.64618pt too wide) in paragraph at lines 3013--3014 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]d isjoint[][][]from[][][][]Octagonal[] Overfull \hbox (4.84483pt too wide) in paragraph at lines 3019--3020 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][]t opologically[][][]closed Overfull \hbox (48.67616pt too wide) in paragraph at lines 3025--3026 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (48.67616pt too wide) in paragraph at lines 3028--3029 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]B[]H[]M[]Z05[][][]extrapolation[] Overfull \hbox (33.12624pt too wide) in paragraph at lines 3031--3032 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[] Overfull \hbox (33.12624pt too wide) in paragraph at lines 3034--3035 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited[] [][][]C[]C76[][][]extrapolation[] Overfull \hbox (4.83499pt too wide) in paragraph at lines 3040--3041 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][][] space[][][]dimensions Overfull \hbox (6.48529pt too wide) in paragraph at lines 3055--3056 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruence Overfull \hbox (10.37518pt too wide) in paragraph at lines 3058--3059 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]congruences Overfull \hbox (3.72487pt too wide) in paragraph at lines 3064--3065 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[][ ][]with[][][]constraints [366] Overfull \hbox (16.49501pt too wide) in paragraph at lines 3067--3068 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Congruence Overfull \hbox (9.8447pt too wide) in paragraph at lines 3070--3071 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Constraint Overfull \hbox (8.1549pt too wide) in paragraph at lines 3073--3074 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relation[ ][][]with[][][][]Generator Overfull \hbox (6.27698pt too wide) in paragraph at lines 3076--3077 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]higher[][][]space[] Overfull \hbox (17.30508pt too wide) in paragraph at lines 3079--3080 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[][ ][]space[][][]dimensions Overfull \hbox (13.12651pt too wide) in paragraph at lines 3082--3083 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplify[ ][][]using[][][]context[] Overfull \hbox (31.03604pt too wide) in paragraph at lines 3088--3089 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictly[ ][][]contains[][][][]Octagonal[] Overfull \hbox (21.337pt too wide) in paragraph at lines 3093--3095 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[ ]M[]Z05[][][]widening[] Overfull \hbox (21.337pt too wide) in paragraph at lines 3095--3097 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]B[]H[ ]M[]Z05[][][]widening[] Overfull \hbox (21.18683pt too wide) in paragraph at lines 3097--3099 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]extrapolation[] Overfull \hbox (21.18683pt too wide) in paragraph at lines 3099--3101 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]extrapolation[] Overfull \hbox (9.4171pt too wide) in paragraph at lines 3101--3103 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][][]C[]C7 6[][][]narrowing[] Overfull \hbox (16.29572pt too wide) in paragraph at lines 3105--3107 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []congruence, [][]187[][] Overfull \hbox (3.16559pt too wide) in paragraph at lines 3107--3109 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []congruences, Overfull \hbox (9.6454pt too wide) in paragraph at lines 3109--3111 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []constraint, [][]187[][] Overfull \hbox (13.5353pt too wide) in paragraph at lines 3111--3113 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []constraints, [][]187[][] Overfull \hbox (40.4853pt too wide) in paragraph at lines 3113--3115 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []recycled[][][]congruences, Overfull \hbox (33.83499pt too wide) in paragraph at lines 3115--3117 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []recycled[][][]constraints, Overfull \hbox (31.0366pt too wide) in paragraph at lines 3117--3119 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []space[][][]dimensions[] Overfull \hbox (31.0366pt too wide) in paragraph at lines 3119--3121 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]add[][] []space[][][]dimensions[] Overfull \hbox (2.93532pt too wide) in paragraph at lines 3121--3123 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]dimension, Overfull \hbox (2.7255pt too wide) in paragraph at lines 3123--3125 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]image, [][]189[][] Overfull \hbox (15.49539pt too wide) in paragraph at lines 3125--3127 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]affine[ ][][]preimage, [][]189[][] Overfull \hbox (2.18726pt too wide) in paragraph at lines 3131--3133 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded [][][]affine[] Overfull \hbox (2.18726pt too wide) in paragraph at lines 3133--3135 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounded [][][]affine[] Overfull \hbox (14.25581pt too wide) in paragraph at lines 3135--3137 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[ ][][]from[][][]above, Overfull \hbox (14.86554pt too wide) in paragraph at lines 3137--3139 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]bounds[ ][][]from[][][]below, Overfull \hbox (10.94508pt too wide) in paragraph at lines 3139--3141 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]concate nate[][][]assign, Overfull \hbox (19.65668pt too wide) in paragraph at lines 3143--3145 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contain s[][][][]Octagonal[] Overfull \hbox (6.17682pt too wide) in paragraph at lines 3145--3147 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]contain s[][][]integer[] Overfull \hbox (4.02518pt too wide) in paragraph at lines 3147--3149 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]differe nce[][][]assign, Overfull \hbox (3.26723pt too wide) in paragraph at lines 3149--3151 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][ ][]some[][][]non[] Overfull \hbox (3.26723pt too wide) in paragraph at lines 3151--3153 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]drop[][ ][]some[][][]non[] Overfull \hbox (11.87679pt too wide) in paragraph at lines 3153--3155 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]equals[ ][][][]Octagonal[] Overfull \hbox (34.95525pt too wide) in paragraph at lines 3155--3157 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]expand[ ][][]space[][][]dimension, Overfull \hbox (10.61688pt too wide) in paragraph at lines 3157--3159 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]externa l[][][]memory[] Overfull \hbox (26.225pt too wide) in paragraph at lines 3159--3161 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]fold[][ ][]space[][][]dimensions, Overfull \hbox (13.83676pt too wide) in paragraph at lines 3163--3165 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3165--3167 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3167--3169 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (13.83676pt too wide) in paragraph at lines 3169--3171 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]general ized[][][]affine[] Overfull \hbox (0.94548pt too wide) in paragraph at lines 3171--3173 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []congruences, Overfull \hbox (11.31519pt too wide) in paragraph at lines 3173--3175 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []constraints, [][]184[][] Overfull \hbox (0.22672pt too wide) in paragraph at lines 3175--3177 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []minimized[] Overfull \hbox (0.22672pt too wide) in paragraph at lines 3177--3179 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]get[][] []minimized[] Overfull \hbox (10.40489pt too wide) in paragraph at lines 3179--3181 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]interse ction[][][]assign, Overfull \hbox (4.9466pt too wide) in paragraph at lines 3185--3187 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][ ]disjoint[][][]from[] Overfull \hbox (4.67667pt too wide) in paragraph at lines 3189--3191 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]is[][][ ]topologically[] Overfull \hbox (12.45671pt too wide) in paragraph at lines 3193--3195 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]B[]H[]M[]Z05[] [367] Overfull \hbox (12.45671pt too wide) in paragraph at lines 3195--3197 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]B[]H[]M[]Z05[] Overfull \hbox (0.50679pt too wide) in paragraph at lines 3197--3199 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]C[]C76[][][] Overfull \hbox (0.50679pt too wide) in paragraph at lines 3199--3201 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]limited [][][][]C[]C76[][][] Overfull \hbox (12.42514pt too wide) in paragraph at lines 3201--3203 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]linear[ ][][]partition, [][]193[][] Overfull \hbox (27.33499pt too wide) in paragraph at lines 3203--3205 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]map[][] []space[][][]dimensions, Overfull \hbox (2.44669pt too wide) in paragraph at lines 3207--3209 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]maximiz e[][][]with[] Overfull \hbox (0.78664pt too wide) in paragraph at lines 3211--3213 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]minimiz e[][][]with[] Overfull \hbox (28.98529pt too wide) in paragraph at lines 3213--3215 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]congruence, Overfull \hbox (32.87518pt too wide) in paragraph at lines 3215--3217 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]congruences, Overfull \hbox (22.33498pt too wide) in paragraph at lines 3217--3219 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]constraint, Overfull \hbox (26.22487pt too wide) in paragraph at lines 3219--3221 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]refine[ ][][]with[][][]constraints, Overfull \hbox (38.99501pt too wide) in paragraph at lines 3221--3223 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Congruence, Overfull \hbox (32.3447pt too wide) in paragraph at lines 3223--3225 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Constraint, Overfull \hbox (30.6549pt too wide) in paragraph at lines 3225--3227 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]relatio n[][][]with[][][][]Generator, Overfull \hbox (0.46725pt too wide) in paragraph at lines 3227--3229 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[ ][][]higher[] Overfull \hbox (0.72719pt too wide) in paragraph at lines 3229--3231 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]remove[ ][][]space[][][] Overfull \hbox (0.23674pt too wide) in paragraph at lines 3231--3233 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]simplif y[][][]using[] Overfull \hbox (2.62526pt too wide) in paragraph at lines 3233--3235 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]space[] [][]dimension, Overfull \hbox (6.33646pt too wide) in paragraph at lines 3235--3237 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]strictl y[][][]contains[] Overfull \hbox (10.11488pt too wide) in paragraph at lines 3237--3239 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]time[][ ][]elapse[][][]assign, Overfull \hbox (19.10661pt too wide) in paragraph at lines 3239--3241 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topolog ical[][][]closure[] Overfull \hbox (7.71674pt too wide) in paragraph at lines 3241--3243 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[] [][]memory[][][]in[] Overfull \hbox (14.09677pt too wide) in paragraph at lines 3243--3245 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconst rain[][][]space[] Overfull \hbox (14.09677pt too wide) in paragraph at lines 3245--3247 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconst rain[][][]space[] Overfull \hbox (15.11555pt too wide) in paragraph at lines 3247--3249 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[] [][]bound[][][]assign, Overfull \hbox (21.59706pt too wide) in paragraph at lines 3249--3251 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[] [][]bound[][][]assign[] Overfull \hbox (0.96535pt too wide) in paragraph at lines 3251--3253 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widenin g[][][]assign, Overfull \hbox (7.44685pt too wide) in paragraph at lines 3253--3255 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widenin g[][][]assign[] Overfull \hbox (0.75554pt too wide) in paragraph at lines 3255--3257 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]wrap[][ ][]assign, [][]193[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3257--3259 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3259--3261 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3261--3263 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3263--3265 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (34.36655pt too wide) in paragraph at lines 3265--3267 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[ ][][]from[][][][]Octagonal[] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3275--3277 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3277--3279 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3279--3281 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3281--3283 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3283--3285 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (2.16716pt too wide) in paragraph at lines 3285--3287 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]B[]D[][][] Overfull \hbox (34.57541pt too wide) in paragraph at lines 3287--3289 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]C[][][][]Polyhedron, Overfull \hbox (41.05692pt too wide) in paragraph at lines 3289--3291 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.99696pt too wide) in paragraph at lines 3291--3293 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Congruence[] Overfull \hbox (26.34665pt too wide) in paragraph at lines 3293--3295 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Constraint[] Overfull \hbox (14.11707pt too wide) in paragraph at lines 3295--3297 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Double[] Overfull \hbox (14.11707pt too wide) in paragraph at lines 3297--3299 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Double[] Overfull \hbox (24.65686pt too wide) in paragraph at lines 3299--3301 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Generator[] Overfull \hbox (13.5456pt too wide) in paragraph at lines 3301--3303 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Grid, [][]181[][] Overfull \hbox (3.00708pt too wide) in paragraph at lines 3303--3305 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Grid[] Overfull \hbox (5.78712pt too wide) in paragraph at lines 3305--3307 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]N[]N[]C[] Overfull \hbox (5.78712pt too wide) in paragraph at lines 3307--3309 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]N[]N[]C[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3309--3311 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] [368] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3311--3313 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3313--3315 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3315--3317 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3317--3319 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (25.77684pt too wide) in paragraph at lines 3319--3321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Octagonal[] Overfull \hbox (18.56674pt too wide) in paragraph at lines 3321--3323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Rational[] Overfull \hbox (18.56674pt too wide) in paragraph at lines 3323--3325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][][]Rational[] Overfull \hbox (6.88698pt too wide) in paragraph at lines 3325--3327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []from[][][]space[] Overfull \hbox (42.27687pt too wide) in paragraph at lines 3327--3329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Congruence[] Overfull \hbox (35.62656pt too wide) in paragraph at lines 3329--3331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Constraint[] Overfull \hbox (33.93677pt too wide) in paragraph at lines 3331--3333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][] []recycle[][][][]Generator[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3333--3335 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3335--3337 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3337--3339 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3339--3341 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (16.79478pt too wide) in paragraph at lines 3341--3343 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]double, Overfull \hbox (23.27629pt too wide) in paragraph at lines 3343--3345 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (14.57481pt too wide) in paragraph at lines 3345--3347 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]double, Overfull \hbox (21.05632pt too wide) in paragraph at lines 3347--3349 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]double[] Overfull \hbox (2.70662pt too wide) in paragraph at lines 3352--3353 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]topologic al[][][]closure[][][] Overfull \hbox (3.44496pt too wide) in paragraph at lines 3355--3356 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]total[][] []memory[][][]in[][][]bytes Overfull \hbox (30.38478pt too wide) in paragraph at lines 3358--3359 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimension Overfull \hbox (34.27467pt too wide) in paragraph at lines 3361--3362 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]unconstra in[][][]space[][][]dimensions Overfull \hbox (1.59706pt too wide) in paragraph at lines 3367--3368 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]upper[][] []bound[][][]assign[] Overfull \hbox (8.82661pt too wide) in paragraph at lines 3373--3374 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]double[][][]widening[ ][][]assign[][][]with[] Overfull \hbox (14.93663pt too wide) in paragraph at lines 3379--3380 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.93663pt too wide) in paragraph at lines 3382--3383 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.78645pt too wide) in paragraph at lines 3385--3386 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (14.78645pt too wide) in paragraph at lines 3388--3389 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (3.01672pt too wide) in paragraph at lines 3391--3392 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][][ ]C[]C76[][][]narrowing[] Overfull \hbox (31.58493pt too wide) in paragraph at lines 3409--3410 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]congruences Overfull \hbox (24.93462pt too wide) in paragraph at lines 3412--3413 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]recycled[][][]constraints Overfull \hbox (24.63623pt too wide) in paragraph at lines 3415--3416 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[] Overfull \hbox (24.63623pt too wide) in paragraph at lines 3418--3419 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]a dd[][][]space[][][]dimensions[] [369] Overfull \hbox (14.84505pt too wide) in paragraph at lines 3436--3437 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]image Overfull \hbox (27.61494pt too wide) in paragraph at lines 3439--3440 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounded[][][]affine[][][]preimage Overfull \hbox (5.35544pt too wide) in paragraph at lines 3442--3443 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]above Overfull \hbox (5.96516pt too wide) in paragraph at lines 3445--3446 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]b ounds[][][]from[][][]below Overfull \hbox (2.04471pt too wide) in paragraph at lines 3448--3449 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c oncatenate[][][]assign Overfull \hbox (13.2563pt too wide) in paragraph at lines 3454--3455 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][][]Octagonal[] Overfull \hbox (3.37645pt too wide) in paragraph at lines 3457--3458 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]c ontains[][][]integer[][][] Overfull \hbox (0.46686pt too wide) in paragraph at lines 3463--3464 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][] Overfull \hbox (0.46686pt too wide) in paragraph at lines 3466--3467 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]d rop[][][]some[][][]non[][][] Overfull \hbox (5.47641pt too wide) in paragraph at lines 3469--3470 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e quals[][][][]Octagonal[] Overfull \hbox (26.05487pt too wide) in paragraph at lines 3472--3473 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xpand[][][]space[][][]dimension Overfull \hbox (4.2165pt too wide) in paragraph at lines 3475--3476 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]e xternal[][][]memory[] Overfull \hbox (17.32463pt too wide) in paragraph at lines 3478--3479 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]f old[][][]space[][][]dimensions Overfull \hbox (7.43639pt too wide) in paragraph at lines 3484--3485 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3487--3488 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3490--3491 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (7.43639pt too wide) in paragraph at lines 3493--3494 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (38.42445pt too wide) in paragraph at lines 3502--3503 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]congruences Overfull \hbox (31.77414pt too wide) in paragraph at lines 3505--3506 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]g et[][][]minimized[][][]constraints Overfull \hbox (1.50452pt too wide) in paragraph at lines 3508--3509 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i ntersection[][][]assign Overfull \hbox (2.14622pt too wide) in paragraph at lines 3517--3518 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]disjoint[][][]from[][][] Overfull \hbox (1.8763pt too wide) in paragraph at lines 3523--3524 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]i s[][][]topologically[][][] Overfull \hbox (6.05634pt too wide) in paragraph at lines 3529--3530 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (6.05634pt too wide) in paragraph at lines 3532--3533 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (46.72586pt too wide) in paragraph at lines 3535--3536 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (46.72586pt too wide) in paragraph at lines 3538--3539 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (18.43462pt too wide) in paragraph at lines 3544--3545 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m ap[][][]space[][][]dimensions Overfull \hbox (11.2246pt too wide) in paragraph at lines 3550--3551 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m aximize[][][]with[][][]point Overfull \hbox (9.56454pt too wide) in paragraph at lines 3556--3557 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]m inimize[][][]with[][][]point Overfull \hbox (20.08492pt too wide) in paragraph at lines 3559--3560 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruence Overfull \hbox (23.97481pt too wide) in paragraph at lines 3562--3563 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]congruences Overfull \hbox (13.4346pt too wide) in paragraph at lines 3565--3566 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraint Overfull \hbox (17.3245pt too wide) in paragraph at lines 3568--3569 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r efine[][][]with[][][]constraints Overfull \hbox (30.09464pt too wide) in paragraph at lines 3571--3572 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Congruence [370] Overfull \hbox (23.44432pt too wide) in paragraph at lines 3574--3575 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Constraint Overfull \hbox (21.75453pt too wide) in paragraph at lines 3577--3578 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r elation[][][]with[][][][]Generator Overfull \hbox (19.8766pt too wide) in paragraph at lines 3580--3581 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]higher[][][]space[] Overfull \hbox (30.90471pt too wide) in paragraph at lines 3583--3584 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]r emove[][][]space[][][]dimensions Overfull \hbox (26.72614pt too wide) in paragraph at lines 3586--3587 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s implify[][][]using[][][]context[] Overfull \hbox (3.53609pt too wide) in paragraph at lines 3592--3593 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]s trictly[][][]contains[][][] Overfull \hbox (34.93663pt too wide) in paragraph at lines 3597--3599 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.93663pt too wide) in paragraph at lines 3599--3601 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.78645pt too wide) in paragraph at lines 3601--3603 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (34.78645pt too wide) in paragraph at lines 3603--3605 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (23.01672pt too wide) in paragraph at lines 3605--3607 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ][]C[]C76[][][]narrowing[] Overfull \hbox (12.87532pt too wide) in paragraph at lines 3609--3611 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]congruence, Overfull \hbox (16.76521pt too wide) in paragraph at lines 3611--3613 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]congruences, Overfull \hbox (6.225pt too wide) in paragraph at lines 3613--3615 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]constraint, Overfull \hbox (10.1149pt too wide) in paragraph at lines 3615--3617 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]constraints, Overfull \hbox (6.98682pt too wide) in paragraph at lines 3617--3619 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (6.98682pt too wide) in paragraph at lines 3619--3621 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (44.63623pt too wide) in paragraph at lines 3621--3623 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (44.63623pt too wide) in paragraph at lines 3623--3625 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (16.53494pt too wide) in paragraph at lines 3625--3627 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]dimension, Overfull \hbox (16.32512pt too wide) in paragraph at lines 3627--3629 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]image, [][]210[][] Overfull \hbox (12.075pt too wide) in paragraph at lines 3629--3631 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]affine[][][]preimage, Overfull \hbox (10.47513pt too wide) in paragraph at lines 3631--3633 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]ascii[][][]dump, [][]217[][] Overfull \hbox (4.91507pt too wide) in paragraph at lines 3633--3635 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]ascii[][][]load, [][]217[][] Overfull \hbox (15.78688pt too wide) in paragraph at lines 3635--3637 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (15.78688pt too wide) in paragraph at lines 3637--3639 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (7.15686pt too wide) in paragraph at lines 3639--3641 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (7.15686pt too wide) in paragraph at lines 3641--3643 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (2.42659pt too wide) in paragraph at lines 3643--3645 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]concatenate[] Overfull \hbox (6.31508pt too wide) in paragraph at lines 3645--3647 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]constrains, [][]210[][] Overfull \hbox (33.2563pt too wide) in paragraph at lines 3647--3649 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]contains[][][][]Octagonal[] Overfull \hbox (19.77644pt too wide) in paragraph at lines 3649--3651 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]contains[][][]integer[] Overfull \hbox (17.6248pt too wide) in paragraph at lines 3651--3653 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]difference[][][]assign, Overfull \hbox (1.86685pt too wide) in paragraph at lines 3653--3655 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (1.86685pt too wide) in paragraph at lines 3655--3657 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (25.47641pt too wide) in paragraph at lines 3657--3659 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]equals[][][][]Octagonal[] Overfull \hbox (9.76686pt too wide) in paragraph at lines 3659--3661 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]expand[][][]space[] Overfull \hbox (24.2165pt too wide) in paragraph at lines 3661--3663 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]external[][][]memory[] Overfull \hbox (0.74673pt too wide) in paragraph at lines 3663--3665 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]fold[][][]space[][][] Overfull \hbox (5.5955pt too wide) in paragraph at lines 3665--3667 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]frequency, [][]207[][] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3667--3669 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3669--3671 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3671--3673 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (1.3166pt too wide) in paragraph at lines 3673--3675 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]generalized[] Overfull \hbox (14.5451pt too wide) in paragraph at lines 3675--3677 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]congruences, Overfull \hbox (7.89479pt too wide) in paragraph at lines 3677--3679 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]constraints, Overfull \hbox (13.82634pt too wide) in paragraph at lines 3679--3681 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (13.82634pt too wide) in paragraph at lines 3681--3683 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (1.8864pt too wide) in paragraph at lines 3683--3685 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]intersection[] Overfull \hbox (10.4754pt too wide) in paragraph at lines 3685--3687 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]bounded, [][]206[][] Overfull \hbox (7.13492pt too wide) in paragraph at lines 3687--3689 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]discrete, [][]206[][] Overfull \hbox (18.54622pt too wide) in paragraph at lines 3689--3691 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]disjoint[][][]from[] Overfull \hbox (1.03519pt too wide) in paragraph at lines 3691--3693 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]empty, [][]206[][] Overfull \hbox (18.27629pt too wide) in paragraph at lines 3693--3695 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]topologically[] [371] Overfull \hbox (9.51518pt too wide) in paragraph at lines 3695--3697 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]is[][][]universe, [][]206[][] Overfull \hbox (1.05646pt too wide) in paragraph at lines 3697--3699 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (1.05646pt too wide) in paragraph at lines 3699--3701 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (13.03535pt too wide) in paragraph at lines 3699--3701 \OT1/ptm/bc/n/10 M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens, [ ][]213[][] Overfull \hbox (10.50641pt too wide) in paragraph at lines 3701--3703 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (10.50641pt too wide) in paragraph at lines 3703--3705 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (9.00475pt too wide) in paragraph at lines 3705--3707 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]linear[][][]partition, Overfull \hbox (1.85672pt too wide) in paragraph at lines 3707--3709 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]map[][][]space[][][] Overfull \hbox (5.20506pt too wide) in paragraph at lines 3709--3711 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]maximize, [][]207[][] Overfull \hbox (16.04631pt too wide) in paragraph at lines 3711--3713 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]maximize[][][]with[] Overfull \hbox (3.54501pt too wide) in paragraph at lines 3713--3715 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]minimize, [][]207[][] Overfull \hbox (14.38626pt too wide) in paragraph at lines 3715--3717 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]minimize[][][]with[] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3717--3719 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3719--3721 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3721--3723 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.9767pt too wide) in paragraph at lines 3723--3725 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3725--3727 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3727--3729 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (7.15643pt too wide) in paragraph at lines 3729--3731 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]relation[][][]with[] Overfull \hbox (14.06688pt too wide) in paragraph at lines 3731--3733 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]remove[][][]higher[] Overfull \hbox (10.7268pt too wide) in paragraph at lines 3733--3735 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]remove[][][]space[] Overfull \hbox (13.83636pt too wide) in paragraph at lines 3735--3737 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]simplify[][][]using[] Overfull \hbox (16.22488pt too wide) in paragraph at lines 3737--3739 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]space[][][]dimension, Overfull \hbox (19.93608pt too wide) in paragraph at lines 3739--3741 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]strictly[][][]contains[] Overfull \hbox (1.59639pt too wide) in paragraph at lines 3741--3743 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]time[][][]elapse[] Overfull \hbox (0.22661pt too wide) in paragraph at lines 3743--3745 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]topological[] Overfull \hbox (9.93646pt too wide) in paragraph at lines 3745--3747 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]total[][][]memory[] Overfull \hbox (1.88667pt too wide) in paragraph at lines 3747--3749 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]unconstrain[] Overfull \hbox (1.88667pt too wide) in paragraph at lines 3749--3751 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]unconstrain[] Overfull \hbox (6.59706pt too wide) in paragraph at lines 3751--3753 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (6.59706pt too wide) in paragraph at lines 3753--3755 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (14.56497pt too wide) in paragraph at lines 3755--3757 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]widening[][][]assign, Overfull \hbox (21.04648pt too wide) in paragraph at lines 3757--3759 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]widening[][][]assign[] Overfull \hbox (14.35516pt too wide) in paragraph at lines 3759--3761 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][ ]wrap[][][]assign, [][]214[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3761--3763 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 3763--3765 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3765--3767 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 3767--3769 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (3.26659pt too wide) in paragraph at lines 3769--3771 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][] []class[][][]from[] Overfull \hbox (4.36514pt too wide) in paragraph at lines 3773--3775 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Shape[][] []mpq[][][]class, [][]217[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3779--3781 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3781--3783 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3783--3785 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3785--3787 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.73547pt too wide) in paragraph at lines 3785--3787 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity, [][]203[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3787--3789 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3789--3791 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.17542pt too wide) in paragraph at lines 3789--3791 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity, [][]203[][] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3791--3793 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]C[] Overfull \hbox (4.94681pt too wide) in paragraph at lines 3793--3795 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]C[] Overfull \hbox (46.59659pt too wide) in paragraph at lines 3795--3797 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Congruence[] Overfull \hbox (39.94627pt too wide) in paragraph at lines 3797--3799 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Constraint[] Overfull \hbox (27.71669pt too wide) in paragraph at lines 3799--3801 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (27.71669pt too wide) in paragraph at lines 3801--3803 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (38.25648pt too wide) in paragraph at lines 3803--3805 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Generator[] Overfull \hbox (10.1252pt too wide) in paragraph at lines 3805--3807 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Grid, Overfull \hbox (16.6067pt too wide) in paragraph at lines 3807--3809 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Grid[] [372] Overfull \hbox (5.49686pt too wide) in paragraph at lines 3809--3811 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]N[] Overfull \hbox (5.49686pt too wide) in paragraph at lines 3811--3813 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]N[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3813--3815 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3815--3817 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3817--3819 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3819--3821 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3821--3823 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (39.37646pt too wide) in paragraph at lines 3823--3825 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (32.16637pt too wide) in paragraph at lines 3825--3827 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (32.16637pt too wide) in paragraph at lines 3827--3829 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (20.4866pt too wide) in paragraph at lines 3829--3831 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]from[][][]space[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3831--3833 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3833--3835 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (3.95679pt too wide) in paragraph at lines 3835--3837 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]c lass[][][]recycle[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3837--3839 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 3839--3841 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3841--3843 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 3843--3845 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (13.83635pt too wide) in paragraph at lines 3845--3847 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (13.83635pt too wide) in paragraph at lines 3847--3849 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (11.61638pt too wide) in paragraph at lines 3849--3851 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (11.61638pt too wide) in paragraph at lines 3851--3853 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpq[] Overfull \hbox (1.21451pt too wide) in paragraph at lines 3853--3854 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t ime[][][]elapse[][][]assign Overfull \hbox (12.70624pt too wide) in paragraph at lines 3856--3857 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t opological[][][]closure[] Overfull \hbox (1.31636pt too wide) in paragraph at lines 3859--3860 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]t otal[][][]memory[][][]in[] Overfull \hbox (7.6964pt too wide) in paragraph at lines 3862--3863 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (7.6964pt too wide) in paragraph at lines 3865--3866 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (6.21518pt too wide) in paragraph at lines 3868--3869 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign Overfull \hbox (15.19669pt too wide) in paragraph at lines 3871--3872 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]u pper[][][]bound[][][]assign[] Overfull \hbox (1.04648pt too wide) in paragraph at lines 3877--3878 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][][]w idening[][][]assign[] Overfull \hbox (14.37657pt too wide) in paragraph at lines 3883--3884 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.37657pt too wide) in paragraph at lines 3886--3887 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (14.2264pt too wide) in paragraph at lines 3889--3890 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (14.2264pt too wide) in paragraph at lines 3892--3893 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]extrapolation[] Overfull \hbox (2.45667pt too wide) in paragraph at lines 3895--3896 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][][ ]C[]C76[][][]narrowing[] Overfull \hbox (31.02487pt too wide) in paragraph at lines 3913--3914 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]congruences Overfull \hbox (24.37456pt too wide) in paragraph at lines 3916--3917 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]recycled[][][]constraints Overfull \hbox (24.07617pt too wide) in paragraph at lines 3919--3920 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[] Overfull \hbox (24.07617pt too wide) in paragraph at lines 3922--3923 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]a dd[][][]space[][][]dimensions[] [373] Overfull \hbox (14.28499pt too wide) in paragraph at lines 3940--3941 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]image Overfull \hbox (27.05489pt too wide) in paragraph at lines 3943--3944 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounded[][][]affine[][][]preimage Overfull \hbox (4.79538pt too wide) in paragraph at lines 3946--3947 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]above Overfull \hbox (5.4051pt too wide) in paragraph at lines 3949--3950 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]b ounds[][][]from[][][]below Overfull \hbox (1.48465pt too wide) in paragraph at lines 3952--3953 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c oncatenate[][][]assign Overfull \hbox (12.69624pt too wide) in paragraph at lines 3958--3959 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][][]Octagonal[] Overfull \hbox (2.81639pt too wide) in paragraph at lines 3961--3962 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]c ontains[][][]integer[][][] Overfull \hbox (27.52652pt too wide) in paragraph at lines 3967--3968 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[] Overfull \hbox (27.52652pt too wide) in paragraph at lines 3970--3971 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]d rop[][][]some[][][]non[][][]integer[] Overfull \hbox (4.91635pt too wide) in paragraph at lines 3973--3974 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e quals[][][][]Octagonal[] Overfull \hbox (25.49481pt too wide) in paragraph at lines 3976--3977 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xpand[][][]space[][][]dimension Overfull \hbox (3.65645pt too wide) in paragraph at lines 3979--3980 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]e xternal[][][]memory[] Overfull \hbox (16.76457pt too wide) in paragraph at lines 3982--3983 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]f old[][][]space[][][]dimensions Overfull \hbox (6.87633pt too wide) in paragraph at lines 3988--3989 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3991--3992 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3994--3995 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (6.87633pt too wide) in paragraph at lines 3997--3998 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g eneralized[][][]affine[] Overfull \hbox (37.8644pt too wide) in paragraph at lines 4006--4007 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]congruences Overfull \hbox (31.21408pt too wide) in paragraph at lines 4009--4010 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]g et[][][]minimized[][][]constraints Overfull \hbox (0.94446pt too wide) in paragraph at lines 4012--4013 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i ntersection[][][]assign Overfull \hbox (1.58617pt too wide) in paragraph at lines 4021--4022 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]disjoint[][][]from[][][] Overfull \hbox (1.31624pt too wide) in paragraph at lines 4027--4028 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]i s[][][]topologically[][][] Overfull \hbox (5.49628pt too wide) in paragraph at lines 4033--4034 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (5.49628pt too wide) in paragraph at lines 4036--4037 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]B[]H[]M[]Z05[] Overfull \hbox (46.1658pt too wide) in paragraph at lines 4039--4040 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (46.1658pt too wide) in paragraph at lines 4042--4043 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]l imited[][][][]C[]C76[][][]extrapolation[] Overfull \hbox (17.87456pt too wide) in paragraph at lines 4048--4049 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m ap[][][]space[][][]dimensions Overfull \hbox (10.66454pt too wide) in paragraph at lines 4054--4055 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m aximize[][][]with[][][]point Overfull \hbox (9.00449pt too wide) in paragraph at lines 4060--4061 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]m inimize[][][]with[][][]point Overfull \hbox (19.52486pt too wide) in paragraph at lines 4063--4064 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruence [374] Overfull \hbox (23.41475pt too wide) in paragraph at lines 4066--4067 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]congruences Overfull \hbox (12.87454pt too wide) in paragraph at lines 4069--4070 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraint Overfull \hbox (16.76443pt too wide) in paragraph at lines 4072--4073 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r efine[][][]with[][][]constraints Overfull \hbox (29.53458pt too wide) in paragraph at lines 4075--4076 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Congruence Overfull \hbox (22.88426pt too wide) in paragraph at lines 4078--4079 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Constraint Overfull \hbox (21.19447pt too wide) in paragraph at lines 4081--4082 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r elation[][][]with[][][][]Generator Overfull \hbox (19.31654pt too wide) in paragraph at lines 4084--4085 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]higher[][][]space[] Overfull \hbox (30.34465pt too wide) in paragraph at lines 4087--4088 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]r emove[][][]space[][][]dimensions Overfull \hbox (26.16608pt too wide) in paragraph at lines 4090--4091 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s implify[][][]using[][][]context[] Overfull \hbox (2.97603pt too wide) in paragraph at lines 4096--4097 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]s trictly[][][]contains[][][] Overfull \hbox (34.37657pt too wide) in paragraph at lines 4101--4103 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.37657pt too wide) in paragraph at lines 4103--4105 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]B[]H[]M[]Z05[][][]widening[] Overfull \hbox (34.2264pt too wide) in paragraph at lines 4105--4107 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (34.2264pt too wide) in paragraph at lines 4107--4109 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]extrapolation[] Overfull \hbox (22.45667pt too wide) in paragraph at lines 4109--4111 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ][]C[]C76[][][]narrowing[] Overfull \hbox (12.31526pt too wide) in paragraph at lines 4113--4115 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]congruence, Overfull \hbox (16.20515pt too wide) in paragraph at lines 4115--4117 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]congruences, Overfull \hbox (5.66495pt too wide) in paragraph at lines 4117--4119 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]constraint, Overfull \hbox (9.55484pt too wide) in paragraph at lines 4119--4121 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]constraints, Overfull \hbox (6.42676pt too wide) in paragraph at lines 4121--4123 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (6.42676pt too wide) in paragraph at lines 4123--4125 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]recycled[] Overfull \hbox (44.07617pt too wide) in paragraph at lines 4125--4127 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (44.07617pt too wide) in paragraph at lines 4127--4129 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]add[][][]space[][][]dimensions[] Overfull \hbox (15.97488pt too wide) in paragraph at lines 4129--4131 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]dimension, Overfull \hbox (15.76506pt too wide) in paragraph at lines 4131--4133 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]image, [][]232[][] Overfull \hbox (11.51494pt too wide) in paragraph at lines 4133--4135 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]affine[][][]preimage, Overfull \hbox (9.91507pt too wide) in paragraph at lines 4135--4137 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]ascii[][][]dump, [][]239[][] Overfull \hbox (4.35501pt too wide) in paragraph at lines 4137--4139 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]ascii[][][]load, [][]239[][] Overfull \hbox (15.22682pt too wide) in paragraph at lines 4139--4141 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (15.22682pt too wide) in paragraph at lines 4141--4143 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounded[][][]affine[] Overfull \hbox (6.5968pt too wide) in paragraph at lines 4143--4145 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (6.5968pt too wide) in paragraph at lines 4145--4147 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]bounds[][][]from[] Overfull \hbox (1.86653pt too wide) in paragraph at lines 4147--4149 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]concatenate[] Overfull \hbox (5.75502pt too wide) in paragraph at lines 4149--4151 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]constrains, [][]231[][] Overfull \hbox (32.69624pt too wide) in paragraph at lines 4151--4153 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]contains[][][][]Octagonal[] Overfull \hbox (19.21638pt too wide) in paragraph at lines 4153--4155 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]contains[][][]integer[] Overfull \hbox (17.06474pt too wide) in paragraph at lines 4155--4157 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]difference[][][]assign, Overfull \hbox (1.3068pt too wide) in paragraph at lines 4157--4159 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (1.3068pt too wide) in paragraph at lines 4159--4161 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]drop[][][]some[][][] Overfull \hbox (24.91635pt too wide) in paragraph at lines 4161--4163 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]equals[][][][]Octagonal[] Overfull \hbox (9.2068pt too wide) in paragraph at lines 4163--4165 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]expand[][][]space[] Overfull \hbox (23.65645pt too wide) in paragraph at lines 4165--4167 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]external[][][]memory[] Overfull \hbox (0.18668pt too wide) in paragraph at lines 4167--4169 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]fold[][][]space[][][] Overfull \hbox (5.03545pt too wide) in paragraph at lines 4169--4171 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]frequency, [][]229[][] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4171--4173 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4173--4175 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4175--4177 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (0.75655pt too wide) in paragraph at lines 4177--4179 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]generalized[] Overfull \hbox (13.98505pt too wide) in paragraph at lines 4179--4181 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]congruences, Overfull \hbox (7.33473pt too wide) in paragraph at lines 4181--4183 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]constraints, Overfull \hbox (13.26628pt too wide) in paragraph at lines 4183--4185 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]minimized[] Overfull \hbox (13.26628pt too wide) in paragraph at lines 4185--4187 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]get[][][]minimized[] [375] Overfull \hbox (1.32634pt too wide) in paragraph at lines 4187--4189 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]intersection[] Overfull \hbox (9.91534pt too wide) in paragraph at lines 4189--4191 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]bounded, [][]227[][] Overfull \hbox (6.57486pt too wide) in paragraph at lines 4191--4193 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]discrete, [][]228[][] Overfull \hbox (17.98616pt too wide) in paragraph at lines 4193--4195 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]disjoint[][][]from[] Overfull \hbox (0.47513pt too wide) in paragraph at lines 4195--4197 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]empty, [][]227[][] Overfull \hbox (17.71623pt too wide) in paragraph at lines 4197--4199 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]topologically[] Overfull \hbox (8.95512pt too wide) in paragraph at lines 4199--4201 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]is[][][]universe, [][]227[][] Overfull \hbox (0.4964pt too wide) in paragraph at lines 4201--4203 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (0.4964pt too wide) in paragraph at lines 4203--4205 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]B[]H[] Overfull \hbox (13.03535pt too wide) in paragraph at lines 4203--4205 \OT1/ptm/bc/n/10 M[]Z05[][][]extrapolation[][][]assign[][][]with[][][]tokens, [ ][]235[][] Overfull \hbox (9.94635pt too wide) in paragraph at lines 4205--4207 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (9.94635pt too wide) in paragraph at lines 4207--4209 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]limited[][][][]C[]C76[] Overfull \hbox (8.44469pt too wide) in paragraph at lines 4209--4211 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]linear[][][]partition, Overfull \hbox (1.29666pt too wide) in paragraph at lines 4211--4213 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]map[][][]space[][][] Overfull \hbox (4.645pt too wide) in paragraph at lines 4213--4215 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]maximize, [][]228[][] Overfull \hbox (15.48625pt too wide) in paragraph at lines 4215--4217 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]maximize[][][]with[] Overfull \hbox (2.98495pt too wide) in paragraph at lines 4217--4219 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]minimize, [][]228[][] Overfull \hbox (13.8262pt too wide) in paragraph at lines 4219--4221 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]minimize[][][]with[] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4221--4223 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4223--4225 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4225--4227 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (2.41664pt too wide) in paragraph at lines 4227--4229 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]refine[][][]with[][][] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4229--4231 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4231--4233 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (6.59637pt too wide) in paragraph at lines 4233--4235 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]relation[][][]with[] Overfull \hbox (13.50682pt too wide) in paragraph at lines 4235--4237 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]remove[][][]higher[] Overfull \hbox (10.16675pt too wide) in paragraph at lines 4237--4239 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]remove[][][]space[] Overfull \hbox (13.2763pt too wide) in paragraph at lines 4239--4241 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]simplify[][][]using[] Overfull \hbox (15.66483pt too wide) in paragraph at lines 4241--4243 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]space[][][]dimension, Overfull \hbox (19.37602pt too wide) in paragraph at lines 4243--4245 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]strictly[][][]contains[] Overfull \hbox (1.03633pt too wide) in paragraph at lines 4245--4247 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]time[][][]elapse[] Overfull \hbox (3.26656pt too wide) in paragraph at lines 4247--4249 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]topological[][][] Overfull \hbox (9.3764pt too wide) in paragraph at lines 4249--4251 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]total[][][]memory[] Overfull \hbox (1.32661pt too wide) in paragraph at lines 4251--4253 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]unconstrain[] Overfull \hbox (1.32661pt too wide) in paragraph at lines 4253--4255 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]unconstrain[] Overfull \hbox (6.037pt too wide) in paragraph at lines 4255--4257 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (6.037pt too wide) in paragraph at lines 4257--4259 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]upper[][][]bound[] Overfull \hbox (14.00491pt too wide) in paragraph at lines 4259--4261 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]widening[][][]assign, Overfull \hbox (20.48642pt too wide) in paragraph at lines 4261--4263 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]widening[][][]assign[] Overfull \hbox (13.7951pt too wide) in paragraph at lines 4263--4265 []| \OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][ ]wrap[][][]assign, [][]236[][] Overfull \hbox (11.90659pt too wide) in paragraph at lines 4265--4267 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (11.90659pt too wide) in paragraph at lines 4267--4269 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 4269--4271 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (9.68661pt too wide) in paragraph at lines 4271--4273 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Octagonal[] Overfull \hbox (2.70653pt too wide) in paragraph at lines 4273--4275 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][] []class[][][]from[] Overfull \hbox (3.80508pt too wide) in paragraph at lines 4277--4279 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Octagonal[][][][]Shape[][] []mpz[][][]class, [][]239[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4283--4285 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4285--4287 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4287--4289 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4289--4291 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.73547pt too wide) in paragraph at lines 4289--4291 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpq[][][]class[][][]with[][][]complexity, [][]225[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4291--4293 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4293--4295 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]B[] Overfull \hbox (1.17542pt too wide) in paragraph at lines 4293--4295 \OT1/ptm/bc/n/10 D[][][][]Shape[][][]mpz[][][]class[][][]with[][][]complexity, [][]225[][] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4295--4297 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]C[] Overfull \hbox (4.38675pt too wide) in paragraph at lines 4297--4299 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]C[] Overfull \hbox (46.03653pt too wide) in paragraph at lines 4299--4301 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Congruence[] Overfull \hbox (39.38622pt too wide) in paragraph at lines 4301--4303 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Constraint[] Overfull \hbox (27.15663pt too wide) in paragraph at lines 4303--4305 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Double[] [376] Overfull \hbox (27.15663pt too wide) in paragraph at lines 4305--4307 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Double[] Overfull \hbox (37.69643pt too wide) in paragraph at lines 4307--4309 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Generator[] Overfull \hbox (9.56514pt too wide) in paragraph at lines 4309--4311 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Grid, Overfull \hbox (16.04665pt too wide) in paragraph at lines 4311--4313 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Grid[] Overfull \hbox (4.9368pt too wide) in paragraph at lines 4313--4315 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]N[] Overfull \hbox (4.9368pt too wide) in paragraph at lines 4315--4317 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]N[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4317--4319 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4319--4321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4321--4323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4323--4325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4325--4327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (38.8164pt too wide) in paragraph at lines 4327--4329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Octagonal[] Overfull \hbox (31.60631pt too wide) in paragraph at lines 4329--4331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (31.60631pt too wide) in paragraph at lines 4331--4333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][][]Rational[] Overfull \hbox (19.92654pt too wide) in paragraph at lines 4333--4335 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]from[][][]space[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4335--4337 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4337--4339 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (3.39673pt too wide) in paragraph at lines 4339--4341 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]c lass[][][]recycle[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 4341--4343 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (12.45691pt too wide) in paragraph at lines 4343--4345 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 4345--4347 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (10.23694pt too wide) in paragraph at lines 4347--4349 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Octagonal[] Overfull \hbox (13.27629pt too wide) in paragraph at lines 4349--4351 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (13.27629pt too wide) in paragraph at lines 4351--4353 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (11.05632pt too wide) in paragraph at lines 4353--4355 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (11.05632pt too wide) in paragraph at lines 4355--4357 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagona l[][][][]Shape[][][]mpz[] Overfull \hbox (0.65445pt too wide) in paragraph at lines 4357--4358 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t ime[][][]elapse[][][]assign Overfull \hbox (12.14618pt too wide) in paragraph at lines 4360--4361 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t opological[][][]closure[] Overfull \hbox (0.7563pt too wide) in paragraph at lines 4363--4364 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]t otal[][][]memory[][][]in[] Overfull \hbox (7.13634pt too wide) in paragraph at lines 4366--4367 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (7.13634pt too wide) in paragraph at lines 4369--4370 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u nconstrain[][][]space[] Overfull \hbox (5.65512pt too wide) in paragraph at lines 4372--4373 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign Overfull \hbox (14.63663pt too wide) in paragraph at lines 4375--4376 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]u pper[][][]bound[][][]assign[] Overfull \hbox (0.48642pt too wide) in paragraph at lines 4381--4382 []\OT1/ptm/bc/n/10 ppl[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][][]w idening[][][]assign[] Overfull \hbox (2.33504pt too wide) in paragraph at lines 4389--4390 []\OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][]d imensions[][][]and[][][]embed Overfull \hbox (1.05676pt too wide) in paragraph at lines 4399--4401 []| \OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Problem[][][]add[][][]space[][][ ]dimensions[][][]and[] Overfull \hbox (16.89503pt too wide) in paragraph at lines 4410--4412 []| \OT1/ptm/bc/n/10 ppl[][][][]P[]I[]P[][][][]Solution[][][][]Node[][][]get[][ ][]parametric[][][]values, [][]243[][] Overfull \hbox (0.82666pt too wide) in paragraph at lines 4414--4415 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]B[]H[] Overfull \hbox (4.15674pt too wide) in paragraph at lines 4417--4418 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]G[]P99[][][][]H79[] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4420--4421 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]B[]H[] Overfull \hbox (4.70679pt too wide) in paragraph at lines 4423--4424 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][][]B[]H[]Z03[][][][]H79[] [377] Overfull \hbox (9.0351pt too wide) in paragraph at lines 4429--4430 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruence Overfull \hbox (12.92499pt too wide) in paragraph at lines 4432--4433 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]congruences Overfull \hbox (2.38478pt too wide) in paragraph at lines 4435--4436 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraint Overfull \hbox (6.27467pt too wide) in paragraph at lines 4438--4439 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]constraints Overfull \hbox (43.296pt too wide) in paragraph at lines 4444--4445 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[] Overfull \hbox (43.296pt too wide) in paragraph at lines 4447--4448 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]add[][][]space[][][]dimensions[] Overfull \hbox (12.69472pt too wide) in paragraph at lines 4450--4451 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]dimension Overfull \hbox (8.23477pt too wide) in paragraph at lines 4456--4457 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]affine[][][]preimage Overfull \hbox (14.44666pt too wide) in paragraph at lines 4465--4466 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[] Overfull \hbox (14.44666pt too wide) in paragraph at lines 4468--4469 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounded[][][]affine[] Overfull \hbox (5.81664pt too wide) in paragraph at lines 4471--4472 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[] Overfull \hbox (5.81664pt too wide) in paragraph at lines 4474--4475 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]bounds[][][]from[] Overfull \hbox (1.08636pt too wide) in paragraph at lines 4477--4478 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]concatenate[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4480--4481 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4481--4483 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4483--4484 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4484--4486 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4486--4487 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4487--4489 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4489--4490 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4490--4492 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4492--4493 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4493--4495 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4495--4496 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4496--4498 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (7.47614pt too wide) in paragraph at lines 4498--4500 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4500--4502 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4502--4504 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4504--4506 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4506--4508 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4508--4510 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 4510--4512 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (1.36655pt too wide) in paragraph at lines 4512--4514 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron[][][] Overfull \hbox (15.00658pt too wide) in paragraph at lines 4514--4516 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]const[] Overfull \hbox (15.00658pt too wide) in paragraph at lines 4516--4518 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]const[] Overfull \hbox (23.04594pt too wide) in paragraph at lines 4521--4522 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][][]Pointset[] Overfull \hbox (18.43622pt too wide) in paragraph at lines 4524--4525 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]contains[][][]integer[] Overfull \hbox (13.78458pt too wide) in paragraph at lines 4527--4528 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]difference[][][]assign Overfull \hbox (2.39479pt too wide) in paragraph at lines 4533--4534 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]disjuncts Overfull \hbox (0.52663pt too wide) in paragraph at lines 4536--4537 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][] Overfull \hbox (0.52663pt too wide) in paragraph at lines 4539--4540 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]drop[][][]some[][][] Overfull \hbox (15.26605pt too wide) in paragraph at lines 4542--4543 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]equals[][][][]Pointset[] [378] Overfull \hbox (8.42664pt too wide) in paragraph at lines 4545--4546 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]expand[][][]space[] Overfull \hbox (22.87628pt too wide) in paragraph at lines 4548--4549 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]external[][][]memory[] Overfull \hbox (35.9844pt too wide) in paragraph at lines 4551--4552 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]fold[][][]space[][][]dimensions Overfull \hbox (3.57639pt too wide) in paragraph at lines 4554--4555 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4557--4558 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4560--4561 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (3.57639pt too wide) in paragraph at lines 4563--4564 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]generalized[][][] Overfull \hbox (8.87611pt too wide) in paragraph at lines 4566--4567 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[] Overfull \hbox (8.87611pt too wide) in paragraph at lines 4569--4570 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]geometrically[] Overfull \hbox (0.54617pt too wide) in paragraph at lines 4572--4573 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]intersection[] Overfull \hbox (17.206pt too wide) in paragraph at lines 4581--4582 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]disjoint[][][]from[] Overfull \hbox (16.93607pt too wide) in paragraph at lines 4587--4588 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]is[][][]topologically[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4594--4596 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (19.03441pt too wide) in paragraph at lines 4596--4597 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]decrement Overfull \hbox (2.7664pt too wide) in paragraph at lines 4597--4599 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (24.01442pt too wide) in paragraph at lines 4599--4600 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]dereference Overfull \hbox (2.7664pt too wide) in paragraph at lines 4600--4602 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4603--4605 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (8.02618pt too wide) in paragraph at lines 4605--4606 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]equal[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4606--4608 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (17.37436pt too wide) in paragraph at lines 4608--4609 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]increment Overfull \hbox (2.7664pt too wide) in paragraph at lines 4609--4611 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (9.12476pt too wide) in paragraph at lines 4611--4613 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]iterator[][][]tag, [][]247[][] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4613--4615 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4615--4617 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4617--4619 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4619--4621 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4621--4623 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 4623--4625 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (1.36655pt too wide) in paragraph at lines 4625--4627 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron[][][] Overfull \hbox (16.29482pt too wide) in paragraph at lines 4627--4629 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]iterator, Overfull \hbox (22.77632pt too wide) in paragraph at lines 4629--4631 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]iterator[] Overfull \hbox (0.5165pt too wide) in paragraph at lines 4631--4632 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]map[][][]space[][][] Overfull \hbox (14.70609pt too wide) in paragraph at lines 4637--4638 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]maximize[][][]with[] Overfull \hbox (13.04604pt too wide) in paragraph at lines 4643--4644 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]minimize[][][]with[] Overfull \hbox (1.61514pt too wide) in paragraph at lines 4646--4647 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]omega[][][]reduce Overfull \hbox (9.0347pt too wide) in paragraph at lines 4649--4650 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]pairwise[][][]reduce Overfull \hbox (1.63647pt too wide) in paragraph at lines 4652--4653 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4655--4656 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4658--4659 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] [379] Overfull \hbox (1.63647pt too wide) in paragraph at lines 4661--4662 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]refine[][][]with[][][] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4664--4665 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4667--4668 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (5.81621pt too wide) in paragraph at lines 4670--4671 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]relation[][][]with[] Overfull \hbox (12.72665pt too wide) in paragraph at lines 4673--4674 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]higher[] Overfull \hbox (9.38658pt too wide) in paragraph at lines 4676--4677 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]remove[][][]space[] Overfull \hbox (12.49614pt too wide) in paragraph at lines 4679--4680 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]simplify[][][]using[] Overfull \hbox (12.38466pt too wide) in paragraph at lines 4685--4686 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]space[][][]dimension Overfull \hbox (18.59586pt too wide) in paragraph at lines 4688--4689 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]strictly[][][]contains[] Overfull \hbox (3.33676pt too wide) in paragraph at lines 4693--4695 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]G[]P99[] Overfull \hbox (3.33676pt too wide) in paragraph at lines 4695--4697 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]G[]P99[] Overfull \hbox (3.88681pt too wide) in paragraph at lines 4697--4699 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]H[]Z03[] Overfull \hbox (1.58586pt too wide) in paragraph at lines 4697--4699 [][][]\OT1/ptm/bc/n/10 B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][]assi gn, [][]263[][] Overfull \hbox (3.88681pt too wide) in paragraph at lines 4699--4701 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][][]B[]H[]Z03[] Overfull \hbox (31.5351pt too wide) in paragraph at lines 4703--4705 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]congruence, Overfull \hbox (35.42499pt too wide) in paragraph at lines 4705--4707 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]congruences, Overfull \hbox (24.88478pt too wide) in paragraph at lines 4707--4709 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]constraint, Overfull \hbox (28.77467pt too wide) in paragraph at lines 4709--4711 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]constraints, Overfull \hbox (17.11488pt too wide) in paragraph at lines 4711--4713 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]disjunct, Overfull \hbox (14.1366pt too wide) in paragraph at lines 4713--4715 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]space[] Overfull \hbox (14.1366pt too wide) in paragraph at lines 4715--4717 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]add[][][]space[] Overfull \hbox (12.11488pt too wide) in paragraph at lines 4723--4725 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]ascii[][][]dump, Overfull \hbox (6.55482pt too wide) in paragraph at lines 4725--4727 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]ascii[][][]load, Overfull \hbox (8.32687pt too wide) in paragraph at lines 4727--4729 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounded[] Overfull \hbox (8.32687pt too wide) in paragraph at lines 4729--4731 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounded[] Overfull \hbox (2.77682pt too wide) in paragraph at lines 4731--4733 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounds[] Overfull \hbox (2.77682pt too wide) in paragraph at lines 4733--4735 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]bounds[] Overfull \hbox (21.08636pt too wide) in paragraph at lines 4735--4737 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]concatenate[] Overfull \hbox (7.95483pt too wide) in paragraph at lines 4737--4739 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]constrains, Overfull \hbox (7.21649pt too wide) in paragraph at lines 4739--4741 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]contains[] Overfull \hbox (7.21649pt too wide) in paragraph at lines 4741--4743 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]contains[] Overfull \hbox (14.16646pt too wide) in paragraph at lines 4743--4745 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]difference[] Overfull \hbox (21.0049pt too wide) in paragraph at lines 4745--4747 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]disjunct, Overfull \hbox (24.89479pt too wide) in paragraph at lines 4747--4749 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]disjuncts, Overfull \hbox (16.92662pt too wide) in paragraph at lines 4749--4751 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]some[] Overfull \hbox (16.92662pt too wide) in paragraph at lines 4751--4753 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]drop[][][]some[] Overfull \hbox (3.0366pt too wide) in paragraph at lines 4753--4755 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]equals[][][] Overfull \hbox (2.61691pt too wide) in paragraph at lines 4755--4757 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]expand[] Overfull \hbox (5.9466pt too wide) in paragraph at lines 4757--4759 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]external[] Overfull \hbox (15.8065pt too wide) in paragraph at lines 4759--4761 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]fold[][][]space[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4761--4763 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4763--4765 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4765--4767 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (19.97638pt too wide) in paragraph at lines 4767--4769 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]generalized[] Overfull \hbox (28.87611pt too wide) in paragraph at lines 4769--4771 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]geometrically[] Overfull \hbox (16.8455pt too wide) in paragraph at lines 4769--4771 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Pol yhedron, [][]254[][] [380] Overfull \hbox (28.87611pt too wide) in paragraph at lines 4771--4773 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]geometrically[] Overfull \hbox (16.59525pt too wide) in paragraph at lines 4771--4773 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Pol yhedron, [][]254[][] Overfull \hbox (20.54617pt too wide) in paragraph at lines 4773--4775 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]intersection[] Overfull \hbox (12.11516pt too wide) in paragraph at lines 4775--4777 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]bounded, Overfull \hbox (8.77467pt too wide) in paragraph at lines 4777--4779 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]discrete, Overfull \hbox (14.16618pt too wide) in paragraph at lines 4779--4781 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]disjoint[] Overfull \hbox (10.48538pt too wide) in paragraph at lines 4779--4781 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyh edron, [][]258[][] Overfull \hbox (2.67494pt too wide) in paragraph at lines 4781--4783 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]empty, Overfull \hbox (36.93607pt too wide) in paragraph at lines 4783--4785 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]topologically[] Overfull \hbox (11.15494pt too wide) in paragraph at lines 4785--4787 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]is[][][]universe, Overfull \hbox (16.91649pt too wide) in paragraph at lines 4787--4789 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]map[][][]space[] Overfull \hbox (6.84482pt too wide) in paragraph at lines 4789--4791 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]maximize, Overfull \hbox (13.32632pt too wide) in paragraph at lines 4791--4793 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]maximize[] Overfull \hbox (5.18477pt too wide) in paragraph at lines 4793--4795 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]minimize, Overfull \hbox (11.66628pt too wide) in paragraph at lines 4795--4797 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]minimize[] Overfull \hbox (0.34686pt too wide) in paragraph at lines 4797--4799 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]omega[] Overfull \hbox (7.76642pt too wide) in paragraph at lines 4799--4801 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]pairwise[] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4801--4803 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4803--4805 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4805--4807 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (0.25671pt too wide) in paragraph at lines 4807--4809 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]refine[][][] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4809--4811 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4811--4813 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (4.43645pt too wide) in paragraph at lines 4813--4815 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]relation[] Overfull \hbox (3.57686pt too wide) in paragraph at lines 4815--4817 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]remove[] Overfull \hbox (3.57686pt too wide) in paragraph at lines 4817--4819 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]remove[] Overfull \hbox (7.22635pt too wide) in paragraph at lines 4819--4821 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]simplify[] Overfull \hbox (34.88466pt too wide) in paragraph at lines 4823--4825 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]space[][][]dimension, Overfull \hbox (1.66629pt too wide) in paragraph at lines 4825--4827 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]strictly[] Overfull \hbox (7.35512pt too wide) in paragraph at lines 4825--4827 [][]\OT1/ptm/bc/n/10 contains[][][][]Pointset[][][][]Powerset[][][][]C[][][][]P olyhedron, Overfull \hbox (20.25616pt too wide) in paragraph at lines 4827--4829 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]time[][][]elapse[] Overfull \hbox (18.88638pt too wide) in paragraph at lines 4829--4831 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]topological[] Overfull \hbox (28.59624pt too wide) in paragraph at lines 4831--4833 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]total[][][]memory[] Overfull \hbox (20.54645pt too wide) in paragraph at lines 4833--4835 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]unconstrain[] Overfull \hbox (20.54645pt too wide) in paragraph at lines 4835--4837 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]unconstrain[] Overfull \hbox (0.25684pt too wide) in paragraph at lines 4837--4839 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]upper[][][] Overfull \hbox (0.25684pt too wide) in paragraph at lines 4839--4841 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]upper[][][] Overfull \hbox (8.30505pt too wide) in paragraph at lines 4841--4843 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[] [][][]Polyhedron, [][]255[][] Overfull \hbox (6.0049pt too wide) in paragraph at lines 4843--4845 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[] [][][]C[][][][]Polyhedron, Overfull \hbox (1.00502pt too wide) in paragraph at lines 4845--4847 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][ ][][]C[][][][]Polyhedron, Overfull \hbox (14.69508pt too wide) in paragraph at lines 4847--4849 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][] [][]C[][][][]Polyhedron, [][]264[][] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4849--4851 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4851--4853 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4853--4855 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4855--4857 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4857--4859 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4859--4861 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (1.88683pt too wide) in paragraph at lines 4859--4861 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]C[][][][]Polyhedron[][][ ]with[][][] Overfull \hbox (13.33665pt too wide) in paragraph at lines 4861--4863 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][ ][]Polyhedron[][][]from[] Overfull \hbox (0.25616pt too wide) in paragraph at lines 4863--4864 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]time[][][]elapse[] Overfull \hbox (2.48639pt too wide) in paragraph at lines 4866--4867 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]topological[][][] Overfull \hbox (8.59624pt too wide) in paragraph at lines 4869--4870 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]total[][][]memory[] Overfull \hbox (0.54645pt too wide) in paragraph at lines 4872--4873 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[] Overfull \hbox (0.54645pt too wide) in paragraph at lines 4875--4876 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]unconstrain[] Overfull \hbox (5.25684pt too wide) in paragraph at lines 4878--4879 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[] [381] Overfull \hbox (5.25684pt too wide) in paragraph at lines 4881--4882 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhedr on[][][]upper[][][]bound[] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4884--4885 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4885--4887 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.37671pt too wide) in paragraph at lines 4887--4888 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]G[]P99[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4888--4890 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.92676pt too wide) in paragraph at lines 4890--4891 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4891--4893 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.92676pt too wide) in paragraph at lines 4893--4894 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][][]B[]H[]Z03[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4894--4896 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4897--4899 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (23.47504pt too wide) in paragraph at lines 4899--4900 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruence Overfull \hbox (11.08522pt too wide) in paragraph at lines 4900--4902 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (27.36493pt too wide) in paragraph at lines 4902--4903 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]congruences Overfull \hbox (11.08522pt too wide) in paragraph at lines 4903--4905 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (16.82472pt too wide) in paragraph at lines 4905--4906 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraint Overfull \hbox (11.08522pt too wide) in paragraph at lines 4906--4908 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (20.71461pt too wide) in paragraph at lines 4908--4909 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]constraints Overfull \hbox (11.08522pt too wide) in paragraph at lines 4909--4911 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (9.05482pt too wide) in paragraph at lines 4911--4912 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]disjunct Overfull \hbox (11.08522pt too wide) in paragraph at lines 4912--4914 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (8.57654pt too wide) in paragraph at lines 4914--4915 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4915--4917 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (8.57654pt too wide) in paragraph at lines 4917--4918 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]add[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4918--4920 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (27.13466pt too wide) in paragraph at lines 4920--4921 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]dimension Overfull \hbox (11.08522pt too wide) in paragraph at lines 4921--4923 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (9.90482pt too wide) in paragraph at lines 4923--4924 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]image Overfull \hbox (11.08522pt too wide) in paragraph at lines 4924--4926 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (22.67471pt too wide) in paragraph at lines 4926--4927 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]affine[][][]preimage Overfull \hbox (11.08522pt too wide) in paragraph at lines 4927--4929 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (4.05482pt too wide) in paragraph at lines 4929--4930 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]ascii[][][]dump Overfull \hbox (11.08522pt too wide) in paragraph at lines 4930--4932 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]283[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4933--4935 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]283[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 4935--4936 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4936--4938 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 4938--4939 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounded[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4939--4941 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (0.81677pt too wide) in paragraph at lines 4941--4942 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4942--4944 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.81677pt too wide) in paragraph at lines 4944--4945 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]bounds[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4945--4947 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (15.5263pt too wide) in paragraph at lines 4947--4948 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]concatenate[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4948--4950 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4950--4951 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4951--4953 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4953--4954 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4954--4956 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4956--4957 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4957--4959 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4959--4960 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4960--4962 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4962--4963 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4963--4965 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4965--4966 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4966--4968 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (21.91608pt too wide) in paragraph at lines 4968--4970 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]const[][][]iterator[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4970--4972 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4972--4974 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4974--4976 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4976--4978 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4978--4980 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 4980--4982 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (12.20648pt too wide) in paragraph at lines 4982--4984 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 4984--4986 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 4986--4988 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4989--4991 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (1.65643pt too wide) in paragraph at lines 4991--4992 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[] [382] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4992--4994 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (1.65643pt too wide) in paragraph at lines 4994--4995 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]contains[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4995--4997 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (8.6064pt too wide) in paragraph at lines 4997--4998 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]difference[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 4998--5000 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.94484pt too wide) in paragraph at lines 5000--5001 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjunct Overfull \hbox (11.08522pt too wide) in paragraph at lines 5001--5003 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (16.83473pt too wide) in paragraph at lines 5003--5004 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]disjuncts Overfull \hbox (11.08522pt too wide) in paragraph at lines 5004--5006 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (11.36656pt too wide) in paragraph at lines 5006--5007 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5007--5009 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (11.36656pt too wide) in paragraph at lines 5009--5010 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]drop[][][]some[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5010--5012 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (29.706pt too wide) in paragraph at lines 5012--5013 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]equals[][][][]Pointset[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5013--5015 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (0.65686pt too wide) in paragraph at lines 5015--5016 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]expand[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5016--5018 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (0.38654pt too wide) in paragraph at lines 5018--5019 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]external[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5019--5021 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (10.24644pt too wide) in paragraph at lines 5021--5022 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]fold[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5022--5024 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5024--5025 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5025--5027 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5027--5028 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5028--5030 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5030--5031 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5031--5033 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]279[][] Overfull \hbox (14.41632pt too wide) in paragraph at lines 5033--5034 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]generalized[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5034--5036 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (23.31606pt too wide) in paragraph at lines 5036--5037 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[] Overfull \hbox (11.76543pt too wide) in paragraph at lines 5036--5037 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5037--5039 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (23.31606pt too wide) in paragraph at lines 5039--5040 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]geometrically[] Overfull \hbox (11.51517pt too wide) in paragraph at lines 5039--5040 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5040--5042 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (14.98611pt too wide) in paragraph at lines 5042--5043 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]intersection[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5043--5045 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (4.0551pt too wide) in paragraph at lines 5045--5046 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]bounded Overfull \hbox (11.08522pt too wide) in paragraph at lines 5046--5048 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.71461pt too wide) in paragraph at lines 5048--5049 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]discrete Overfull \hbox (11.08522pt too wide) in paragraph at lines 5049--5051 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (8.60612pt too wide) in paragraph at lines 5051--5052 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]disjoint[] Overfull \hbox (5.4053pt too wide) in paragraph at lines 5051--5052 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron Overfull \hbox (11.08522pt too wide) in paragraph at lines 5052--5054 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]276[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5055--5057 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (31.376pt too wide) in paragraph at lines 5057--5058 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]topologically[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5058--5060 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (3.09488pt too wide) in paragraph at lines 5060--5061 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]is[][][]universe Overfull \hbox (11.08522pt too wide) in paragraph at lines 5061--5063 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5063--5064 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5064--5066 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5066--5067 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5067--5069 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5069--5070 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5070--5072 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5072--5073 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5073--5075 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5075--5076 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5076--5078 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5078--5079 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5079--5081 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.80635pt too wide) in paragraph at lines 5081--5083 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]iterator[][][] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5083--5085 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5085--5087 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5087--5089 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5089--5091 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5091--5093 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 5093--5095 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (12.20648pt too wide) in paragraph at lines 5095--5097 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5097--5099 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5099--5101 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] [383] Overfull \hbox (11.35643pt too wide) in paragraph at lines 5101--5102 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]map[][][]space[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5102--5104 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5105--5107 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (7.76627pt too wide) in paragraph at lines 5107--5108 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]maximize[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5108--5110 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5111--5113 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (6.10622pt too wide) in paragraph at lines 5113--5114 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]minimize[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5114--5116 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (16.05508pt too wide) in paragraph at lines 5116--5117 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]omega[][][]reduce Overfull \hbox (11.08522pt too wide) in paragraph at lines 5117--5119 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (2.20636pt too wide) in paragraph at lines 5119--5120 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]pairwise[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5120--5122 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5122--5123 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5123--5125 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5125--5126 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5126--5128 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5128--5129 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5129--5131 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (12.47641pt too wide) in paragraph at lines 5131--5132 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]refine[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5132--5134 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5134--5135 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5135--5137 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5137--5138 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5138--5140 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (2.4764pt too wide) in paragraph at lines 5140--5141 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]relation[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5141--5143 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (1.6168pt too wide) in paragraph at lines 5143--5144 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5144--5146 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (1.6168pt too wide) in paragraph at lines 5146--5147 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]remove[][][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5147--5149 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]280[][] Overfull \hbox (1.66629pt too wide) in paragraph at lines 5149--5150 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]simplify[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5150--5152 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5153--5155 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (26.8246pt too wide) in paragraph at lines 5155--5156 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]space[][][]dimension Overfull \hbox (11.08522pt too wide) in paragraph at lines 5156--5158 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (33.0358pt too wide) in paragraph at lines 5158--5159 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]strictly[][][]contains[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5159--5161 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]275[][] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5163--5165 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]G[] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5165--5167 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]G[] Overfull \hbox (2.21677pt too wide) in paragraph at lines 5167--5169 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]H[] Overfull \hbox (1.2758pt too wide) in paragraph at lines 5167--5169 \OT1/ptm/bc/n/10 Z03[][][][]B[]H[]R[]Z03[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign, Overfull \hbox (2.21677pt too wide) in paragraph at lines 5169--5171 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]B[]H[] Overfull \hbox (13.18533pt too wide) in paragraph at lines 5171--5173 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][][]OK, [][]276[][] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5173--5175 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5175--5177 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5177--5179 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5179--5181 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5181--5183 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5183--5185 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (2.76682pt too wide) in paragraph at lines 5185--5187 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]add[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5187--5189 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5189--5191 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (10.84665pt too wide) in paragraph at lines 5191--5193 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]affine[] Overfull \hbox (6.65643pt too wide) in paragraph at lines 5193--5195 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]ascii[] Overfull \hbox (6.65643pt too wide) in paragraph at lines 5195--5197 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]ascii[] Overfull \hbox (22.76682pt too wide) in paragraph at lines 5197--5199 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounded[] Overfull \hbox (22.76682pt too wide) in paragraph at lines 5199--5201 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounded[] Overfull \hbox (17.21677pt too wide) in paragraph at lines 5201--5203 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounds[] Overfull \hbox (17.21677pt too wide) in paragraph at lines 5203--5205 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]bounds[] Overfull \hbox (35.5263pt too wide) in paragraph at lines 5205--5207 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]concatenate[] Overfull \hbox (22.39478pt too wide) in paragraph at lines 5207--5209 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]constrains, Overfull \hbox (21.65643pt too wide) in paragraph at lines 5209--5211 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]contains[] Overfull \hbox (1.88551pt too wide) in paragraph at lines 5209--5211 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n, [][]275[][] Overfull \hbox (21.65643pt too wide) in paragraph at lines 5211--5213 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]contains[] Overfull \hbox (28.6064pt too wide) in paragraph at lines 5213--5215 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]difference[] [384] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5215--5217 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5217--5219 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5219--5221 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (6.65683pt too wide) in paragraph at lines 5221--5223 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]drop[] Overfull \hbox (13.87654pt too wide) in paragraph at lines 5223--5225 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]equals[] Overfull \hbox (1.88551pt too wide) in paragraph at lines 5223--5225 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n, [][]276[][] Overfull \hbox (17.05685pt too wide) in paragraph at lines 5225--5227 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]expand[] Overfull \hbox (20.38654pt too wide) in paragraph at lines 5227--5229 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]external[] Overfull \hbox (4.43672pt too wide) in paragraph at lines 5229--5231 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]fold[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5231--5233 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5233--5235 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5235--5237 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (34.41632pt too wide) in paragraph at lines 5237--5239 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]generalized[] Overfull \hbox (43.31606pt too wide) in paragraph at lines 5239--5241 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]geometrically[] Overfull \hbox (14.26543pt too wide) in paragraph at lines 5239--5241 [][]\OT1/ptm/bc/n/10 covers[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron, Overfull \hbox (43.31606pt too wide) in paragraph at lines 5241--5243 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]geometrically[] Overfull \hbox (14.01517pt too wide) in paragraph at lines 5241--5243 [][]\OT1/ptm/bc/n/10 equals[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][ ][]Polyhedron, Overfull \hbox (34.98611pt too wide) in paragraph at lines 5243--5245 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]intersection[] Overfull \hbox (26.5551pt too wide) in paragraph at lines 5245--5247 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]bounded, Overfull \hbox (23.21461pt too wide) in paragraph at lines 5247--5249 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]discrete, Overfull \hbox (28.60612pt too wide) in paragraph at lines 5249--5251 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]disjoint[] Overfull \hbox (7.9053pt too wide) in paragraph at lines 5249--5251 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron, Overfull \hbox (17.11488pt too wide) in paragraph at lines 5251--5253 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]empty, Overfull \hbox (51.376pt too wide) in paragraph at lines 5253--5255 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]topologically[] Overfull \hbox (25.59488pt too wide) in paragraph at lines 5255--5257 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]is[][][]universe, Overfull \hbox (5.5467pt too wide) in paragraph at lines 5257--5259 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]map[] Overfull \hbox (21.28476pt too wide) in paragraph at lines 5259--5261 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]maximize, Overfull \hbox (27.76627pt too wide) in paragraph at lines 5261--5263 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]maximize[] Overfull \hbox (19.62471pt too wide) in paragraph at lines 5263--5265 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]minimize, Overfull \hbox (26.10622pt too wide) in paragraph at lines 5265--5267 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]minimize[] Overfull \hbox (14.7868pt too wide) in paragraph at lines 5267--5269 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]omega[] Overfull \hbox (22.20636pt too wide) in paragraph at lines 5269--5271 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]pairwise[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5271--5273 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5273--5275 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5275--5277 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (11.09665pt too wide) in paragraph at lines 5277--5279 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]refine[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5279--5281 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5281--5283 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.87639pt too wide) in paragraph at lines 5283--5285 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]relation[] Overfull \hbox (18.0168pt too wide) in paragraph at lines 5285--5287 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]remove[] Overfull \hbox (18.0168pt too wide) in paragraph at lines 5287--5289 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]remove[] Overfull \hbox (21.66629pt too wide) in paragraph at lines 5289--5291 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]simplify[] Overfull \hbox (14.41505pt too wide) in paragraph at lines 5291--5293 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]size, [][]281[][] Overfull \hbox (10.53659pt too wide) in paragraph at lines 5293--5295 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]space[] Overfull \hbox (16.10623pt too wide) in paragraph at lines 5295--5297 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]strictly[] Overfull \hbox (21.79506pt too wide) in paragraph at lines 5295--5297 [][]\OT1/ptm/bc/n/10 contains[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][ ][][]Polyhedron, Overfull \hbox (6.10649pt too wide) in paragraph at lines 5297--5299 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]time[] Overfull \hbox (33.32632pt too wide) in paragraph at lines 5299--5301 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]topological[] Overfull \hbox (6.10649pt too wide) in paragraph at lines 5301--5303 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]total[] Overfull \hbox (34.98639pt too wide) in paragraph at lines 5303--5305 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]unconstrain[] Overfull \hbox (34.98639pt too wide) in paragraph at lines 5305--5307 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]unconstrain[] Overfull \hbox (11.09677pt too wide) in paragraph at lines 5307--5309 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]upper[] Overfull \hbox (11.09677pt too wide) in paragraph at lines 5309--5311 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]upper[] Overfull \hbox (5.72498pt too wide) in paragraph at lines 5311--5313 []| \OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[] N[]C[][][][]Polyhedron, Overfull \hbox (20.44484pt too wide) in paragraph at lines 5313--5315 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Pointset[][][][]Powerset[] [][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (15.44496pt too wide) in paragraph at lines 5315--5317 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Pointset[][][][]Powerset[][ ][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (12.115pt too wide) in paragraph at lines 5317--5319 []| \OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Pointset[][][][]Powerset[][] [][]N[]N[]C[][][][]Polyhedron, [385] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5319--5321 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5321--5323 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5323--5325 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5325--5327 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (1.89563pt too wide) in paragraph at lines 5325--5327 [][]\OT1/ptm/bc/n/10 from[][][][]N[]N[]C[][][][]Polyhedron[][][]with[][][]compl exity, Overfull \hbox (4.73679pt too wide) in paragraph at lines 5327--5329 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (7.9053pt too wide) in paragraph at lines 5327--5329 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron, Overfull \hbox (4.73679pt too wide) in paragraph at lines 5329--5331 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (14.38681pt too wide) in paragraph at lines 5329--5331 [][]\OT1/ptm/bc/n/10 from[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][ ]Polyhedron[] Overfull \hbox (4.73679pt too wide) in paragraph at lines 5331--5333 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[] C[][][][]Polyhedron[] Overfull \hbox (14.6961pt too wide) in paragraph at lines 5333--5334 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]time[][][]elapse[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5334--5336 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (13.32632pt too wide) in paragraph at lines 5336--5337 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]topological[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5337--5339 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]274[][] Overfull \hbox (23.03618pt too wide) in paragraph at lines 5339--5340 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]total[][][]memory[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5340--5342 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]281[][] Overfull \hbox (14.98639pt too wide) in paragraph at lines 5342--5343 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5343--5345 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (14.98639pt too wide) in paragraph at lines 5345--5346 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]unconstrain[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5346--5348 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (19.69678pt too wide) in paragraph at lines 5348--5349 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5349--5351 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]277[][] Overfull \hbox (19.69678pt too wide) in paragraph at lines 5351--5352 []\OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Po lyhedron[][][]upper[][][]bound[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 5352--5354 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]278[][] Overfull \hbox (15.87514pt too wide) in paragraph at lines 5356--5357 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][][ ]assign[][][]with[][][]tokens Overfull \hbox (2.30722pt too wide) in paragraph at lines 5396--5397 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][] Overfull \hbox (2.30722pt too wide) in paragraph at lines 5398--5399 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][][] extrapolation[][][] Overfull \hbox (7.85701pt too wide) in paragraph at lines 5402--5403 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapola tion[][][]assign[] [386] Overfull \hbox (2.90495pt too wide) in paragraph at lines 5442--5443 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]prei mage[][][]lhs[][][]rhs Overfull \hbox (12.2248pt too wide) in paragraph at lines 5470--5471 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign Overfull \hbox (21.2063pt too wide) in paragraph at lines 5472--5473 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][][] extrapolation[][][]assign[] Overfull \hbox (1.75647pt too wide) in paragraph at lines 5476--5477 []\OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapola tion[][][]assign[] Overfull \hbox (4.40565pt too wide) in paragraph at lines 5523--5525 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][ ][]assign, [][]311[][] Overfull \hbox (15.2469pt too wide) in paragraph at lines 5525--5527 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]B[]H[]R[]Z03[][][]widening[][ ][]assign[][][]with[] [387] Overfull \hbox (18.92531pt too wide) in paragraph at lines 5529--5531 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][][]H79[][][]widening[][][]assign [][][]with[][][]tokens, Overfull \hbox (3.6558pt too wide) in paragraph at lines 5544--5546 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]recycled[][][]congruen ces, [][]302[][] Overfull \hbox (19.00531pt too wide) in paragraph at lines 5550--5552 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[ ][][]and[][][]embed, Overfull \hbox (20.11516pt too wide) in paragraph at lines 5552--5554 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]add[][][]space[][][]dimensions[ ][][]and[][][]project, Overfull \hbox (18.70721pt too wide) in paragraph at lines 5564--5566 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (18.70721pt too wide) in paragraph at lines 5566--5568 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (2.85739pt too wide) in paragraph at lines 5568--5570 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapo lation[][][] Overfull \hbox (2.85739pt too wide) in paragraph at lines 5570--5572 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]bounded[][][][]H79[][][]extrapo lation[][][] Overfull \hbox (2.20561pt too wide) in paragraph at lines 5589--5591 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]in teger[][][]points, Overfull \hbox (8.68712pt too wide) in paragraph at lines 5591--5593 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]drop[][][]some[][][]non[][][]in teger[][][]points[] Overfull \hbox (3.39551pt too wide) in paragraph at lines 5597--5599 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]external[][][]memory[][][]in[][ ][]bytes, [][]301[][] Overfull \hbox (3.2967pt too wide) in paragraph at lines 5604--5606 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]im age[][][]lhs[] Overfull \hbox (11.33533pt too wide) in paragraph at lines 5606--5608 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]pr eimage, [][]305[][] Overfull \hbox (0.79681pt too wide) in paragraph at lines 5608--5610 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]generalized[][][]affine[][][]pr eimage[] Overfull \hbox (10.49533pt too wide) in paragraph at lines 5616--5618 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]congrue nces, [][]298[][] Overfull \hbox (3.84502pt too wide) in paragraph at lines 5618--5620 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]constra ints, [][]298[][] Overfull \hbox (2.16524pt too wide) in paragraph at lines 5620--5622 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]get[][][]minimized[][][]generat ors, [][]309[][] Overfull \hbox (11.34532pt too wide) in paragraph at lines 5628--5630 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]is[][][]disjoint[][][]from[][][ ][]Polyhedron, [][]300[][] Overfull \hbox (12.60667pt too wide) in paragraph at lines 5636--5638 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (12.60667pt too wide) in paragraph at lines 5638--5640 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]B[]H[]R[]Z03[][] []extrapolation[] Overfull \hbox (15.27496pt too wide) in paragraph at lines 5640--5642 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapo lation[][][]assign, Overfull \hbox (21.75647pt too wide) in paragraph at lines 5642--5644 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]limited[][][][]H79[][][]extrapo lation[][][]assign[] Overfull \hbox (8.155pt too wide) in paragraph at lines 5660--5662 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]positive[][][]time[][][]elapse[ ][][]assign, [][]318[][] Overfull \hbox (2.16551pt too wide) in paragraph at lines 5670--5672 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]relation[][][]with[][][][]Congr uence, [][]317[][] Overfull \hbox (15.10536pt too wide) in paragraph at lines 5676--5678 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]remove[][][]higher[][][]space[] [][]dimensions, Overfull \hbox (2.97559pt too wide) in paragraph at lines 5678--5680 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]remove[][][]space[][][]dimensio ns, [][]307[][] Overfull \hbox (1.39511pt too wide) in paragraph at lines 5680--5682 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]simplify[][][]using[][][]contex t[][][]assign, Overfull \hbox (12.73518pt too wide) in paragraph at lines 5684--5686 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]strictly[][][]contains[][][][]P olyhedron, [][]300[][] Overfull \hbox (4.39523pt too wide) in paragraph at lines 5688--5690 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]topological[][][]closure[][][]a ssign, [][]303[][] Overfull \hbox (16.05528pt too wide) in paragraph at lines 5692--5694 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dim ension, [][]303[][] Overfull \hbox (2.92516pt too wide) in paragraph at lines 5694--5696 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]unconstrain[][][]space[][][]dim ensions, Overfull \hbox (12.54573pt too wide) in paragraph at lines 5698--5700 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]upper[][][]bound[][][]assign[][ ][]if[][][]exact, [][]318[][] Overfull \hbox (15.12535pt too wide) in paragraph at lines 5702--5704 []| \OT1/ptm/bc/n/10 ppl[][][][]Polyhedron[][][]widening[][][]assign[][][]with[ ][][]tokens, [][]318[][] [388] Overfull \hbox (20.70515pt too wide) in paragraph at lines 5706--5708 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]C[][][][]Polyhedron, Overfull \hbox (27.18666pt too wide) in paragraph at lines 5708--5710 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.1451pt too wide) in paragraph at lines 5710--5712 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (41.6266pt too wide) in paragraph at lines 5712--5714 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.48518pt too wide) in paragraph at lines 5714--5716 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]C[][][][]Polyhedron, Overfull \hbox (24.96669pt too wide) in paragraph at lines 5716--5718 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (32.92513pt too wide) in paragraph at lines 5718--5720 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (39.40663pt too wide) in paragraph at lines 5720--5722 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (16.60555pt too wide) in paragraph at lines 5722--5724 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]C[][][][]Polyhedron[][][]from[][][] []C[][][][]Polyhedron, [][]294[][] Overfull \hbox (28.46541pt too wide) in paragraph at lines 5724--5726 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from [][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (7.36572pt too wide) in paragraph at lines 5733--5735 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]double, Overfull \hbox (13.84723pt too wide) in paragraph at lines 5735--5737 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]double[] Overfull \hbox (4.40729pt too wide) in paragraph at lines 5737--5739 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (4.40729pt too wide) in paragraph at lines 5739--5741 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (3.84723pt too wide) in paragraph at lines 5741--5743 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (3.84723pt too wide) in paragraph at lines 5743--5745 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (8.01584pt too wide) in paragraph at lines 5745--5747 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C [][][][]Polyhedron, [][]293[][] Overfull \hbox (1.07733pt too wide) in paragraph at lines 5747--5749 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C [][][][]Polyhedron[][][] Overfull \hbox (15.98543pt too wide) in paragraph at lines 5749--5751 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C ongruence[][][][]System, Overfull \hbox (9.33511pt too wide) in paragraph at lines 5751--5753 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C onstraint[][][][]System, Overfull \hbox (1.34592pt too wide) in paragraph at lines 5753--5755 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]D ouble[][][][]Box, [][]314[][] Overfull \hbox (12.18716pt too wide) in paragraph at lines 5755--5757 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]D ouble[][][][]Box[][][]with[] Overfull \hbox (7.64532pt too wide) in paragraph at lines 5757--5759 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]G enerator[][][][]System, Overfull \hbox (22.7753pt too wide) in paragraph at lines 5761--5763 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]G rid[][][]with[][][]complexity, Overfull \hbox (5.43576pt too wide) in paragraph at lines 5763--5765 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N []N[]C[][][][]Polyhedron, Overfull \hbox (11.91727pt too wide) in paragraph at lines 5765--5767 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N []N[]C[][][][]Polyhedron[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5767--5769 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5769--5771 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5771--5773 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5773--5775 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5775--5777 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (10.23708pt too wide) in paragraph at lines 5777--5779 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (5.7956pt too wide) in paragraph at lines 5779--5781 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]R ational[][][][]Box, [][]313[][] Overfull \hbox (16.63684pt too wide) in paragraph at lines 5781--5783 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]R ational[][][][]Box[][][]with[] Overfull \hbox (2.0954pt too wide) in paragraph at lines 5783--5785 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][]spa ce[][][]dimension, Overfull \hbox (2.29729pt too wide) in paragraph at lines 5785--5787 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Congruence[][][] Overfull \hbox (18.61502pt too wide) in paragraph at lines 5787--5789 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Constraint[][][][]System, Overfull \hbox (16.92523pt too wide) in paragraph at lines 5789--5791 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][] []Generator[][][][]System, Overfull \hbox (1.06734pt too wide) in paragraph at lines 5791--5793 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5793--5795 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5795--5797 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5797--5799 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5799--5801 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (1.06734pt too wide) in paragraph at lines 5801--5803 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]B[]D[][][][]Shape[][][] Overfull \hbox (5.43576pt too wide) in paragraph at lines 5803--5805 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]C[][][][]Polyhedron, Overfull \hbox (11.91727pt too wide) in paragraph at lines 5805--5807 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]C[][][][]Polyhedron[] Overfull \hbox (3.85732pt too wide) in paragraph at lines 5807--5809 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Congruence[] Overfull \hbox (0.807pt too wide) in paragraph at lines 5809--5811 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Constraint[][][] Overfull \hbox (15.78586pt too wide) in paragraph at lines 5811--5813 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Double[][][][]Box, [][]314[][] Overfull \hbox (5.24734pt too wide) in paragraph at lines 5813--5815 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Double[][][][]Box[] Overfull \hbox (22.08527pt too wide) in paragraph at lines 5815--5817 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Generator[][][][]System, Overfull \hbox (37.21524pt too wide) in paragraph at lines 5819--5821 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Grid[][][]with[][][]complexity, Overfull \hbox (19.8757pt too wide) in paragraph at lines 5821--5823 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron, [389] Overfull \hbox (26.35721pt too wide) in paragraph at lines 5823--5825 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5825--5827 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5827--5829 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5829--5831 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5831--5833 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5833--5835 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (0.2372pt too wide) in paragraph at lines 5835--5837 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Octagonal[][][] Overfull \hbox (3.21552pt too wide) in paragraph at lines 5837--5839 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box, Overfull \hbox (9.69702pt too wide) in paragraph at lines 5839--5841 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][][]Rational[][][][]Box[] Overfull \hbox (16.53534pt too wide) in paragraph at lines 5841--5843 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][ ][]space[][][]dimension, Overfull \hbox (13.13722pt too wide) in paragraph at lines 5843--5845 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Congruence[] Overfull \hbox (6.48691pt too wide) in paragraph at lines 5845--5847 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Constraint[] Overfull \hbox (4.79712pt too wide) in paragraph at lines 5847--5849 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle [][][][]Generator[] Overfull \hbox (21.25548pt too wide) in paragraph at lines 5849--5851 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]C[][][][]Polyhedron, Overfull \hbox (27.73698pt too wide) in paragraph at lines 5851--5853 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (35.69542pt too wide) in paragraph at lines 5853--5855 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (42.17693pt too wide) in paragraph at lines 5855--5857 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.0355pt too wide) in paragraph at lines 5857--5859 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]C[][][][]Polyhedron, Overfull \hbox (25.51701pt too wide) in paragraph at lines 5859--5861 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (33.47545pt too wide) in paragraph at lines 5861--5863 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]N[]N[]C[][][][]Polyhedron, Overfull \hbox (39.95695pt too wide) in paragraph at lines 5863--5865 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (4.67516pt too wide) in paragraph at lines 5869--5871 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]N[]N[]C[ ][][][]Polyhedron, [][]319[][] Overfull \hbox (13.27516pt too wide) in paragraph at lines 5871--5873 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]N[]N[]C[ ][][][]Polyhedron[][][]2, [][]320[][] Overfull \hbox (2.45518pt too wide) in paragraph at lines 5877--5879 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]N[]N[]C[ ][][][]Polyhedron, [][]319[][] Overfull \hbox (11.05519pt too wide) in paragraph at lines 5879--5881 []| \OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]N[]N[]C[ ][][][]Polyhedron[][][]2, [][]321[][] Overfull \hbox (10.59486pt too wide) in paragraph at lines 5906--5907 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening[] [][]assign[][][]with[][][]tokens Overfull \hbox (4.555pt too wide) in paragraph at lines 5922--5923 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]embed Overfull \hbox (5.66484pt too wide) in paragraph at lines 5924--5925 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]dime nsions[][][]and[][][]project [390] Overfull \hbox (0.3368pt too wide) in paragraph at lines 5956--5957 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]non[ ][][]integer[][][]points[][][] Overfull \hbox (4.11629pt too wide) in paragraph at lines 5974--5975 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affine[ ][][]preimage[][][]lhs[] Overfull \hbox (6.94452pt too wide) in paragraph at lines 6002--6003 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign Overfull \hbox (15.92603pt too wide) in paragraph at lines 6004--6005 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[][ ][]extrapolation[][][]assign[] Overfull \hbox (0.65504pt too wide) in paragraph at lines 6032--6033 []\OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][][] space[][][]dimensions Overfull \hbox (2.7554pt too wide) in paragraph at lines 6043--6045 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]narrowin g[][][]assign, [][]338[][] [391] Overfull \hbox (9.96663pt too wide) in paragraph at lines 6047--6049 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][][]C[]C76[][][]widening [][][]assign[][][]with[] Overfull \hbox (11.70549pt too wide) in paragraph at lines 6059--6061 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]recycled[][][ ]congruences, [][]339[][] Overfull \hbox (5.05518pt too wide) in paragraph at lines 6061--6063 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]recycled[][][ ]constraints, [][]339[][] Overfull \hbox (3.27672pt too wide) in paragraph at lines 6063--6065 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]di mensions[][][]and[] Overfull \hbox (3.27672pt too wide) in paragraph at lines 6065--6067 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]add[][][]space[][][]di mensions[][][]and[] Overfull \hbox (7.7355pt too wide) in paragraph at lines 6079--6081 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]bounded[][][]affine[][ ][]preimage, [][]335[][] Overfull \hbox (10.2553pt too wide) in paragraph at lines 6095--6097 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]no n[][][]integer[][][]points, Overfull \hbox (16.7368pt too wide) in paragraph at lines 6097--6099 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]drop[][][]some[][][]no n[][][]integer[][][]points[] Overfull \hbox (6.17543pt too wide) in paragraph at lines 6101--6103 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]expand[][][]space[][][ ]dimension, [][]336[][] Overfull \hbox (11.44519pt too wide) in paragraph at lines 6103--6105 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]external[][][]memory[] [][]in[][][]bytes, [][]337[][] Overfull \hbox (6.61511pt too wide) in paragraph at lines 6109--6111 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]image, [][]335[][] Overfull \hbox (11.34639pt too wide) in paragraph at lines 6111--6113 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]image[][][]lhs[] Overfull \hbox (2.36499pt too wide) in paragraph at lines 6113--6115 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]preimage, Overfull \hbox (8.8465pt too wide) in paragraph at lines 6115--6117 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]generalized[][][]affin e[][][]preimage[] Overfull \hbox (1.525pt too wide) in paragraph at lines 6123--6125 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][] []congruences, Overfull \hbox (11.8947pt too wide) in paragraph at lines 6125--6127 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]get[][][]minimized[][] []constraints, [][]330[][] Overfull \hbox (0.23625pt too wide) in paragraph at lines 6135--6137 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]is[][][]disjoint[][][] from[][][][]Rational[][][] Overfull \hbox (7.3264pt too wide) in paragraph at lines 6143--6145 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (7.3264pt too wide) in paragraph at lines 6145--6147 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]limited[][][][]C[]C76[ ][][]extrapolation[] Overfull \hbox (0.20547pt too wide) in paragraph at lines 6159--6161 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]refine[][][]with[][][] congruence, [][]333[][] Overfull \hbox (4.09537pt too wide) in paragraph at lines 6161--6163 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]refine[][][]with[][][] congruences, [][]333[][] Overfull \hbox (10.2152pt too wide) in paragraph at lines 6167--6169 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Congruence, [][]330[][] Overfull \hbox (3.56488pt too wide) in paragraph at lines 6169--6171 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Constraint, [][]330[][] Overfull \hbox (1.87509pt too wide) in paragraph at lines 6171--6173 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]relation[][][]with[][] [][]Generator, [][]330[][] Overfull \hbox (23.15504pt too wide) in paragraph at lines 6173--6175 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]higher[][] []space[][][]dimensions, Overfull \hbox (11.02527pt too wide) in paragraph at lines 6175--6177 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]remove[][][]space[][][ ]dimensions, [][]336[][] Overfull \hbox (9.4448pt too wide) in paragraph at lines 6177--6179 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]simplify[][][]using[][ ][]context[][][]assign, Overfull \hbox (1.62611pt too wide) in paragraph at lines 6181--6183 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]strictly[][][]contains [][][][]Rational[][][] Overfull \hbox (12.44492pt too wide) in paragraph at lines 6185--6187 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]topological[][][]closu re[][][]assign, [][]331[][] Overfull \hbox (7.08495pt too wide) in paragraph at lines 6189--6191 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space [][][]dimension, Overfull \hbox (10.97484pt too wide) in paragraph at lines 6191--6193 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]unconstrain[][][]space [][][]dimensions, Overfull \hbox (3.5754pt too wide) in paragraph at lines 6195--6197 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]upper[][][]bound[][][] assign[][][]if[][][]exact, Overfull \hbox (6.15501pt too wide) in paragraph at lines 6199--6201 []| \OT1/ptm/bc/n/10 ppl[][][][]Rational[][][][]Box[][][]widening[][][]assign[] [][]with[][][]tokens, Overfull \hbox (4.69649pt too wide) in paragraph at lines 6203--6205 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Rational[] Overfull \hbox (4.69649pt too wide) in paragraph at lines 6205--6207 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []M[]S[][][][]Rational[] Overfull \hbox (2.47652pt too wide) in paragraph at lines 6207--6209 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Rational[] Overfull \hbox (2.47652pt too wide) in paragraph at lines 6209--6211 []| \OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][] []P[]R[][][][]Rational[] Overfull \hbox (12.16505pt too wide) in paragraph at lines 6211--6213 []| \OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Rational[][][][]Box[][][]from[][][] []Rational[][][][]Box, [][]339[][] [392] Overfull \hbox (5.14548pt too wide) in paragraph at lines 6221--6223 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]double, Overfull \hbox (11.62698pt too wide) in paragraph at lines 6223--6225 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]double[] Overfull \hbox (2.18704pt too wide) in paragraph at lines 6225--6227 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (2.18704pt too wide) in paragraph at lines 6227--6229 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpq[] Overfull \hbox (1.62698pt too wide) in paragraph at lines 6229--6231 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (1.62698pt too wide) in paragraph at lines 6231--6233 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B []D[][][][]Shape[][][]mpz[] Overfull \hbox (5.7956pt too wide) in paragraph at lines 6233--6235 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C [][][][]Polyhedron, [][]326[][] Overfull \hbox (16.63684pt too wide) in paragraph at lines 6235--6237 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C [][][][]Polyhedron[][][]with[] Overfull \hbox (13.76518pt too wide) in paragraph at lines 6237--6239 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C ongruence[][][][]System, Overfull \hbox (7.11487pt too wide) in paragraph at lines 6239--6241 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C onstraint[][][][]System, Overfull \hbox (9.96692pt too wide) in paragraph at lines 6243--6245 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]D ouble[][][][]Box[][][]with[] Overfull \hbox (5.42508pt too wide) in paragraph at lines 6245--6247 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]G enerator[][][][]System, Overfull \hbox (20.55505pt too wide) in paragraph at lines 6249--6251 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]G rid[][][]with[][][]complexity, Overfull \hbox (3.21552pt too wide) in paragraph at lines 6251--6253 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N []N[]C[][][][]Polyhedron, Overfull \hbox (9.69702pt too wide) in paragraph at lines 6253--6255 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N []N[]C[][][][]Polyhedron[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6255--6257 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6257--6259 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6259--6261 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6261--6263 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6263--6265 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (8.01683pt too wide) in paragraph at lines 6265--6267 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]O ctagonal[][][][]Shape[] Overfull \hbox (3.57535pt too wide) in paragraph at lines 6267--6269 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]R ational[][][][]Box, [][]327[][] Overfull \hbox (14.4166pt too wide) in paragraph at lines 6269--6271 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]R ational[][][][]Box[][][]with[] Overfull \hbox (16.89517pt too wide) in paragraph at lines 6271--6273 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][]spa ce[][][]dimension, [][]326[][] Overfull \hbox (16.39478pt too wide) in paragraph at lines 6275--6277 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][] []Constraint[][][][]System, Overfull \hbox (14.70499pt too wide) in paragraph at lines 6277--6279 []| \OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][] []Generator[][][][]System, Overfull \hbox (5.24681pt too wide) in paragraph at lines 6279--6281 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Rational[] Overfull \hbox (5.24681pt too wide) in paragraph at lines 6281--6283 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]M[]S[][][][]Rational[] Overfull \hbox (3.02684pt too wide) in paragraph at lines 6283--6285 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Rational[] Overfull \hbox (3.02684pt too wide) in paragraph at lines 6285--6287 []| \OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][ ]P[]R[][][][]Rational[] Overfull \hbox (14.57506pt too wide) in paragraph at lines 6315--6316 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.55656pt too wide) in paragraph at lines 6318--6319 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.11662pt too wide) in paragraph at lines 6321--6322 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.11662pt too wide) in paragraph at lines 6324--6325 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.55656pt too wide) in paragraph at lines 6327--6328 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.55656pt too wide) in paragraph at lines 6330--6331 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]B[]D[][][][]Shape[][][]mpz[] [393] Overfull \hbox (7.18666pt too wide) in paragraph at lines 6335--6336 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]C[][][][]Polyhedron[] Overfull \hbox (0.51674pt too wide) in paragraph at lines 6339--6340 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Double[][][][]Box[] Overfull \hbox (12.6451pt too wide) in paragraph at lines 6345--6346 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.6266pt too wide) in paragraph at lines 6347--6348 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6349--6350 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6352--6353 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6355--6356 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6358--6359 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6361--6362 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.94641pt too wide) in paragraph at lines 6364--6365 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.96642pt too wide) in paragraph at lines 6369--6370 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] M[]S[][][][]Rational[][][][]Box[] Overfull \hbox (12.35509pt too wide) in paragraph at lines 6371--6372 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (21.3366pt too wide) in paragraph at lines 6374--6375 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (11.89665pt too wide) in paragraph at lines 6377--6378 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.89665pt too wide) in paragraph at lines 6380--6381 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.3366pt too wide) in paragraph at lines 6383--6384 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.3366pt too wide) in paragraph at lines 6386--6387 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (4.96669pt too wide) in paragraph at lines 6391--6392 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.89677pt too wide) in paragraph at lines 6395--6396 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Double[][][][]Box[][][] Overfull \hbox (10.42513pt too wide) in paragraph at lines 6401--6402 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (19.40663pt too wide) in paragraph at lines 6403--6404 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6405--6406 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6408--6409 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6411--6412 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6414--6415 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6417--6418 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (17.72644pt too wide) in paragraph at lines 6420--6421 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (2.74644pt too wide) in paragraph at lines 6425--6426 []\OT1/ptm/bc/n/10 ppl[][][]all[][][]affine[][][]ranking[][][]functions[][][][] P[]R[][][][]Rational[][][][]Box[] Overfull \hbox (9.82533pt too wide) in paragraph at lines 6427--6428 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]double[][][]fr om[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (1.58662pt too wide) in paragraph at lines 6430--6431 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpq[][][]class [][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (1.02657pt too wide) in paragraph at lines 6433--6434 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]B[]D[][][][]Shape[][][]mpz[][][]class [][][]from[][][][]B[]D[][][][]Shape[] [394] Overfull \hbox (5.96541pt too wide) in paragraph at lines 6442--6443 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]N[]N[]C[][][][]Polyhedron[][][]from[] [][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (14.36655pt too wide) in paragraph at lines 6444--6445 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]double[][ ][]from[][][][]Octagonal[] Overfull \hbox (27.96617pt too wide) in paragraph at lines 6447--6448 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpq[][][] class[][][]from[][][][]Octagonal[] Overfull \hbox (27.40611pt too wide) in paragraph at lines 6450--6451 []\OT1/ptm/bc/n/10 ppl[][][]assign[][][][]Octagonal[][][][]Shape[][][]mpz[][][] class[][][]from[][][][]Octagonal[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6467--6469 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (2.47627pt too wide) in paragraph at lines 6485--6486 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]const[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 6486--6488 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (1.26451pt too wide) in paragraph at lines 6488--6489 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]C[][] [][]Polyhedron[][][]iterator Overfull \hbox (2.7664pt too wide) in paragraph at lines 6489--6491 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6492--6494 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (16.91621pt too wide) in paragraph at lines 6494--6495 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 6495--6497 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (15.70445pt too wide) in paragraph at lines 6497--6498 []\OT1/ptm/bc/n/10 ppl[][][]delete[][][][]Pointset[][][][]Powerset[][][][]N[]N[ ]C[][][][]Polyhedron[][][]iterator Overfull \hbox (17.20634pt too wide) in paragraph at lines 6498--6500 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (0.51643pt too wide) in paragraph at lines 6531--6532 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]asprint[][][][]Constraints[][][][]Product[] [][][]C[][][][]Polyhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6532--6534 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6551--6553 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] [395] Overfull \hbox (8.46487pt too wide) in paragraph at lines 6566--6567 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]fprint[][][][]Constraints[][][][]Product[][ ][][]C[][][][]Polyhedron[][][][]Grid Overfull \hbox (0.24678pt too wide) in paragraph at lines 6567--6569 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6586--6588 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (5.13492pt too wide) in paragraph at lines 6601--6602 []\OT1/ptm/bc/n/10 ppl[][][]io[][][]print[][][][]Constraints[][][][]Product[][] [][]C[][][][]Polyhedron[][][][]Grid Overfull \hbox (0.24678pt too wide) in paragraph at lines 6602--6604 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 6621--6623 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]282[][] Overfull \hbox (1.23563pt too wide) in paragraph at lines 6631--6632 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (10.21713pt too wide) in paragraph at lines 6634--6635 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (0.77719pt too wide) in paragraph at lines 6637--6638 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.77719pt too wide) in paragraph at lines 6640--6641 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (0.21713pt too wide) in paragraph at lines 6643--6644 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (0.21713pt too wide) in paragraph at lines 6646--6647 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (15.22699pt too wide) in paragraph at lines 6652--6653 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]C[][][][]Polyhedron[][][]with[] Overfull \hbox (9.85533pt too wide) in paragraph at lines 6655--6656 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Congruence[][][][]System Overfull \hbox (3.20502pt too wide) in paragraph at lines 6658--6659 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Constraint[][][][]System Overfull \hbox (8.55707pt too wide) in paragraph at lines 6664--6665 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Double[][][][]Box[][][]with[] Overfull \hbox (1.51523pt too wide) in paragraph at lines 6667--6668 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Generator[][][][]System Overfull \hbox (16.6452pt too wide) in paragraph at lines 6673--6674 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Grid[][][]with[][][]complexity Overfull \hbox (8.28717pt too wide) in paragraph at lines 6679--6680 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6682--6683 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6685--6686 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6688--6689 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] [396] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6691--6692 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6694--6695 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 6697--6698 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Octagonal[][][][]Shape[] Overfull \hbox (13.00674pt too wide) in paragraph at lines 6703--6704 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]from[ ][][][]Rational[][][][]Box[][][]with[] Overfull \hbox (19.13524pt too wide) in paragraph at lines 6709--6710 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Congruence[][][][]System Overfull \hbox (12.48492pt too wide) in paragraph at lines 6712--6713 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Constraint[][][][]System Overfull \hbox (10.79514pt too wide) in paragraph at lines 6715--6716 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]double[][][]recyc le[][][][]Generator[][][][]System Overfull \hbox (14.83525pt too wide) in paragraph at lines 6718--6719 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.81676pt too wide) in paragraph at lines 6721--6722 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.37682pt too wide) in paragraph at lines 6724--6725 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.37682pt too wide) in paragraph at lines 6727--6728 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6730--6731 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6733--6734 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (7.44685pt too wide) in paragraph at lines 6739--6740 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.98691pt too wide) in paragraph at lines 6742--6743 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Congruence[][][] Overfull \hbox (16.80464pt too wide) in paragraph at lines 6745--6746 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Constraint[][][][]System Overfull \hbox (0.77693pt too wide) in paragraph at lines 6751--6752 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Double[][][][]Box[] Overfull \hbox (15.11485pt too wide) in paragraph at lines 6754--6755 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Generator[][][][]System Overfull \hbox (30.24483pt too wide) in paragraph at lines 6760--6761 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (12.90529pt too wide) in paragraph at lines 6763--6764 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.8868pt too wide) in paragraph at lines 6766--6767 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6769--6770 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6772--6773 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6775--6776 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6778--6779 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6781--6782 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 6784--6785 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.22661pt too wide) in paragraph at lines 6790--6791 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][][]Rational[][][][]Box[] Overfull \hbox (9.56493pt too wide) in paragraph at lines 6793--6794 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]from[][][]space[][][]dimension Overfull \hbox (8.66681pt too wide) in paragraph at lines 6796--6797 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Congruence[] Overfull \hbox (2.0165pt too wide) in paragraph at lines 6799--6800 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Constraint[] Overfull \hbox (0.3267pt too wide) in paragraph at lines 6802--6803 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][ ][]recycle[][][][]Generator[] Overfull \hbox (14.27519pt too wide) in paragraph at lines 6805--6806 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (23.2567pt too wide) in paragraph at lines 6808--6809 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6811--6812 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] [397] Overfull \hbox (13.81676pt too wide) in paragraph at lines 6814--6815 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (13.2567pt too wide) in paragraph at lines 6817--6818 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (13.2567pt too wide) in paragraph at lines 6820--6821 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (6.8868pt too wide) in paragraph at lines 6826--6827 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.42685pt too wide) in paragraph at lines 6829--6830 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Congruence[][][] Overfull \hbox (16.24458pt too wide) in paragraph at lines 6832--6833 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Constraint[][][][]System Overfull \hbox (0.21687pt too wide) in paragraph at lines 6838--6839 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Double[][][][]Box[] Overfull \hbox (14.5548pt too wide) in paragraph at lines 6841--6842 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Generator[][][][]System Overfull \hbox (29.68477pt too wide) in paragraph at lines 6847--6848 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Grid[][][]with[][][]complexity Overfull \hbox (12.34523pt too wide) in paragraph at lines 6850--6851 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (21.32674pt too wide) in paragraph at lines 6853--6854 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6856--6857 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6859--6860 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6862--6863 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6865--6866 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6868--6869 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 6871--6872 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Octagonal[][][][]Shape[] Overfull \hbox (4.66655pt too wide) in paragraph at lines 6877--6878 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][][]Rational[][][][]Box[] Overfull \hbox (9.00487pt too wide) in paragraph at lines 6880--6881 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]from[][][]space[][][]dimension Overfull \hbox (8.10675pt too wide) in paragraph at lines 6883--6884 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Congruence[] Overfull \hbox (1.45644pt too wide) in paragraph at lines 6886--6887 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Constraint[] Overfull \hbox (3.36665pt too wide) in paragraph at lines 6889--6890 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][ ][]recycle[][][][]Generator[][][] Overfull \hbox (15.22699pt too wide) in paragraph at lines 6894--6895 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[] Overfull \hbox (7.44685pt too wide) in paragraph at lines 6898--6899 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (6.8868pt too wide) in paragraph at lines 6902--6903 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (2.45709pt too wide) in paragraph at lines 6906--6907 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][] Overfull \hbox (31.65521pt too wide) in paragraph at lines 6914--6915 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity Overfull \hbox (0.2753pt too wide) in paragraph at lines 6920--6921 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Gri d[][][]with[][][]complexity [398] Overfull \hbox (13.29703pt too wide) in paragraph at lines 6924--6925 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[] Overfull \hbox (12.07541pt too wide) in paragraph at lines 6926--6927 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double Overfull \hbox (21.05692pt too wide) in paragraph at lines 6928--6929 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (11.61697pt too wide) in paragraph at lines 6930--6931 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.61697pt too wide) in paragraph at lines 6932--6933 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (11.05692pt too wide) in paragraph at lines 6934--6935 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (11.05692pt too wide) in paragraph at lines 6936--6937 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (0.23685pt too wide) in paragraph at lines 6940--6941 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][] Overfull \hbox (2.76534pt too wide) in paragraph at lines 6944--6945 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]C[][][][]Polyhedron[][][]recycle[][][][] Congruence[][][][]System Overfull \hbox (0.2567pt too wide) in paragraph at lines 6950--6951 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6951--6953 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6953--6954 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (1.32559pt too wide) in paragraph at lines 6953--6954 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]double[][][]with[][][]c omplexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6954--6956 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6956--6957 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6957--6959 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6959--6960 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (14.92522pt too wide) in paragraph at lines 6959--6960 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]mpq[][][]class[][][]wit h[][][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6960--6962 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6962--6963 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6963--6965 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6965--6966 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (14.36516pt too wide) in paragraph at lines 6965--6966 [][]\OT1/ptm/bc/n/10 from[][][][]B[]D[][][][]Shape[][][]mpz[][][]class[][][]wit h[][][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 6966--6968 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6968--6969 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6969--6971 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6971--6972 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6972--6974 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6974--6975 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6975--6977 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6977--6978 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6978--6980 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6980--6981 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 6980--6981 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6981--6983 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6983--6984 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (7.9769pt too wide) in paragraph at lines 6983--6984 [][]\OT1/ptm/bc/n/10 from[][][][]Constraints[][][][]Product[][][][]C[][][][]Pol yhedron[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6984--6986 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6986--6987 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6987--6989 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6989--6990 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6990--6992 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6992--6993 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6993--6995 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6995--6996 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6996--6998 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 6998--6999 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 6999--7001 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7001--7002 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7002--7004 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7004--7005 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] [399] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7005--7007 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7007--7008 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (28.53528pt too wide) in paragraph at lines 7007--7008 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]double[][][]with[] [][]complexity Overfull \hbox (0.24678pt too wide) in paragraph at lines 7008--7010 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7010--7011 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7011--7013 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7013--7014 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (2.66685pt too wide) in paragraph at lines 7013--7014 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]mpq[][][]class[][] []with[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7014--7016 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7016--7017 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7017--7019 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7019--7020 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (2.1068pt too wide) in paragraph at lines 7019--7020 [][]\OT1/ptm/bc/n/10 from[][][][]Octagonal[][][][]Shape[][][]mpz[][][]class[][] []with[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7020--7022 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7022--7023 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7023--7025 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7025--7026 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7026--7028 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (0.2567pt too wide) in paragraph at lines 7028--7029 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Constraints[][][][]Product[][][][]C[][][ ][]Polyhedron[][][][]Grid[] Overfull \hbox (0.24678pt too wide) in paragraph at lines 7029--7031 []| \OT1/ptm/bc/n/10 ppl[][][][]Constraints[][][][]Product[][][][]C[][][][]Poly hedron[][][][]Grid[] Overfull \hbox (8.55707pt too wide) in paragraph at lines 7033--7034 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]double[][][]with[] Overfull \hbox (0.77693pt too wide) in paragraph at lines 7037--7038 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (0.21687pt too wide) in paragraph at lines 7041--7042 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]B[]D[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (31.65521pt too wide) in paragraph at lines 7045--7046 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]C[][] [][]Polyhedron[][][]with[][][]complexity Overfull \hbox (24.98529pt too wide) in paragraph at lines 7053--7054 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Doubl e[][][][]Box[][][]with[][][]complexity Overfull \hbox (6.6271pt too wide) in paragraph at lines 7063--7064 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]N[]N[ ]C[][][][]Polyhedron[][][]with[] Overfull \hbox (5.40549pt too wide) in paragraph at lines 7065--7066 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double Overfull \hbox (14.387pt too wide) in paragraph at lines 7067--7068 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]double[] Overfull \hbox (4.94705pt too wide) in paragraph at lines 7069--7070 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (4.94705pt too wide) in paragraph at lines 7071--7072 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpq[] Overfull \hbox (4.387pt too wide) in paragraph at lines 7073--7074 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (4.387pt too wide) in paragraph at lines 7075--7076 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Octag onal[][][][]Shape[][][]mpz[] Overfull \hbox (29.43497pt too wide) in paragraph at lines 7079--7080 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Double[][][][]Box[][][]from[][][][]Ratio nal[][][][]Box[][][]with[][][]complexity Overfull \hbox (16.6452pt too wide) in paragraph at lines 7091--7092 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]double[][][]with[][][]complexity [400] Overfull \hbox (30.24483pt too wide) in paragraph at lines 7095--7096 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpq[][][]class[][][]with[][][]complexity Overfull \hbox (29.68477pt too wide) in paragraph at lines 7099--7100 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]B[]D[][][][]Shape[ ][][]mpz[][][]class[][][]with[][][]complexity Overfull \hbox (0.2753pt too wide) in paragraph at lines 7103--7104 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]C[][][][]Polyhedro n[][][]with[][][]complexity Overfull \hbox (14.71524pt too wide) in paragraph at lines 7121--7122 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]N[]N[]C[][][][]Pol yhedron[][][]with[][][]complexity Overfull \hbox (4.38684pt too wide) in paragraph at lines 7125--7126 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]double[][][]with[] Overfull \hbox (0.20671pt too wide) in paragraph at lines 7129--7130 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpq[][][]class[][][] Overfull \hbox (17.4264pt too wide) in paragraph at lines 7133--7134 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Grid[][][]from[][][][]Octagonal[][][][]S hape[][][]mpz[][][]class[][][]with[] Overfull \hbox (8.28717pt too wide) in paragraph at lines 7149--7150 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (2.44724pt too wide) in paragraph at lines 7151--7152 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][] Overfull \hbox (2.44724pt too wide) in paragraph at lines 7153--7154 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpq[][][] Overfull \hbox (1.88718pt too wide) in paragraph at lines 7155--7156 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (1.88718pt too wide) in paragraph at lines 7157--7158 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]B[]D[][][][]Shape[][][]mpz[][][] Overfull \hbox (13.29703pt too wide) in paragraph at lines 7161--7162 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]C[][][][]Polyhedron[][][]with[] Overfull \hbox (7.92537pt too wide) in paragraph at lines 7163--7164 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Congruence[][][][]System Overfull \hbox (1.27505pt too wide) in paragraph at lines 7165--7166 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Constraint[][][][]System Overfull \hbox (6.6271pt too wide) in paragraph at lines 7169--7170 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Double[][][][]Box[][][]with[] Overfull \hbox (14.71524pt too wide) in paragraph at lines 7175--7176 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Grid[][][]with[][][]complexity Overfull \hbox (6.35721pt too wide) in paragraph at lines 7179--7180 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7181--7182 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7183--7184 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7185--7186 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] [401] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7187--7188 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7189--7190 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (4.67702pt too wide) in paragraph at lines 7191--7192 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Octagonal[][][][]Shape[] Overfull \hbox (11.07678pt too wide) in paragraph at lines 7195--7196 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]from[][][ ][]Rational[][][][]Box[][][]with[] Overfull \hbox (17.20528pt too wide) in paragraph at lines 7199--7200 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Congruence[][][][]System Overfull \hbox (10.55496pt too wide) in paragraph at lines 7201--7202 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Constraint[][][][]System Overfull \hbox (8.86517pt too wide) in paragraph at lines 7203--7204 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]N[]N[]C[][][][]Polyhedron[][][]recycle[] [][][]Generator[][][][]System Overfull \hbox (6.60698pt too wide) in paragraph at lines 7205--7206 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7208--7209 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7211--7212 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7214--7215 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7217--7218 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (6.60698pt too wide) in paragraph at lines 7220--7221 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]B[]D[][][][]Shape[] Overfull \hbox (12.07541pt too wide) in paragraph at lines 7223--7224 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron Overfull \hbox (21.05692pt too wide) in paragraph at lines 7226--7227 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]C[][][][]Polyhedron[] Overfull \hbox (12.99696pt too wide) in paragraph at lines 7229--7230 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Congruence[] Overfull \hbox (6.34665pt too wide) in paragraph at lines 7232--7233 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Constraint[] Overfull \hbox (5.40549pt too wide) in paragraph at lines 7235--7236 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box Overfull \hbox (14.387pt too wide) in paragraph at lines 7238--7239 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Double[][][][]Box[] Overfull \hbox (4.65686pt too wide) in paragraph at lines 7241--7242 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Generator[] Overfull \hbox (4.38684pt too wide) in paragraph at lines 7247--7248 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Grid[][][]with[] Overfull \hbox (26.51535pt too wide) in paragraph at lines 7250--7251 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (35.49686pt too wide) in paragraph at lines 7253--7254 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7256--7257 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7259--7260 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7262--7263 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7265--7266 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7268--7269 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (5.77684pt too wide) in paragraph at lines 7271--7272 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Octagonal[] Overfull \hbox (2.16675pt too wide) in paragraph at lines 7274--7275 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][] Overfull \hbox (2.16675pt too wide) in paragraph at lines 7277--7278 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][][]Rational[][][] Overfull \hbox (23.17499pt too wide) in paragraph at lines 7280--7281 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] from[][][]space[][][]dimension Overfull \hbox (22.27687pt too wide) in paragraph at lines 7283--7284 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Congruence[] Overfull \hbox (15.62656pt too wide) in paragraph at lines 7286--7287 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Constraint[] Overfull \hbox (13.93677pt too wide) in paragraph at lines 7289--7290 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]double[][][] recycle[][][][]Generator[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7292--7293 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7295--7296 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] [402] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7298--7299 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7301--7302 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7304--7305 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (20.2066pt too wide) in paragraph at lines 7307--7308 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (25.67503pt too wide) in paragraph at lines 7310--7311 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (34.65654pt too wide) in paragraph at lines 7313--7314 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.59659pt too wide) in paragraph at lines 7316--7317 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Congruence[] Overfull \hbox (19.94627pt too wide) in paragraph at lines 7319--7320 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Constraint[] Overfull \hbox (7.71669pt too wide) in paragraph at lines 7322--7323 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (7.71669pt too wide) in paragraph at lines 7325--7326 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (18.25648pt too wide) in paragraph at lines 7328--7329 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Generator[] Overfull \hbox (0.20671pt too wide) in paragraph at lines 7334--7335 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Grid[][][] Overfull \hbox (2.98676pt too wide) in paragraph at lines 7337--7338 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (2.98676pt too wide) in paragraph at lines 7340--7341 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7343--7344 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7346--7347 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7349--7350 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7352--7353 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7355--7356 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (19.37646pt too wide) in paragraph at lines 7358--7359 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (12.16637pt too wide) in paragraph at lines 7361--7362 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (12.16637pt too wide) in paragraph at lines 7364--7365 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (0.4866pt too wide) in paragraph at lines 7367--7368 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]from[][][]space[] Overfull \hbox (35.8765pt too wide) in paragraph at lines 7370--7371 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Congruence[] Overfull \hbox (29.22618pt too wide) in paragraph at lines 7373--7374 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Constraint[] Overfull \hbox (27.53639pt too wide) in paragraph at lines 7376--7377 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpq[][][]cla ss[][][]recycle[][][][]Generator[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7379--7380 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7382--7383 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7385--7386 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7388--7389 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7391--7392 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (19.64655pt too wide) in paragraph at lines 7394--7395 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]B[]D[][][][]Shape[] Overfull \hbox (25.11497pt too wide) in paragraph at lines 7397--7398 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron Overfull \hbox (34.09648pt too wide) in paragraph at lines 7400--7401 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]C[][][][]Polyhedron[] Overfull \hbox (26.03653pt too wide) in paragraph at lines 7403--7404 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Congruence[] Overfull \hbox (19.38622pt too wide) in paragraph at lines 7406--7407 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Constraint[] [403] Overfull \hbox (7.15663pt too wide) in paragraph at lines 7409--7410 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (7.15663pt too wide) in paragraph at lines 7412--7413 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Double[] Overfull \hbox (17.69643pt too wide) in paragraph at lines 7415--7416 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Generator[] Overfull \hbox (17.4264pt too wide) in paragraph at lines 7421--7422 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Grid[][][]with[] Overfull \hbox (2.4267pt too wide) in paragraph at lines 7424--7425 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (2.4267pt too wide) in paragraph at lines 7427--7428 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]N[]N[]C[][][] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7430--7431 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7433--7434 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7436--7437 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7439--7440 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7442--7443 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (18.8164pt too wide) in paragraph at lines 7445--7446 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Octagonal[] Overfull \hbox (11.60631pt too wide) in paragraph at lines 7448--7449 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (11.60631pt too wide) in paragraph at lines 7451--7452 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][][]Rational[] Overfull \hbox (3.52655pt too wide) in paragraph at lines 7454--7455 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]from[][][]space[][][] Overfull \hbox (35.31644pt too wide) in paragraph at lines 7457--7458 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Congruence[] Overfull \hbox (28.66612pt too wide) in paragraph at lines 7460--7461 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Constraint[] Overfull \hbox (26.97633pt too wide) in paragraph at lines 7463--7464 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Octagonal[][][][]Shape[][][]mpz[][][]cla ss[][][]recycle[][][][]Generator[] Overfull \hbox (18.50455pt too wide) in paragraph at lines 7466--7467 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator Overfull \hbox (27.47614pt too wide) in paragraph at lines 7467--7469 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (27.48605pt too wide) in paragraph at lines 7469--7470 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]const[][][]iterator[] Overfull \hbox (27.47614pt too wide) in paragraph at lines 7470--7472 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]const[][][]iterator[] Overfull \hbox (3.60658pt too wide) in paragraph at lines 7472--7473 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[] Overfull \hbox (3.60658pt too wide) in paragraph at lines 7475--7476 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]C[] Overfull \hbox (45.25636pt too wide) in paragraph at lines 7478--7479 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Congruence[] Overfull \hbox (38.60605pt too wide) in paragraph at lines 7481--7482 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Constraint[] Overfull \hbox (29.1661pt too wide) in paragraph at lines 7484--7485 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[] Overfull \hbox (29.1661pt too wide) in paragraph at lines 7487--7488 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][][]Pointset[] Overfull \hbox (1.92542pt too wide) in paragraph at lines 7487--7488 [][][]\OT1/ptm/bc/n/10 Powerset[][][][]C[][][][]Polyhedron[][][]with[][][]compl exity Overfull \hbox (19.14638pt too wide) in paragraph at lines 7490--7491 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]from[][][]space[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 7494--7496 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (2.77632pt too wide) in paragraph at lines 7496--7497 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]C[][][][ ]Polyhedron[][][]iterator[] Overfull \hbox (2.7664pt too wide) in paragraph at lines 7497--7499 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]C[][][][]Polyhe dron[][][]iterator[] Overfull \hbox (9.44652pt too wide) in paragraph at lines 7499--7500 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 7500--7502 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (9.44652pt too wide) in paragraph at lines 7502--7503 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]const[] Overfull \hbox (9.4366pt too wide) in paragraph at lines 7503--7505 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]const[] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7505--7506 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7506--7508 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7508--7509 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7509--7511 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]273[][] [404] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7511--7512 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7512--7514 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7514--7515 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7515--7517 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7517--7518 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7518--7520 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7520--7521 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (12.72676pt too wide) in paragraph at lines 7520--7521 [][][]\OT1/ptm/bc/n/10 Pointset[][][][]Powerset[][][][]N[]N[]C[][][][]Polyhedro n[][][]with[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7521--7523 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (7.7766pt too wide) in paragraph at lines 7523--7524 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]from[] Overfull \hbox (11.08522pt too wide) in paragraph at lines 7524--7526 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]tag, [][]272[][] Overfull \hbox (8.23476pt too wide) in paragraph at lines 7526--7527 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator Overfull \hbox (17.20634pt too wide) in paragraph at lines 7527--7529 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (17.21626pt too wide) in paragraph at lines 7529--7530 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[ ][][][]Polyhedron[][][]iterator[] Overfull \hbox (17.20634pt too wide) in paragraph at lines 7530--7532 []| \OT1/ptm/bc/n/10 ppl[][][][]Pointset[][][][]Powerset[][][][]N[]N[]C[][][][] Polyhedron[][][]iterator[] Overfull \hbox (13.00674pt too wide) in paragraph at lines 7534--7535 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]double[][][]with[] Overfull \hbox (5.22661pt too wide) in paragraph at lines 7538--7539 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (4.66655pt too wide) in paragraph at lines 7542--7543 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]B[] D[][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (0.23685pt too wide) in paragraph at lines 7546--7547 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]C[] [][][]Polyhedron[][][]with[][][] Overfull \hbox (29.43497pt too wide) in paragraph at lines 7554--7555 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Dou ble[][][][]Box[][][]with[][][]complexity Overfull \hbox (11.07678pt too wide) in paragraph at lines 7564--7565 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]N[] N[]C[][][][]Polyhedron[][][]with[] Overfull \hbox (9.85516pt too wide) in paragraph at lines 7566--7567 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double Overfull \hbox (18.83667pt too wide) in paragraph at lines 7568--7569 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]double[] Overfull \hbox (9.39673pt too wide) in paragraph at lines 7570--7571 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (9.39673pt too wide) in paragraph at lines 7572--7573 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpq[] Overfull \hbox (8.83667pt too wide) in paragraph at lines 7574--7575 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (8.83667pt too wide) in paragraph at lines 7576--7577 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Oct agonal[][][][]Shape[][][]mpz[] Overfull \hbox (33.88464pt too wide) in paragraph at lines 7580--7581 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]from[][][][]Rat ional[][][][]Box[][][]with[][][]complexity Overfull \hbox (0.54509pt too wide) in paragraph at lines 7584--7585 []\OT1/ptm/bc/n/10 ppl[][][]new[][][][]Rational[][][][]Box[][][]recycle[][][][] Congruence[][][][]System Overfull \hbox (15.12538pt too wide) in paragraph at lines 7590--7591 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (24.10689pt too wide) in paragraph at lines 7593--7594 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (14.66695pt too wide) in paragraph at lines 7596--7597 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.66695pt too wide) in paragraph at lines 7599--7600 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (14.10689pt too wide) in paragraph at lines 7602--7603 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (14.10689pt too wide) in paragraph at lines 7605--7606 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]B[]D[][][][]Shape[][][]mpz[] [405] Overfull \hbox (7.73698pt too wide) in paragraph at lines 7610--7611 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]C[][][][]Polyhedron[] Overfull \hbox (1.06706pt too wide) in paragraph at lines 7614--7615 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Double[][][][]Box[] Overfull \hbox (13.19542pt too wide) in paragraph at lines 7620--7621 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (22.17693pt too wide) in paragraph at lines 7622--7623 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7624--7625 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7627--7628 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7630--7631 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7633--7634 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7636--7637 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (20.49673pt too wide) in paragraph at lines 7639--7640 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Octagonal[][][][]Shape[] Overfull \hbox (5.51674pt too wide) in paragraph at lines 7644--7645 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]M []S[][][][]Rational[][][][]Box[] Overfull \hbox (12.90541pt too wide) in paragraph at lines 7646--7647 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double Overfull \hbox (21.88692pt too wide) in paragraph at lines 7649--7650 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]double[] Overfull \hbox (12.44698pt too wide) in paragraph at lines 7652--7653 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (12.44698pt too wide) in paragraph at lines 7655--7656 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpq[] Overfull \hbox (11.88692pt too wide) in paragraph at lines 7658--7659 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (11.88692pt too wide) in paragraph at lines 7661--7662 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]B[]D[][][][]Shape[][][]mpz[] Overfull \hbox (5.51701pt too wide) in paragraph at lines 7666--7667 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]C[][][][]Polyhedron[] Overfull \hbox (2.4471pt too wide) in paragraph at lines 7670--7671 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Double[][][][]Box[][][] Overfull \hbox (10.97545pt too wide) in paragraph at lines 7676--7677 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron Overfull \hbox (19.95695pt too wide) in paragraph at lines 7678--7679 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]N[]N[]C[][][][]Polyhedron[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7680--7681 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7683--7684 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7686--7687 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7689--7690 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7692--7693 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (18.27676pt too wide) in paragraph at lines 7695--7696 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Octagonal[][][][]Shape[] Overfull \hbox (3.29677pt too wide) in paragraph at lines 7700--7701 []\OT1/ptm/bc/n/10 ppl[][][]one[][][]affine[][][]ranking[][][]function[][][][]P []R[][][][]Rational[][][][]Box[] [406] Overfull \hbox (3.27629pt too wide) in paragraph at lines 7751--7752 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]double[] Overfull \hbox (7.89441pt too wide) in paragraph at lines 7754--7755 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class Overfull \hbox (16.87592pt too wide) in paragraph at lines 7757--7758 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (7.33435pt too wide) in paragraph at lines 7760--7761 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class Overfull \hbox (16.31586pt too wide) in paragraph at lines 7763--7764 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]M[]S[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] Overfull \hbox (1.05632pt too wide) in paragraph at lines 7807--7808 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]double[] Overfull \hbox (5.67444pt too wide) in paragraph at lines 7810--7811 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class Overfull \hbox (14.65594pt too wide) in paragraph at lines 7813--7814 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpq[][][]class[] Overfull \hbox (5.11438pt too wide) in paragraph at lines 7816--7817 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class Overfull \hbox (14.09589pt too wide) in paragraph at lines 7819--7820 []\OT1/ptm/bc/n/10 ppl[][][]termination[][][]test[][][][]P[]R[][][][]Octagonal[ ][][][]Shape[][][]mpz[][][]class[] [407] [408]) (./refman.aux (./group__Init.aux) (./group__Version.aux) (./group__Error.aux) (./group__Timeout.aux) (./group__Datatypes.aux)) LaTeX Font Warning: Some font shapes were not available, defaults substituted. ) (see the transcript file for additional information){/usr/share/texlive/texmf-d ist/fonts/enc/dvips/base/8r.enc} Output written on refman.pdf (414 pages, 2579613 bytes). Transcript written on refman.log. make[3]: Leaving directory '/build/ppl-1.2/doc/user-configured-c-interface.latex-dir' pdftops ppl-user-configured-c-interface-1.2.pdf ppl-user-configured-c-interface-1.2.ps gzip -n --best --force ppl-user-configured-c-interface-1.2.ps rm -rf ppl-user-configured-c-interface-1.2-html rm -rf ppl-user-configured-prolog-interface-1.2-html /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured C/' -e 's//configured-c-interface/' -e 's///' \ ./user-language-interface.tex \ > user-configured-c-interface.tex /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured Prolog/' -e 's//configured-prolog-interface/' -e 's///' \ ./user-language-interface.tex \ > user-configured-prolog-interface.tex /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured C/' -e 's//configured-c-interface/' -e 's///' -f ./interfaces-html.sed -e 's||ppl-user-1.2-html.tag=../ppl-user-1.2-html|' \ -e 's||'"./gpl.dox ./fdl.dox ./../interfaces/C/C_interface.dox ../interfaces/C/ppl_c.h"'|' \ user-language-interface.doxyconf \ > Doxyfile.user-configured-c-interface-html /bin/sed -e 's//PPL_DOXYGEN_CONFIGURED_MANUAL/' -e 's//Configured Prolog/' -e 's//configured-prolog-interface/' -e 's///' -f ./interfaces-html.sed -e 's||ppl-user-1.2-html.tag=../ppl-user-1.2-html|' \ -e 's||'"./gpl.dox ./fdl.dox ./../interfaces/Prolog/Prolog_configured_interface.dox ./../interfaces/Prolog/Prolog_interface_sysindep.dox ../interfaces/Prolog/Prolog_configured_domains.dox ./../interfaces/Prolog/Prolog_interface_compilation.dox ./../interfaces/Prolog/Prolog_interface_sysdep.dox"'|' \ user-language-interface.doxyconf \ > Doxyfile.user-configured-prolog-interface-html TEXINPUTS=/build/ppl-1.2/doc: texmf_casefold_search=0 doxygen Doxyfile.user-configured-prolog-interface-html TEXINPUTS=/build/ppl-1.2/doc: texmf_casefold_search=0 doxygen Doxyfile.user-configured-c-interface-html warning: doxygen no longer ships with the FreeSans font. You may want to clear or change DOT_FONTNAME. Otherwise you run the risk that the wrong font is being used for dot generated graphs. warning: doxygen no longer ships with the FreeSans font. You may want to clear or change DOT_FONTNAME. Otherwise you run the risk that the wrong font is being used for dot generated graphs. /build/ppl-1.2/doc/gpl.dox:6: warning: multiple use of section label 'GPL' while adding anchor, (first occurrence: GPL) /build/ppl-1.2/doc/fdl.dox:6: warning: multiple use of section label 'GFDL' while adding anchor, (first occurrence: GFDL) /build/ppl-1.2/doc/gpl.dox:6: warning: multiple use of section label 'GPL' while adding anchor, (first occurrence: GPL) /build/ppl-1.2/doc/fdl.dox:6: warning: multiple use of section label 'GFDL' while adding anchor, (first occurrence: GFDL) GPL:-1: warning: multiple use of section label 'GPL', (first occurrence: GPL) GFDL:-1: warning: multiple use of section label 'GFDL', (first occurrence: GFDL) GPL:-1: warning: multiple use of section label 'GPL', (first occurrence: GPL) GFDL:-1: warning: multiple use of section label 'GFDL', (first occurrence: GFDL) This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=latex) restricted \write18 enabled. entering extended mode (./_formulas.tex LaTeX2e <2018-12-01> This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=latex) restricted \write18 enabled. entering extended mode (./_formulas.tex LaTeX2e <2018-12-01> tar cf ppl-user-configured-prolog-interface-1.2-html.tar ppl-user-configured-prolog-interface-1.2-html gzip -n --best --force ppl-user-configured-prolog-interface-1.2-html.tar tar cf ppl-user-configured-c-interface-1.2-html.tar ppl-user-configured-c-interface-1.2-html gzip -n --best --force ppl-user-configured-c-interface-1.2-html.tar make[2]: Leaving directory '/build/ppl-1.2/doc' make[1]: Leaving directory '/build/ppl-1.2' dh_auto_build -Nlibppl-doc make -j10 make[1]: Entering directory '/build/ppl-1.2' make all-recursive make[2]: Entering directory '/build/ppl-1.2' Making all in . make[3]: Entering directory '/build/ppl-1.2' make[3]: Leaving directory '/build/ppl-1.2' Making all in utils make[3]: Entering directory '/build/ppl-1.2/utils' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/ppl-1.2/utils' Making all in src make[3]: Entering directory '/build/ppl-1.2/src' make all-am make[4]: Entering directory '/build/ppl-1.2/src' make[4]: Nothing to be done for 'all-am'. make[4]: Leaving directory '/build/ppl-1.2/src' make[3]: Leaving directory '/build/ppl-1.2/src' Making all in tests make[3]: Entering directory '/build/ppl-1.2/tests' Making all in . make[4]: Entering directory '/build/ppl-1.2/tests' make[4]: Nothing to be done for 'all-am'. make[4]: Leaving directory '/build/ppl-1.2/tests' Making all in Concrete_Expression make[4]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' Making all in CO_Tree make[4]: Entering directory '/build/ppl-1.2/tests/CO_Tree' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/CO_Tree' Making all in PIP_Problem make[4]: Entering directory '/build/ppl-1.2/tests/PIP_Problem' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/PIP_Problem' Making all in Powerset make[4]: Entering directory '/build/ppl-1.2/tests/Powerset' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Powerset' Making all in Partially_Reduced_Product make[4]: Entering directory '/build/ppl-1.2/tests/Partially_Reduced_Product' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Partially_Reduced_Product' Making all in Box make[4]: Entering directory '/build/ppl-1.2/tests/Box' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Box' Making all in MIP_Problem make[4]: Entering directory '/build/ppl-1.2/tests/MIP_Problem' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/MIP_Problem' Making all in Octagonal_Shape make[4]: Entering directory '/build/ppl-1.2/tests/Octagonal_Shape' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Octagonal_Shape' Making all in BD_Shape make[4]: Entering directory '/build/ppl-1.2/tests/BD_Shape' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/BD_Shape' Making all in Polyhedron make[4]: Entering directory '/build/ppl-1.2/tests/Polyhedron' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Polyhedron' Making all in Grid make[4]: Entering directory '/build/ppl-1.2/tests/Grid' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Grid' Making all in Watchdog make[4]: Entering directory '/build/ppl-1.2/tests/Watchdog' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/build/ppl-1.2/tests/Watchdog' make[3]: Leaving directory '/build/ppl-1.2/tests' Making all in interfaces make[3]: Entering directory '/build/ppl-1.2/interfaces' make all-recursive make[4]: Entering directory '/build/ppl-1.2/interfaces' Making all in . make[5]: Entering directory '/build/ppl-1.2/interfaces' make[5]: Nothing to be done for 'all-am'. make[5]: Leaving directory '/build/ppl-1.2/interfaces' Making all in C make[5]: Entering directory '/build/ppl-1.2/interfaces/C' make all-recursive make[6]: Entering directory '/build/ppl-1.2/interfaces/C' Making all in . make[7]: Entering directory '/build/ppl-1.2/interfaces/C' make[7]: Nothing to be done for 'all-am'. make[7]: Leaving directory '/build/ppl-1.2/interfaces/C' Making all in tests make[7]: Entering directory '/build/ppl-1.2/interfaces/C/tests' make[7]: Nothing to be done for 'all'. make[7]: Leaving directory '/build/ppl-1.2/interfaces/C/tests' make[6]: Leaving directory '/build/ppl-1.2/interfaces/C' make[5]: Leaving directory '/build/ppl-1.2/interfaces/C' Making all in Prolog make[5]: Entering directory '/build/ppl-1.2/interfaces/Prolog' make all-recursive make[6]: Entering directory '/build/ppl-1.2/interfaces/Prolog' Making all in . make[7]: Entering directory '/build/ppl-1.2/interfaces/Prolog' make[7]: Nothing to be done for 'all-am'. make[7]: Leaving directory '/build/ppl-1.2/interfaces/Prolog' Making all in tests make[7]: Entering directory '/build/ppl-1.2/interfaces/Prolog/tests' make[7]: Nothing to be done for 'all'. make[7]: Leaving directory '/build/ppl-1.2/interfaces/Prolog/tests' Making all in SWI make[7]: Entering directory '/build/ppl-1.2/interfaces/Prolog/SWI' make[7]: Nothing to be done for 'all'. make[7]: Leaving directory '/build/ppl-1.2/interfaces/Prolog/SWI' make[6]: Leaving directory '/build/ppl-1.2/interfaces/Prolog' make[5]: Leaving directory '/build/ppl-1.2/interfaces/Prolog' make[4]: Leaving directory '/build/ppl-1.2/interfaces' make[3]: Leaving directory '/build/ppl-1.2/interfaces' Making all in demos make[3]: Entering directory '/build/ppl-1.2/demos' Making all in ppl_pips make[4]: Entering directory '/build/ppl-1.2/demos/ppl_pips' Making all in examples make[5]: Entering directory '/build/ppl-1.2/demos/ppl_pips/examples' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/build/ppl-1.2/demos/ppl_pips/examples' make[5]: Entering directory '/build/ppl-1.2/demos/ppl_pips' make[5]: Nothing to be done for 'all-am'. make[5]: Leaving directory '/build/ppl-1.2/demos/ppl_pips' make[4]: Leaving directory '/build/ppl-1.2/demos/ppl_pips' make[4]: Entering directory '/build/ppl-1.2/demos' make[4]: Nothing to be done for 'all-am'. make[4]: Leaving directory '/build/ppl-1.2/demos' make[3]: Leaving directory '/build/ppl-1.2/demos' Making all in doc make[3]: Entering directory '/build/ppl-1.2/doc' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/ppl-1.2/doc' Making all in m4 make[3]: Entering directory '/build/ppl-1.2/m4' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/ppl-1.2/m4' make[2]: Leaving directory '/build/ppl-1.2' make[1]: Leaving directory '/build/ppl-1.2' debian/rules override_dh_auto_test-arch make[1]: Entering directory '/build/ppl-1.2' # FIXME: there are test failures with swi-prolog 7.2 # for now just ignore these. dh_auto_test || true make -j10 check VERBOSE=1 make[2]: Entering directory '/build/ppl-1.2' Making check in . make[3]: Entering directory '/build/ppl-1.2' make[3]: Leaving directory '/build/ppl-1.2' Making check in utils make[3]: Entering directory '/build/ppl-1.2/utils' make[3]: Nothing to be done for 'check'. make[3]: Leaving directory '/build/ppl-1.2/utils' Making check in src make[3]: Entering directory '/build/ppl-1.2/src' make check-am make[4]: Entering directory '/build/ppl-1.2/src' make[4]: Nothing to be done for 'check-am'. make[4]: Leaving directory '/build/ppl-1.2/src' make[3]: Leaving directory '/build/ppl-1.2/src' Making check in tests make[3]: Entering directory '/build/ppl-1.2/tests' Making check in . make[4]: Entering directory '/build/ppl-1.2/tests' make libppl_tests.a make[5]: Entering directory '/build/ppl-1.2/tests' g++ -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o files.o files.cc g++ -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ppl_test.o ppl_test.cc In file included from ../src/CO_Tree_defs.hh:1557, from ../src/Sparse_Row_defs.hh:29, from ../src/Linear_Expression_Impl_defs.hh:33, from ../src/ppl_include_files.hh:8, from ../src/ppl_header.hh:38, from ppl_test.hh:27, from ppl_test.cc:24: ../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../src/mp_std_bits_defs.hh:28, from ../src/checked_defs.hh:27, from ../src/Checked_Number_defs.hh:28, from ../src/checked_numeric_limits.hh:27, from ../src/ppl_include_files.hh:3, from ../src/ppl_header.hh:38, from ppl_test.hh:27, from ppl_test.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/Linear_System_templates.hh:30, from ../src/Linear_System_defs.hh:580, from ../src/Constraint_System_defs.hh:29, from ../src/Box_inlines.hh:28, from ../src/Box_defs.hh:2285, from ../src/Linear_Form_templates.hh:29, from ../src/ppl_include_files.hh:9, from ../src/ppl_header.hh:38, from ppl_test.hh:27, from ppl_test.cc:24: ../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ rm -f libppl_tests.a ar cru libppl_tests.a files.o ppl_test.o ar: `u' modifier ignored since `D' is the default (see `U') ranlib libppl_tests.a make[5]: Leaving directory '/build/ppl-1.2/tests' make[4]: Leaving directory '/build/ppl-1.2/tests' Making check in Concrete_Expression make[4]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 \ run_tests make[5]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o C_Expr.o C_Expr.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearform1.o linearform1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearize.o linearize.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o digitalfilters1.o digitalfilters1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape1.o bdshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape2.o bdshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape1.o octagonalshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape2.o octagonalshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron1.o polyhedron1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron2.o polyhedron2.cc make[5]: Nothing to be done for 'run_tests'. In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ linearform1.cc: In function 'bool {anonymous}::test08()': linearform1.cc:233:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:242:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:252:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:267:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:277:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:287:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ bdshape2.cc: In function 'bool {anonymous}::test01()': bdshape2.cc:41:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e){ ^ bdshape1.cc: In function 'bool {anonymous}::test01()': bdshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp polyhedron2.cc: In function 'bool {anonymous}::test01()': polyhedron2.cc:41:15: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ polyhedron2.cc:47:17: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ octagonalshape2.cc: In function 'bool {anonymous}::test01()': octagonalshape2.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc:49:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc: In function 'bool {anonymous}::test01()': octagonalshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[5]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make check-TESTS make[5]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' MAKE="make" ./run_tests **************************** float/IEEE754_SINGLE **************************** make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 \ run_tests make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make[7]: 'C_Expr' is up to date. make[7]: 'linearform1' is up to date. make[7]: 'linearize' is up to date. make[7]: 'digitalfilters1' is up to date. make[7]: 'bdshape1' is up to date. make[7]: 'bdshape2' is up to date. make[7]: 'octagonalshape1' is up to date. make[7]: 'octagonalshape2' is up to date. make[7]: 'polyhedron1' is up to date. make[7]: 'polyhedron2' is up to date. make[7]: Nothing to be done for 'run_tests'. make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make check-TESTS make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' PASS: C_Expr PASS: linearform1 PASS: linearize PASS: digitalfilters1 PASS: bdshape1 PASS: bdshape2 PASS: octagonalshape1 PASS: octagonalshape2 PASS: polyhedron1 PASS: polyhedron2 =================== All 10 tests passed =================== make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' test -z "run_tests.stamp" || rm -f run_tests.stamp rm -rf .libs _libs rm -f *.o rm -f *.lo rm -f C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' **************************** float/IEEE754_DOUBLE **************************** make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 \ run_tests make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o C_Expr.o C_Expr.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearform1.o linearform1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearize.o linearize.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o digitalfilters1.o digitalfilters1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape1.o bdshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape2.o bdshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape1.o octagonalshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape2.o octagonalshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron1.o polyhedron1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron2.o polyhedron2.cc make[7]: Nothing to be done for 'run_tests'. In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ bdshape2.cc: In function 'bool {anonymous}::test01()': bdshape2.cc:41:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e){ ^ polyhedron2.cc: In function 'bool {anonymous}::test01()': polyhedron2.cc:41:15: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ polyhedron2.cc:47:17: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ bdshape1.cc: In function 'bool {anonymous}::test01()': bdshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ linearform1.cc: In function 'bool {anonymous}::test08()': linearform1.cc:233:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:242:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:252:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:267:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:277:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:287:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ octagonalshape2.cc: In function 'bool {anonymous}::test01()': octagonalshape2.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc:49:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc: In function 'bool {anonymous}::test01()': octagonalshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make check-TESTS make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' PASS: C_Expr PASS: linearform1 PASS: linearize PASS: digitalfilters1 PASS: bdshape1 PASS: bdshape2 PASS: octagonalshape1 PASS: octagonalshape2 PASS: polyhedron1 PASS: polyhedron2 =================== All 10 tests passed =================== make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' rm -f C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 test -z "run_tests.stamp" || rm -f run_tests.stamp rm -rf .libs _libs rm -f *.o rm -f *.lo make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' **************************** float/IEEE754_QUAD **************************** make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 \ run_tests make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o C_Expr.o C_Expr.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearform1.o linearform1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearize.o linearize.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o digitalfilters1.o digitalfilters1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape1.o bdshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape2.o bdshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape1.o octagonalshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape2.o octagonalshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron1.o polyhedron1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron2.o polyhedron2.cc make[7]: Nothing to be done for 'run_tests'. In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ octagonalshape1.cc: In function 'bool {anonymous}::test01()': octagonalshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ polyhedron2.cc: In function 'bool {anonymous}::test01()': polyhedron2.cc:41:15: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ polyhedron2.cc:47:17: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ bdshape2.cc: In function 'bool {anonymous}::test01()': bdshape2.cc:41:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e){ ^ linearform1.cc: In function 'bool {anonymous}::test08()': linearform1.cc:233:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:242:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:252:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:267:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:277:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:287:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ bdshape1.cc: In function 'bool {anonymous}::test01()': bdshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc: In function 'bool {anonymous}::test01()': octagonalshape2.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc:49:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make check-TESTS make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' PASS: C_Expr PASS: linearform1 PASS: linearize PASS: digitalfilters1 PASS: bdshape1 PASS: bdshape2 PASS: octagonalshape1 PASS: octagonalshape2 PASS: polyhedron1 PASS: polyhedron2 =================== All 10 tests passed =================== make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' test -z "run_tests.stamp" || rm -f run_tests.stamp rm -rf .libs _libs rm -f *.o rm -f *.lo rm -f C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' **************************** double/IEEE754_DOUBLE **************************** make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 \ run_tests make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o C_Expr.o C_Expr.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearform1.o linearform1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearize.o linearize.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o digitalfilters1.o digitalfilters1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape1.o bdshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape2.o bdshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape1.o octagonalshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape2.o octagonalshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron1.o polyhedron1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron2.o polyhedron2.cc make[7]: Nothing to be done for 'run_tests'. In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ bdshape1.cc: In function 'bool {anonymous}::test01()': bdshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc: In function 'bool {anonymous}::test01()': octagonalshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ linearform1.cc: In function 'bool {anonymous}::test08()': linearform1.cc:233:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:242:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ octagonalshape2.cc: In function 'bool {anonymous}::test01()': octagonalshape2.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc:49:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ linearform1.cc:252:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:267:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:277:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:287:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ polyhedron2.cc: In function 'bool {anonymous}::test01()': polyhedron2.cc:41:15: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ polyhedron2.cc:47:17: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp bdshape2.cc: In function 'bool {anonymous}::test01()': bdshape2.cc:41:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e){ ^ libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make check-TESTS make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' PASS: C_Expr PASS: linearform1 PASS: linearize PASS: digitalfilters1 PASS: bdshape1 PASS: bdshape2 PASS: octagonalshape1 PASS: octagonalshape2 PASS: polyhedron1 PASS: polyhedron2 =================== All 10 tests passed =================== make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' test -z "run_tests.stamp" || rm -f run_tests.stamp rm -rf .libs _libs rm -f *.o rm -f *.lo rm -f C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' **************************** double/IEEE754_QUAD **************************** make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 \ run_tests make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o C_Expr.o C_Expr.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearform1.o linearform1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearize.o linearize.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o digitalfilters1.o digitalfilters1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape1.o bdshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape2.o bdshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape1.o octagonalshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape2.o octagonalshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron1.o polyhedron1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron2.o polyhedron2.cc make[7]: Nothing to be done for 'run_tests'. In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ bdshape1.cc: In function 'bool {anonymous}::test01()': bdshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ linearform1.cc: In function 'bool {anonymous}::test08()': linearform1.cc:233:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:242:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:252:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:267:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:277:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:287:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ octagonalshape2.cc: In function 'bool {anonymous}::test01()': octagonalshape2.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc:49:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc: In function 'bool {anonymous}::test01()': octagonalshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc: In function 'bool {anonymous}::test01()': bdshape2.cc:41:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e){ ^ polyhedron2.cc: In function 'bool {anonymous}::test01()': polyhedron2.cc:41:15: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ polyhedron2.cc:47:17: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make check-TESTS make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' PASS: C_Expr PASS: linearform1 PASS: linearize PASS: digitalfilters1 PASS: bdshape1 PASS: bdshape2 PASS: octagonalshape1 PASS: octagonalshape2 PASS: polyhedron1 PASS: polyhedron2 =================== All 10 tests passed =================== make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' test -z "run_tests.stamp" || rm -f run_tests.stamp rm -rf .libs _libs rm -f *.o rm -f *.lo rm -f C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' **************************** long_double/IEEE754_QUAD **************************** make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' make C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 \ run_tests make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o C_Expr.o C_Expr.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearform1.o linearform1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o linearize.o linearize.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o digitalfilters1.o digitalfilters1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape1.o bdshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bdshape2.o bdshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape1.o octagonalshape1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o octagonalshape2.o octagonalshape2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron1.o polyhedron1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o polyhedron2.o polyhedron2.cc make[7]: Nothing to be done for 'run_tests'. In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron2.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from C_Expr.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearize.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from octagonalshape2.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from digitalfilters1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bdshape2.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from linearform1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from polyhedron1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ polyhedron2.cc: In function 'bool {anonymous}::test01()': polyhedron2.cc:41:15: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ polyhedron2.cc:47:17: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch (std::invalid_argument) { ^~~~~~~~~~~~~~~~ octagonalshape1.cc: In function 'bool {anonymous}::test01()': octagonalshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ linearform1.cc: In function 'bool {anonymous}::test08()': linearform1.cc:233:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:242:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:252:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:267:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:277:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ linearform1.cc:287:27: warning: catching polymorphic type 'class std::length_error' by value [-Wcatch-value=] catch(std::length_error e) { ^ bdshape1.cc: In function 'bool {anonymous}::test01()': bdshape1.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape1.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc: In function 'bool {anonymous}::test01()': octagonalshape2.cc:40:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ octagonalshape2.cc:49:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc: In function 'bool {anonymous}::test01()': bdshape2.cc:41:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e) { ^ bdshape2.cc:51:31: warning: catching polymorphic type 'class std::invalid_argument' by value [-Wcatch-value=] catch(std::invalid_argument e){ ^ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/C_Expr C_Expr.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearform1 linearform1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape1 bdshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron1 polyhedron1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/linearize linearize.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape1 octagonalshape1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/octagonalshape2 octagonalshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/polyhedron2 polyhedron2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/bdshape2 bdshape2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/digitalfilters1 digitalfilters1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make check-TESTS make[7]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' PASS: C_Expr PASS: linearform1 PASS: linearize PASS: digitalfilters1 PASS: bdshape1 PASS: bdshape2 PASS: octagonalshape1 PASS: octagonalshape2 PASS: polyhedron1 PASS: polyhedron2 =================== All 10 tests passed =================== make[7]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[6]: Entering directory '/build/ppl-1.2/tests/Concrete_Expression' test -z "run_tests.stamp" || rm -f run_tests.stamp rm -rf .libs _libs rm -f C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2 octagonalshape1 octagonalshape2 polyhedron1 polyhedron2 rm -f *.o rm -f *.lo make[6]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' echo "true" >run_tests.stamp chmod +x run_tests.stamp PASS: run_tests.stamp ============= 1 test passed ============= make[5]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' make[4]: Leaving directory '/build/ppl-1.2/tests/Concrete_Expression' Making check in CO_Tree make[4]: Entering directory '/build/ppl-1.2/tests/CO_Tree' make cotree1 make[5]: Entering directory '/build/ppl-1.2/tests/CO_Tree' g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../utils -I../../tests -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o cotree1.o cotree1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from cotree1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from cotree1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from cotree1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o cotree1 cotree1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/cotree1 cotree1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[5]: Leaving directory '/build/ppl-1.2/tests/CO_Tree' make check-TESTS make[5]: Entering directory '/build/ppl-1.2/tests/CO_Tree' make[6]: Entering directory '/build/ppl-1.2/tests/CO_Tree' PASS: cotree1 ============================================================================ Testsuite summary for the Parma Polyhedra Library 1.2 ============================================================================ # TOTAL: 1 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[6]: Leaving directory '/build/ppl-1.2/tests/CO_Tree' make[5]: Leaving directory '/build/ppl-1.2/tests/CO_Tree' make[4]: Leaving directory '/build/ppl-1.2/tests/CO_Tree' Making check in PIP_Problem make[4]: Entering directory '/build/ppl-1.2/tests/PIP_Problem' make ascii_dump_load1 exceptions1 pipproblem1 pipproblem2 pipproblem3 weightwatch1 make[5]: Entering directory '/build/ppl-1.2/tests/PIP_Problem' g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../utils -I../../tests -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o ascii_dump_load1.o ascii_dump_load1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../utils -I../../tests -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o exceptions1.o exceptions1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../utils -I../../tests -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o pipproblem1.o pipproblem1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../utils -I../../tests -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o pipproblem2.o pipproblem2.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../utils -I../../tests -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o pipproblem3.o pipproblem3.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../utils -I../../tests -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o weightwatch1.o weightwatch1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from exceptions1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from exceptions1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from ascii_dump_load1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from ascii_dump_load1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from exceptions1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from weightwatch1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from weightwatch1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem3.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem3.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from ascii_dump_load1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem2.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem2.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from weightwatch1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem3.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from pipproblem2.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o pipproblem3 pipproblem3.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/pipproblem3 pipproblem3.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o exceptions1 exceptions1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/exceptions1 exceptions1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o ascii_dump_load1 ascii_dump_load1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/ascii_dump_load1 ascii_dump_load1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o pipproblem2 pipproblem2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/pipproblem2 pipproblem2.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o weightwatch1 weightwatch1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/weightwatch1 weightwatch1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp /bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z,relro -o pipproblem1 pipproblem1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lgmpxx -lgmp libtool: link: g++ -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -Wl,-z -Wl,relro -o .libs/pipproblem1 pipproblem1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -lgmpxx -lgmp make[5]: Leaving directory '/build/ppl-1.2/tests/PIP_Problem' make check-TESTS make[5]: Entering directory '/build/ppl-1.2/tests/PIP_Problem' make[6]: Entering directory '/build/ppl-1.2/tests/PIP_Problem' PASS: ascii_dump_load1 PASS: exceptions1 PASS: pipproblem3 PASS: pipproblem2 PASS: pipproblem1 PASS: weightwatch1 ============================================================================ Testsuite summary for the Parma Polyhedra Library 1.2 ============================================================================ # TOTAL: 6 # PASS: 6 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[6]: Leaving directory '/build/ppl-1.2/tests/PIP_Problem' make[5]: Leaving directory '/build/ppl-1.2/tests/PIP_Problem' make[4]: Leaving directory '/build/ppl-1.2/tests/PIP_Problem' Making check in Powerset make[4]: Entering directory '/build/ppl-1.2/tests/Powerset' make addcongruences1 addconstraints1 affinedimension1 affineimage1 affinepreimage1 bounded1 bounds1 closed1 closure1 collapse1 concatenate1 contains1 containsintegerpoint1 difference1 discrete1 disjoint1 disjunct1 empty1 entails1 equals1 frombdshape1 frombox1 fromcongruences1 fromconstraints1 fromgrid1 fromoctagonalshape1 frompolyhedron1 fromspacedimension1 intersection1 maxmin1 meet1 membytes1 powerset1 reduce1 refinewith1 relationwith1 simplifyusingcontext1 size1 spacedims1 universe1 upperbound1 make[5]: Entering directory '/build/ppl-1.2/tests/Powerset' g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o addcongruences1.o addcongruences1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o addconstraints1.o addconstraints1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o affinedimension1.o affinedimension1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o affineimage1.o affineimage1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o affinepreimage1.o affinepreimage1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bounded1.o bounded1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o bounds1.o bounds1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o closed1.o closed1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o closure1.o closure1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o collapse1.o collapse1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bounded1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bounded1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from addconstraints1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from addconstraints1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bounded1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bounds1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bounds1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affineimage1.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affineimage1.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from addcongruences1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from addcongruences1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from collapse1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from collapse1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affinedimension1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affinedimension1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from addconstraints1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from closed1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from closed1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from bounds1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affineimage1.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affinepreimage1.cc:26: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affinepreimage1.cc:26: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from closed1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from addcongruences1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from collapse1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from closure1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from closure1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affinepreimage1.cc:26: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from affinedimension1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from closure1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o concatenate1.o concatenate1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o contains1.o contains1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o containsintegerpoint1.o containsintegerpoint1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o difference1.o difference1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from concatenate1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from concatenate1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from concatenate1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from containsintegerpoint1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from containsintegerpoint1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from contains1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from contains1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from containsintegerpoint1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from contains1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o discrete1.o discrete1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o disjoint1.o disjoint1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from difference1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from difference1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from difference1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o disjunct1.o disjunct1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o empty1.o empty1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from discrete1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from discrete1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from discrete1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from disjoint1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from disjoint1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o entails1.o entails1.cc In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from disjoint1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from disjunct1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from disjunct1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from empty1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from empty1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from disjunct1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from empty1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from entails1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from entails1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from entails1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o equals1.o equals1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o frombdshape1.o frombdshape1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from equals1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from equals1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o frombox1.o frombox1.cc In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from equals1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frombdshape1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frombdshape1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o fromcongruences1.o fromcongruences1.cc In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frombdshape1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o fromconstraints1.o fromconstraints1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o fromgrid1.o fromgrid1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frombox1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frombox1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frombox1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o fromoctagonalshape1.o fromoctagonalshape1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromcongruences1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromcongruences1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Pointset_Powerset_defs.hh:1454, from ../../src/algorithms.hh:28, from ../../src/ppl_include_files.hh:18, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from equals1.cc:25: ../../src/Pointset_Powerset_templates.hh: In instantiation of 'Parma_Polyhedra_Library::Pointset_Powerset::Pointset_Powerset(const Parma_Polyhedra_Library::Pointset_Powerset&, Parma_Polyhedra_Library::Complexity_Class) [with QH = Parma_Polyhedra_Library::Box, Parma_Polyhedra_Library::Interval_Info_Bitset > >; PSET = Parma_Polyhedra_Library::NNC_Polyhedron]': ../../src/Pointset_Powerset_inlines.hh:262:43: required from 'bool Parma_Polyhedra_Library::Pointset_Powerset::geometrically_equals(const Parma_Polyhedra_Library::Pointset_Powerset&) const [with PSET = Parma_Polyhedra_Library::Box, Parma_Polyhedra_Library::Interval_Info_Bitset > >]' equals1.cc:44:50: required from here ../../src/Pointset_Powerset_templates.hh:66:29: internal compiler error: in type_dependent_expression_p, at cp/pt.c:25195 y_end = y.end(); i != y_end; ++i) { ~~^~~~~~~~ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromgrid1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromgrid1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromcongruences1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromgrid1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromconstraints1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromconstraints1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o frompolyhedron1.o frompolyhedron1.cc In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromconstraints1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromoctagonalshape1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromoctagonalshape1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromoctagonalshape1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o fromspacedimension1.o fromspacedimension1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frompolyhedron1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frompolyhedron1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from frompolyhedron1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromspacedimension1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromspacedimension1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from fromspacedimension1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o intersection1.o intersection1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o maxmin1.o maxmin1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from intersection1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from intersection1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from intersection1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from maxmin1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from maxmin1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from maxmin1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o meet1.o meet1.cc g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o membytes1.o membytes1.cc In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from membytes1.cc:25: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from membytes1.cc:25: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from membytes1.cc:25: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ In file included from ../../src/CO_Tree_defs.hh:1557, from ../../src/Sparse_Row_defs.hh:29, from ../../src/Linear_Expression_Impl_defs.hh:33, from ../../src/ppl_include_files.hh:8, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from meet1.cc:24: ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] std::memcpy(&to, &from, sizeof(data_type)); ^ In file included from ../../src/mp_std_bits_defs.hh:28, from ../../src/checked_defs.hh:27, from ../../src/Checked_Number_defs.hh:28, from ../../src/checked_numeric_limits.hh:27, from ../../src/ppl_include_files.hh:3, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from meet1.cc:24: /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here class __gmp_expr ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../src/Linear_System_templates.hh:30, from ../../src/Linear_System_defs.hh:580, from ../../src/Constraint_System_defs.hh:29, from ../../src/Box_inlines.hh:28, from ../../src/Box_defs.hh:2285, from ../../src/Linear_Form_templates.hh:29, from ../../src/ppl_include_files.hh:9, from ../../src/ppl_header.hh:38, from ../../tests/ppl_test.hh:27, from meet1.cc:24: ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] ? static_cast(&Scalar_Products::sign) ^ ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] : static_cast(&Scalar_Products::reduced_sign)) { ^ Preprocessed source stored into /tmp/ccL3eUlK.out file, please attach this to your bugreport. === BEGIN GCC DUMP === 2441: // Target: i686-linux-gnu 2441: // Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=i686-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu 2441: // Thread model: posix 2441: // gcc version 8.3.0 (Debian 8.3.0-6) 2441: // 2441: // In file included from ../../src/CO_Tree_defs.hh:1557, 2441: // from ../../src/Sparse_Row_defs.hh:29, 2441: // from ../../src/Linear_Expression_Impl_defs.hh:33, 2441: // from ../../src/ppl_include_files.hh:8, 2441: // from ../../src/ppl_header.hh:38, 2441: // from ../../tests/ppl_test.hh:27, 2441: // from equals1.cc:25: 2441: // ../../src/CO_Tree_inlines.hh: In static member function 'static void Parma_Polyhedra_Library::CO_Tree::move_data_element(Parma_Polyhedra_Library::CO_Tree::data_type&, Parma_Polyhedra_Library::CO_Tree::data_type&)': 2441: // ../../src/CO_Tree_inlines.hh:354:44: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 2441: // std::memcpy(&to, &from, sizeof(data_type)); 2441: // ^ 2441: // In file included from ../../src/mp_std_bits_defs.hh:28, 2441: // from ../../src/checked_defs.hh:27, 2441: // from ../../src/Checked_Number_defs.hh:28, 2441: // from ../../src/checked_numeric_limits.hh:27, 2441: // from ../../src/ppl_include_files.hh:3, 2441: // from ../../src/ppl_header.hh:38, 2441: // from ../../tests/ppl_test.hh:27, 2441: // from equals1.cc:25: 2441: // /usr/include/gmpxx.h:1429:7: note: 'Parma_Polyhedra_Library::CO_Tree::data_type' {aka 'class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>'} declared here 2441: // class __gmp_expr 2441: // ^~~~~~~~~~~~~~~~~~~~~~~~ 2441: // In file included from ../../src/Linear_System_templates.hh:30, 2441: // from ../../src/Linear_System_defs.hh:580, 2441: // from ../../src/Constraint_System_defs.hh:29, 2441: // from ../../src/Box_inlines.hh:28, 2441: // from ../../src/Box_defs.hh:2285, 2441: // from ../../src/Linear_Form_templates.hh:29, 2441: // from ../../src/ppl_include_files.hh:9, 2441: // from ../../src/ppl_header.hh:38, 2441: // from ../../tests/ppl_test.hh:27, 2441: // from equals1.cc:25: 2441: // ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Constraint&)': 2441: // ../../src/Scalar_Products_inlines.hh:129:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] 2441: // ? static_cast(&Scalar_Products::sign) 2441: // ^ 2441: // ../../src/Scalar_Products_inlines.hh:130:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] 2441: // : static_cast(&Scalar_Products::reduced_sign)) { 2441: // ^ 2441: // ../../src/Scalar_Products_inlines.hh: In constructor 'Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::Topology_Adjusted_Scalar_Product_Sign(const Parma_Polyhedra_Library::Generator&)': 2441: // ../../src/Scalar_Products_inlines.hh:137:58: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] 2441: // ? static_cast(&Scalar_Products::sign) 2441: // ^ 2441: // ../../src/Scalar_Products_inlines.hh:138:66: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] 2441: // : static_cast(&Scalar_Products::reduced_sign)) { 2441: // ^ 2441: // In file included from ../../src/Pointset_Powerset_defs.hh:1454, 2441: // from ../../src/algorithms.hh:28, 2441: // from ../../src/ppl_include_files.hh:18, 2441: // from ../../src/ppl_header.hh:38, 2441: // from ../../tests/ppl_test.hh:27, 2441: // from equals1.cc:25: 2441: // ../../src/Pointset_Powerset_templates.hh: In instantiation of 'Parma_Polyhedra_Library::Pointset_Powerset::Pointset_Powerset(const Parma_Polyhedra_Library::Pointset_Powerset&, Parma_Polyhedra_Library::Complexity_Class) [with QH = Parma_Polyhedra_Library::Box, Parma_Polyhedra_Library::Interval_Info_Bitset > >; PSET = Parma_Polyhedra_Library::NNC_Polyhedron]': 2441: // ../../src/Pointset_Powerset_inlines.hh:262:43: required from 'bool Parma_Polyhedra_Library::Pointset_Powerset::geometrically_equals(const Parma_Polyhedra_Library::Pointset_Powerset&) const [with PSET = Parma_Polyhedra_Library::Box, Parma_Polyhedra_Library::Interval_Info_Bitset > >]' 2441: // equals1.cc:44:50: required from here 2441: // ../../src/Pointset_Powerset_templates.hh:66:29: internal compiler error: in type_dependent_expression_p, at cp/pt.c:25195 2441: // y_end = y.end(); i != y_end; ++i) { 2441: // ~~^~~~~~~~ 2441: // Please submit a full bug report, 2441: // with preprocessed source if appropriate. 2441: // See for instructions. 2441: 2441: // /usr/lib/gcc/i686-linux-gnu/8/cc1plus -quiet -I . -I ../.. -I ../../src -I ../../src -I ../../tests -I ../../utils -imultiarch i386-linux-gnu -D_GNU_SOURCE -D HAVE_CONFIG_H -D NDEBUG=1 -D _FORTIFY_SOURCE=2 equals1.cc -quiet -dumpbase equals1.cc -mtune=generic -march=i686 -auxbase-strip equals1.o -g -g -g -O2 -O2 -Wdate-time -Wformat=1 -Werror=format-security -Wextra -Wall -frounding-math -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -fpermissive -o - -frandom-seed=0 -fdump-noaddr 2441: 2441: # 1 "equals1.cc" 2441: # 1 "/build/ppl-1.2/tests/Powerset//" 2441: # 1 "" 2441: # 1 "" 2441: # 1 "/usr/include/stdc-predef.h" 1 3 4 2441: # 1 "" 2 2441: # 1 "equals1.cc" 2441: # 25 "equals1.cc" 2441: # 1 "../../tests/ppl_test.hh" 1 2441: # 27 "../../tests/ppl_test.hh" 2441: # 1 "../../src/ppl_header.hh" 1 2441: # 36 "../../src/ppl_header.hh" 2441: # 1 "../../ppl-config.h" 1 2441: # 402 "../../ppl-config.h" 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stdint.h" 1 3 4 2441: # 9 "/usr/lib/gcc/i686-linux-gnu/8/include/stdint.h" 3 4 2441: # 1 "/usr/include/stdint.h" 1 3 4 2441: # 26 "/usr/include/stdint.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 1 3 4 2441: # 33 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 3 4 2441: # 1 "/usr/include/features.h" 1 3 4 2441: # 424 "/usr/include/features.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/sys/cdefs.h" 1 3 4 2441: # 442 "/usr/include/i386-linux-gnu/sys/cdefs.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 443 "/usr/include/i386-linux-gnu/sys/cdefs.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/long-double.h" 1 3 4 2441: # 444 "/usr/include/i386-linux-gnu/sys/cdefs.h" 2 3 4 2441: # 425 "/usr/include/features.h" 2 3 4 2441: # 448 "/usr/include/features.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/gnu/stubs.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/gnu/stubs-32.h" 1 3 4 2441: # 8 "/usr/include/i386-linux-gnu/gnu/stubs.h" 2 3 4 2441: # 449 "/usr/include/features.h" 2 3 4 2441: # 34 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 2 3 4 2441: # 27 "/usr/include/stdint.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/types.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 28 "/usr/include/i386-linux-gnu/bits/types.h" 2 3 4 2441: 2441: 2441: 2441: # 30 "/usr/include/i386-linux-gnu/bits/types.h" 3 4 2441: typedef unsigned char __u_char; 2441: typedef unsigned short int __u_short; 2441: typedef unsigned int __u_int; 2441: typedef unsigned long int __u_long; 2441: 2441: 2441: typedef signed char __int8_t; 2441: typedef unsigned char __uint8_t; 2441: typedef signed short int __int16_t; 2441: typedef unsigned short int __uint16_t; 2441: typedef signed int __int32_t; 2441: typedef unsigned int __uint32_t; 2441: 2441: 2441: 2441: 2441: __extension__ typedef signed long long int __int64_t; 2441: __extension__ typedef unsigned long long int __uint64_t; 2441: 2441: 2441: 2441: typedef __int8_t __int_least8_t; 2441: typedef __uint8_t __uint_least8_t; 2441: typedef __int16_t __int_least16_t; 2441: typedef __uint16_t __uint_least16_t; 2441: typedef __int32_t __int_least32_t; 2441: typedef __uint32_t __uint_least32_t; 2441: typedef __int64_t __int_least64_t; 2441: typedef __uint64_t __uint_least64_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: __extension__ typedef long long int __quad_t; 2441: __extension__ typedef unsigned long long int __u_quad_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: __extension__ typedef long long int __intmax_t; 2441: __extension__ typedef unsigned long long int __uintmax_t; 2441: # 140 "/usr/include/i386-linux-gnu/bits/types.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/typesizes.h" 1 3 4 2441: # 141 "/usr/include/i386-linux-gnu/bits/types.h" 2 3 4 2441: 2441: 2441: __extension__ typedef __u_quad_t __dev_t; 2441: __extension__ typedef unsigned int __uid_t; 2441: __extension__ typedef unsigned int __gid_t; 2441: __extension__ typedef unsigned long int __ino_t; 2441: __extension__ typedef __u_quad_t __ino64_t; 2441: __extension__ typedef unsigned int __mode_t; 2441: __extension__ typedef unsigned int __nlink_t; 2441: __extension__ typedef long int __off_t; 2441: __extension__ typedef __quad_t __off64_t; 2441: __extension__ typedef int __pid_t; 2441: __extension__ typedef struct { int __val[2]; } __fsid_t; 2441: __extension__ typedef long int __clock_t; 2441: __extension__ typedef unsigned long int __rlim_t; 2441: __extension__ typedef __u_quad_t __rlim64_t; 2441: __extension__ typedef unsigned int __id_t; 2441: __extension__ typedef long int __time_t; 2441: __extension__ typedef unsigned int __useconds_t; 2441: __extension__ typedef long int __suseconds_t; 2441: 2441: __extension__ typedef int __daddr_t; 2441: __extension__ typedef int __key_t; 2441: 2441: 2441: __extension__ typedef int __clockid_t; 2441: 2441: 2441: __extension__ typedef void * __timer_t; 2441: 2441: 2441: __extension__ typedef long int __blksize_t; 2441: 2441: 2441: 2441: 2441: __extension__ typedef long int __blkcnt_t; 2441: __extension__ typedef __quad_t __blkcnt64_t; 2441: 2441: 2441: __extension__ typedef unsigned long int __fsblkcnt_t; 2441: __extension__ typedef __u_quad_t __fsblkcnt64_t; 2441: 2441: 2441: __extension__ typedef unsigned long int __fsfilcnt_t; 2441: __extension__ typedef __u_quad_t __fsfilcnt64_t; 2441: 2441: 2441: __extension__ typedef int __fsword_t; 2441: 2441: __extension__ typedef int __ssize_t; 2441: 2441: 2441: __extension__ typedef long int __syscall_slong_t; 2441: 2441: __extension__ typedef unsigned long int __syscall_ulong_t; 2441: 2441: 2441: 2441: typedef __off64_t __loff_t; 2441: typedef char *__caddr_t; 2441: 2441: 2441: __extension__ typedef int __intptr_t; 2441: 2441: 2441: __extension__ typedef unsigned int __socklen_t; 2441: 2441: 2441: 2441: 2441: typedef int __sig_atomic_t; 2441: # 28 "/usr/include/stdint.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wchar.h" 1 3 4 2441: # 29 "/usr/include/stdint.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 30 "/usr/include/stdint.h" 2 3 4 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdint-intn.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/stdint-intn.h" 3 4 2441: typedef __int8_t int8_t; 2441: typedef __int16_t int16_t; 2441: typedef __int32_t int32_t; 2441: typedef __int64_t int64_t; 2441: # 35 "/usr/include/stdint.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdint-uintn.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/stdint-uintn.h" 3 4 2441: typedef __uint8_t uint8_t; 2441: typedef __uint16_t uint16_t; 2441: typedef __uint32_t uint32_t; 2441: typedef __uint64_t uint64_t; 2441: # 38 "/usr/include/stdint.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: typedef __int_least8_t int_least8_t; 2441: typedef __int_least16_t int_least16_t; 2441: typedef __int_least32_t int_least32_t; 2441: typedef __int_least64_t int_least64_t; 2441: 2441: 2441: typedef __uint_least8_t uint_least8_t; 2441: typedef __uint_least16_t uint_least16_t; 2441: typedef __uint_least32_t uint_least32_t; 2441: typedef __uint_least64_t uint_least64_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef signed char int_fast8_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef int int_fast16_t; 2441: typedef int int_fast32_t; 2441: __extension__ 2441: typedef long long int int_fast64_t; 2441: 2441: 2441: 2441: typedef unsigned char uint_fast8_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef unsigned int uint_fast16_t; 2441: typedef unsigned int uint_fast32_t; 2441: __extension__ 2441: typedef unsigned long long int uint_fast64_t; 2441: # 93 "/usr/include/stdint.h" 3 4 2441: typedef int intptr_t; 2441: 2441: 2441: typedef unsigned int uintptr_t; 2441: 2441: 2441: 2441: 2441: typedef __intmax_t intmax_t; 2441: typedef __uintmax_t uintmax_t; 2441: # 10 "/usr/lib/gcc/i686-linux-gnu/8/include/stdint.h" 2 3 4 2441: # 403 "../../ppl-config.h" 2 2441: 2441: 2441: 2441: # 1 "/usr/include/inttypes.h" 1 3 4 2441: # 266 "/usr/include/inttypes.h" 3 4 2441: extern "C" { 2441: # 280 "/usr/include/inttypes.h" 3 4 2441: typedef struct 2441: { 2441: __extension__ long long int quot; 2441: __extension__ long long int rem; 2441: } imaxdiv_t; 2441: 2441: 2441: 2441: 2441: 2441: extern intmax_t imaxabs (intmax_t __n) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) 2441: throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern intmax_t strtoimax (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base) throw (); 2441: 2441: 2441: extern uintmax_t strtoumax (const char *__restrict __nptr, 2441: char ** __restrict __endptr, int __base) throw (); 2441: 2441: 2441: extern intmax_t wcstoimax (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, int __base) 2441: throw (); 2441: 2441: 2441: extern uintmax_t wcstoumax (const wchar_t *__restrict __nptr, 2441: wchar_t ** __restrict __endptr, int __base) 2441: throw (); 2441: # 370 "/usr/include/inttypes.h" 3 4 2441: __extension__ 2441: extern long long int __strtoll_internal (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: int __base, int __group) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) intmax_t 2441: __attribute__ ((__leaf__)) strtoimax (const char *__restrict nptr, char **__restrict endptr, int base) throw () 2441: 2441: { 2441: return __strtoll_internal (nptr, endptr, base, 0); 2441: } 2441: 2441: __extension__ 2441: extern unsigned long long int __strtoull_internal (const char * 2441: __restrict __nptr, 2441: char ** 2441: __restrict __endptr, 2441: int __base, 2441: int __group) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) uintmax_t 2441: __attribute__ ((__leaf__)) strtoumax (const char *__restrict nptr, char **__restrict endptr, int base) throw () 2441: 2441: { 2441: return __strtoull_internal (nptr, endptr, base, 0); 2441: } 2441: 2441: __extension__ 2441: extern long long int __wcstoll_internal (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: int __base, int __group) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) intmax_t 2441: __attribute__ ((__leaf__)) wcstoimax (const wchar_t *__restrict nptr, wchar_t **__restrict endptr, int base) throw () 2441: 2441: { 2441: return __wcstoll_internal (nptr, endptr, base, 0); 2441: } 2441: 2441: 2441: __extension__ 2441: extern unsigned long long int __wcstoull_internal (const wchar_t * 2441: __restrict __nptr, 2441: wchar_t ** 2441: __restrict __endptr, 2441: int __base, 2441: int __group) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) uintmax_t 2441: __attribute__ ((__leaf__)) wcstoumax (const wchar_t *__restrict nptr, wchar_t **__restrict endptr, int base) throw () 2441: 2441: { 2441: return __wcstoull_internal (nptr, endptr, base, 0); 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 407 "../../ppl-config.h" 2 2441: # 37 "../../src/ppl_header.hh" 2 2441: # 1 "../../src/version.hh" 1 2441: # 61 "../../src/version.hh" 2441: 2441: # 61 "../../src/version.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: unsigned 2441: version_major(); 2441: 2441: 2441: unsigned 2441: version_minor(); 2441: 2441: 2441: unsigned 2441: version_revision(); 2441: 2441: 2441: unsigned 2441: version_beta(); 2441: 2441: 2441: const char* version(); 2441: # 92 "../../src/version.hh" 2441: const char* banner(); 2441: 2441: 2441: 2441: } 2441: # 38 "../../src/ppl_header.hh" 2 2441: # 1 "../../src/ppl_include_files.hh" 1 2441: # 1 "../../src/namespaces.hh" 1 2441: # 28 "../../src/namespaces.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 58 "../../src/namespaces.hh" 2441: namespace IO_Operators { 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace Checked { 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace Implementation { 2441: } 2441: 2441: 2441: 2441: 2441: namespace Interfaces { 2441: 2441: 2441: 2441: 2441: 2441: namespace C { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace Java { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace OCaml { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace Prolog { 2441: 2441: 2441: 2441: 2441: 2441: namespace Ciao { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace GNU { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace SICStus { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace SWI { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace XSB { 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: namespace YAP { 2441: 2441: } 2441: 2441: } 2441: 2441: } 2441: 2441: } 2441: # 180 "../../src/namespaces.hh" 2441: namespace std { 2441: } 2441: # 2 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/Interval_Info_types.hh" 1 2441: # 16 "../../src/Interval_Info_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Interval_Info_Null; 2441: 2441: template 2441: class Interval_Info_Bitset; 2441: 2441: } 2441: # 3 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/checked_numeric_limits.hh" 1 2441: # 27 "../../src/checked_numeric_limits.hh" 2441: # 1 "../../src/Checked_Number_defs.hh" 1 2441: # 27 "../../src/Checked_Number_defs.hh" 2441: # 1 "../../src/Checked_Number_types.hh" 1 2441: # 16 "../../src/Checked_Number_types.hh" 2441: # 1 "../../src/Coefficient_traits_template.hh" 1 2441: # 27 "../../src/Coefficient_traits_template.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct Coefficient_traits_template { 2441: }; 2441: 2441: } 2441: # 17 "../../src/Checked_Number_types.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: struct Extended_Number_Policy; 2441: 2441: template 2441: class Checked_Number; 2441: 2441: } 2441: # 28 "../../src/Checked_Number_defs.hh" 2 2441: # 1 "../../src/checked_defs.hh" 1 2441: # 27 "../../src/checked_defs.hh" 2441: # 1 "../../src/mp_std_bits_defs.hh" 1 2441: # 28 "../../src/mp_std_bits_defs.hh" 2441: # 1 "/usr/include/gmpxx.h" 1 3 4 2441: # 34 "/usr/include/gmpxx.h" 3 4 2441: # 1 "/usr/include/c++/8/iosfwd" 1 3 4 2441: # 36 "/usr/include/c++/8/iosfwd" 3 4 2441: 2441: # 37 "/usr/include/c++/8/iosfwd" 3 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/c++config.h" 1 3 2441: # 236 "/usr/include/i386-linux-gnu/c++/8/bits/c++config.h" 3 2441: 2441: # 236 "/usr/include/i386-linux-gnu/c++/8/bits/c++config.h" 3 2441: namespace std 2441: { 2441: typedef unsigned int size_t; 2441: typedef int ptrdiff_t; 2441: 2441: 2441: typedef decltype(nullptr) nullptr_t; 2441: 2441: } 2441: # 258 "/usr/include/i386-linux-gnu/c++/8/bits/c++config.h" 3 2441: namespace std 2441: { 2441: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 2441: } 2441: namespace __gnu_cxx 2441: { 2441: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 2441: } 2441: # 508 "/usr/include/i386-linux-gnu/c++/8/bits/c++config.h" 3 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/os_defines.h" 1 3 2441: # 509 "/usr/include/i386-linux-gnu/c++/8/bits/c++config.h" 2 3 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/cpu_defines.h" 1 3 2441: # 512 "/usr/include/i386-linux-gnu/c++/8/bits/c++config.h" 2 3 2441: # 39 "/usr/include/c++/8/iosfwd" 2 3 2441: # 1 "/usr/include/c++/8/bits/stringfwd.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/stringfwd.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/stringfwd.h" 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/memoryfwd.h" 1 3 2441: # 46 "/usr/include/c++/8/bits/memoryfwd.h" 3 2441: 2441: # 47 "/usr/include/c++/8/bits/memoryfwd.h" 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 63 "/usr/include/c++/8/bits/memoryfwd.h" 3 2441: template 2441: class allocator; 2441: 2441: template<> 2441: class allocator; 2441: 2441: 2441: template 2441: struct uses_allocator; 2441: 2441: 2441: 2441: 2441: } 2441: # 41 "/usr/include/c++/8/bits/stringfwd.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct char_traits; 2441: 2441: template<> struct char_traits; 2441: 2441: 2441: template<> struct char_traits; 2441: 2441: 2441: 2441: 2441: template<> struct char_traits; 2441: template<> struct char_traits; 2441: 2441: 2441: namespace __cxx11 { 2441: 2441: template, 2441: typename _Alloc = allocator<_CharT> > 2441: class basic_string; 2441: 2441: 2441: typedef basic_string string; 2441: 2441: 2441: 2441: typedef basic_string wstring; 2441: 2441: 2441: 2441: 2441: 2441: typedef basic_string u16string; 2441: 2441: 2441: typedef basic_string u32string; 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 40 "/usr/include/c++/8/iosfwd" 2 3 2441: # 1 "/usr/include/c++/8/bits/postypes.h" 1 3 2441: # 38 "/usr/include/c++/8/bits/postypes.h" 3 2441: 2441: # 39 "/usr/include/c++/8/bits/postypes.h" 3 2441: 2441: # 1 "/usr/include/c++/8/cwchar" 1 3 2441: # 39 "/usr/include/c++/8/cwchar" 3 2441: 2441: # 40 "/usr/include/c++/8/cwchar" 3 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/wchar.h" 1 3 4 2441: # 27 "/usr/include/wchar.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 1 3 4 2441: # 28 "/usr/include/wchar.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/floatn.h" 1 3 4 2441: # 75 "/usr/include/i386-linux-gnu/bits/floatn.h" 3 4 2441: typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); 2441: # 87 "/usr/include/i386-linux-gnu/bits/floatn.h" 3 4 2441: typedef __float128 _Float128; 2441: # 120 "/usr/include/i386-linux-gnu/bits/floatn.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/floatn-common.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/floatn-common.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/long-double.h" 1 3 4 2441: # 25 "/usr/include/i386-linux-gnu/bits/floatn-common.h" 2 3 4 2441: # 214 "/usr/include/i386-linux-gnu/bits/floatn-common.h" 3 4 2441: typedef float _Float32; 2441: # 251 "/usr/include/i386-linux-gnu/bits/floatn-common.h" 3 4 2441: typedef double _Float64; 2441: # 268 "/usr/include/i386-linux-gnu/bits/floatn-common.h" 3 4 2441: typedef double _Float32x; 2441: # 285 "/usr/include/i386-linux-gnu/bits/floatn-common.h" 3 4 2441: typedef long double _Float64x; 2441: # 121 "/usr/include/i386-linux-gnu/bits/floatn.h" 2 3 4 2441: # 31 "/usr/include/wchar.h" 2 3 4 2441: 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 216 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 3 4 2441: typedef unsigned int size_t; 2441: # 36 "/usr/include/wchar.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stdarg.h" 1 3 4 2441: # 40 "/usr/lib/gcc/i686-linux-gnu/8/include/stdarg.h" 3 4 2441: typedef __builtin_va_list __gnuc_va_list; 2441: # 39 "/usr/include/wchar.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/wint_t.h" 1 3 4 2441: # 20 "/usr/include/i386-linux-gnu/bits/types/wint_t.h" 3 4 2441: typedef unsigned int wint_t; 2441: # 42 "/usr/include/wchar.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/mbstate_t.h" 1 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 2441: # 13 "/usr/include/i386-linux-gnu/bits/types/__mbstate_t.h" 3 4 2441: typedef struct 2441: { 2441: int __count; 2441: union 2441: { 2441: unsigned int __wch; 2441: char __wchb[4]; 2441: } __value; 2441: } __mbstate_t; 2441: # 5 "/usr/include/i386-linux-gnu/bits/types/mbstate_t.h" 2 3 4 2441: 2441: typedef __mbstate_t mbstate_t; 2441: # 43 "/usr/include/wchar.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/__FILE.h" 1 3 4 2441: 2441: 2441: 2441: struct _IO_FILE; 2441: typedef struct _IO_FILE __FILE; 2441: # 44 "/usr/include/wchar.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/FILE.h" 1 3 4 2441: 2441: 2441: 2441: struct _IO_FILE; 2441: 2441: 2441: typedef struct _IO_FILE FILE; 2441: # 47 "/usr/include/wchar.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/locale_t.h" 1 3 4 2441: # 22 "/usr/include/i386-linux-gnu/bits/types/locale_t.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/__locale_t.h" 1 3 4 2441: # 28 "/usr/include/i386-linux-gnu/bits/types/__locale_t.h" 3 4 2441: struct __locale_struct 2441: { 2441: 2441: struct __locale_data *__locales[13]; 2441: 2441: 2441: const unsigned short int *__ctype_b; 2441: const int *__ctype_tolower; 2441: const int *__ctype_toupper; 2441: 2441: 2441: const char *__names[13]; 2441: }; 2441: 2441: typedef struct __locale_struct *__locale_t; 2441: # 23 "/usr/include/i386-linux-gnu/bits/types/locale_t.h" 2 3 4 2441: 2441: typedef __locale_t locale_t; 2441: # 50 "/usr/include/wchar.h" 2 3 4 2441: # 79 "/usr/include/wchar.h" 3 4 2441: extern "C" { 2441: 2441: 2441: 2441: struct tm; 2441: 2441: 2441: 2441: extern wchar_t *wcscpy (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern wchar_t *wcsncpy (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern wchar_t *wcscat (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern wchar_t *wcsncat (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw (); 2441: 2441: 2441: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, 2441: size_t __n) throw (); 2441: 2441: 2441: 2441: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 2441: locale_t __loc) throw (); 2441: 2441: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 2441: size_t __n, locale_t __loc) throw (); 2441: 2441: 2441: 2441: 2441: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw (); 2441: 2441: 2441: 2441: extern size_t wcsxfrm (wchar_t *__restrict __s1, 2441: const wchar_t *__restrict __s2, size_t __n) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: 2441: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, 2441: size_t __n, locale_t __loc) throw (); 2441: 2441: 2441: extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__)); 2441: 2441: 2441: 2441: 2441: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) 2441: throw () __asm ("wcschr") __attribute__ ((__pure__)); 2441: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) 2441: throw () __asm ("wcschr") __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) 2441: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 2441: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) 2441: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 2441: # 181 "/usr/include/wchar.h" 3 4 2441: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) 2441: throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) 2441: throw () __attribute__ ((__pure__)); 2441: 2441: 2441: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) 2441: throw () __attribute__ ((__pure__)); 2441: 2441: 2441: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) 2441: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 2441: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, 2441: const wchar_t *__accept) 2441: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) 2441: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 2441: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, 2441: const wchar_t *__needle) 2441: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wchar_t *wcstok (wchar_t *__restrict __s, 2441: const wchar_t *__restrict __delim, 2441: wchar_t **__restrict __ptr) throw (); 2441: 2441: 2441: extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) 2441: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 2441: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, 2441: const wchar_t *__needle) 2441: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 2441: # 240 "/usr/include/wchar.h" 3 4 2441: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) 2441: throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) 2441: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 2441: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, 2441: size_t __n) 2441: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 2441: throw () __attribute__ ((__pure__)); 2441: 2441: 2441: extern wchar_t *wmemcpy (wchar_t *__restrict __s1, 2441: const wchar_t *__restrict __s2, size_t __n) throw (); 2441: 2441: 2441: 2441: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) 2441: throw (); 2441: 2441: 2441: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); 2441: 2441: 2441: 2441: 2441: extern wchar_t *wmempcpy (wchar_t *__restrict __s1, 2441: const wchar_t *__restrict __s2, size_t __n) 2441: throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t btowc (int __c) throw (); 2441: 2441: 2441: 2441: extern int wctob (wint_t __c) throw (); 2441: 2441: 2441: 2441: extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: extern size_t mbrtowc (wchar_t *__restrict __pwc, 2441: const char *__restrict __s, size_t __n, 2441: mbstate_t *__restrict __p) throw (); 2441: 2441: 2441: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, 2441: mbstate_t *__restrict __ps) throw (); 2441: 2441: 2441: extern size_t __mbrlen (const char *__restrict __s, size_t __n, 2441: mbstate_t *__restrict __ps) throw (); 2441: extern size_t mbrlen (const char *__restrict __s, size_t __n, 2441: mbstate_t *__restrict __ps) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t __btowc_alias (int __c) __asm ("btowc"); 2441: extern __inline __attribute__ ((__gnu_inline__)) wint_t 2441: __attribute__ ((__leaf__)) btowc (int __c) throw () 2441: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' 2441: ? (wint_t) __c : __btowc_alias (__c)); } 2441: 2441: extern int __wctob_alias (wint_t __c) __asm ("wctob"); 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: __attribute__ ((__leaf__)) wctob (wint_t __wc) throw () 2441: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' 2441: ? (int) __wc : __wctob_alias (__wc)); } 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) size_t 2441: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () 2441: 2441: { return (__ps != __null 2441: ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } 2441: 2441: 2441: 2441: 2441: extern size_t mbsrtowcs (wchar_t *__restrict __dst, 2441: const char **__restrict __src, size_t __len, 2441: mbstate_t *__restrict __ps) throw (); 2441: 2441: 2441: 2441: extern size_t wcsrtombs (char *__restrict __dst, 2441: const wchar_t **__restrict __src, size_t __len, 2441: mbstate_t *__restrict __ps) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern size_t mbsnrtowcs (wchar_t *__restrict __dst, 2441: const char **__restrict __src, size_t __nmc, 2441: size_t __len, mbstate_t *__restrict __ps) throw (); 2441: 2441: 2441: 2441: extern size_t wcsnrtombs (char *__restrict __dst, 2441: const wchar_t **__restrict __src, 2441: size_t __nwc, size_t __len, 2441: mbstate_t *__restrict __ps) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int wcwidth (wchar_t __c) throw (); 2441: 2441: 2441: 2441: extern int wcswidth (const wchar_t *__s, size_t __n) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern double wcstod (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: 2441: 2441: 2441: extern float wcstof (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: extern long double wcstold (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: # 396 "/usr/include/wchar.h" 3 4 2441: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: 2441: 2441: 2441: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: 2441: 2441: 2441: extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: 2441: 2441: 2441: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: 2441: 2441: 2441: extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr) throw (); 2441: # 428 "/usr/include/wchar.h" 3 4 2441: extern long int wcstol (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, int __base) throw (); 2441: 2441: 2441: 2441: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, int __base) 2441: throw (); 2441: 2441: 2441: 2441: 2441: __extension__ 2441: extern long long int wcstoll (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, int __base) 2441: throw (); 2441: 2441: 2441: 2441: __extension__ 2441: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: int __base) throw (); 2441: 2441: 2441: 2441: 2441: 2441: __extension__ 2441: extern long long int wcstoq (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, int __base) 2441: throw (); 2441: 2441: 2441: 2441: __extension__ 2441: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: int __base) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int wcstol_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, int __base, 2441: locale_t __loc) throw (); 2441: 2441: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: int __base, locale_t __loc) throw (); 2441: 2441: __extension__ 2441: extern long long int wcstoll_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: int __base, locale_t __loc) throw (); 2441: 2441: __extension__ 2441: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: int __base, locale_t __loc) 2441: throw (); 2441: 2441: extern double wcstod_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, locale_t __loc) 2441: throw (); 2441: 2441: extern float wcstof_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, locale_t __loc) 2441: throw (); 2441: 2441: extern long double wcstold_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: locale_t __loc) throw (); 2441: # 511 "/usr/include/wchar.h" 3 4 2441: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, 2441: wchar_t **__restrict __endptr, 2441: locale_t __loc) throw (); 2441: # 551 "/usr/include/wchar.h" 3 4 2441: extern wchar_t *wcpcpy (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src) throw (); 2441: 2441: 2441: 2441: extern wchar_t *wcpncpy (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, size_t __n) 2441: throw (); 2441: # 567 "/usr/include/wchar.h" 3 4 2441: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern int fwide (__FILE *__fp, int __mode) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fwprintf (__FILE *__restrict __stream, 2441: const wchar_t *__restrict __format, ...) 2441: ; 2441: 2441: 2441: 2441: 2441: extern int wprintf (const wchar_t *__restrict __format, ...) 2441: ; 2441: 2441: extern int swprintf (wchar_t *__restrict __s, size_t __n, 2441: const wchar_t *__restrict __format, ...) 2441: throw () ; 2441: 2441: 2441: 2441: 2441: 2441: extern int vfwprintf (__FILE *__restrict __s, 2441: const wchar_t *__restrict __format, 2441: __gnuc_va_list __arg) 2441: ; 2441: 2441: 2441: 2441: 2441: extern int vwprintf (const wchar_t *__restrict __format, 2441: __gnuc_va_list __arg) 2441: ; 2441: 2441: 2441: extern int vswprintf (wchar_t *__restrict __s, size_t __n, 2441: const wchar_t *__restrict __format, 2441: __gnuc_va_list __arg) 2441: throw () ; 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fwscanf (__FILE *__restrict __stream, 2441: const wchar_t *__restrict __format, ...) 2441: ; 2441: 2441: 2441: 2441: 2441: extern int wscanf (const wchar_t *__restrict __format, ...) 2441: ; 2441: 2441: extern int swscanf (const wchar_t *__restrict __s, 2441: const wchar_t *__restrict __format, ...) 2441: throw () ; 2441: # 673 "/usr/include/wchar.h" 3 4 2441: extern int vfwscanf (__FILE *__restrict __s, 2441: const wchar_t *__restrict __format, 2441: __gnuc_va_list __arg) 2441: ; 2441: 2441: 2441: 2441: 2441: extern int vwscanf (const wchar_t *__restrict __format, 2441: __gnuc_va_list __arg) 2441: ; 2441: 2441: extern int vswscanf (const wchar_t *__restrict __s, 2441: const wchar_t *__restrict __format, 2441: __gnuc_va_list __arg) 2441: throw () ; 2441: # 727 "/usr/include/wchar.h" 3 4 2441: extern wint_t fgetwc (__FILE *__stream); 2441: extern wint_t getwc (__FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t getwchar (void); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t fputwc (wchar_t __wc, __FILE *__stream); 2441: extern wint_t putwc (wchar_t __wc, __FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t putwchar (wchar_t __wc); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, 2441: __FILE *__restrict __stream); 2441: 2441: 2441: 2441: 2441: 2441: extern int fputws (const wchar_t *__restrict __ws, 2441: __FILE *__restrict __stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t ungetwc (wint_t __wc, __FILE *__stream); 2441: # 782 "/usr/include/wchar.h" 3 4 2441: extern wint_t getwc_unlocked (__FILE *__stream); 2441: extern wint_t getwchar_unlocked (void); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t fgetwc_unlocked (__FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); 2441: # 808 "/usr/include/wchar.h" 3 4 2441: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); 2441: extern wint_t putwchar_unlocked (wchar_t __wc); 2441: # 818 "/usr/include/wchar.h" 3 4 2441: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, 2441: __FILE *__restrict __stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fputws_unlocked (const wchar_t *__restrict __ws, 2441: __FILE *__restrict __stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, 2441: const wchar_t *__restrict __format, 2441: const struct tm *__restrict __tp) throw (); 2441: 2441: 2441: 2441: 2441: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, 2441: const wchar_t *__restrict __format, 2441: const struct tm *__restrict __tp, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/wchar2.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/wchar2.h" 3 4 2441: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, 2441: const wchar_t *__restrict __s2, size_t __n, 2441: size_t __ns1) throw (); 2441: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmemcpy") 2441: 2441: 2441: ; 2441: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemcpy_chk") 2441: 2441: 2441: 2441: __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 2441: 2441: { 2441: if (__builtin_object_size (__s1, 0) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n)) 2441: return __wmemcpy_chk (__s1, __s2, __n, 2441: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 2441: 2441: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 2441: return __wmemcpy_chk_warn (__s1, __s2, __n, 2441: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 2441: } 2441: return __wmemcpy_alias (__s1, __s2, __n); 2441: } 2441: 2441: 2441: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, 2441: size_t __n, size_t __ns1) throw (); 2441: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __asm__ ("" "wmemmove") 2441: 2441: ; 2441: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemmove_chk") 2441: 2441: 2441: __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () 2441: { 2441: if (__builtin_object_size (__s1, 0) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n)) 2441: return __wmemmove_chk (__s1, __s2, __n, 2441: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 2441: 2441: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 2441: return __wmemmove_chk_warn (__s1, __s2, __n, 2441: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 2441: } 2441: return __wmemmove_alias (__s1, __s2, __n); 2441: } 2441: 2441: 2441: 2441: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, 2441: const wchar_t *__restrict __s2, size_t __n, 2441: size_t __ns1) throw (); 2441: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmempcpy") 2441: 2441: 2441: ; 2441: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmempcpy_chk") 2441: 2441: 2441: 2441: __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 2441: 2441: { 2441: if (__builtin_object_size (__s1, 0) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n)) 2441: return __wmempcpy_chk (__s1, __s2, __n, 2441: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 2441: 2441: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 2441: return __wmempcpy_chk_warn (__s1, __s2, __n, 2441: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 2441: } 2441: return __wmempcpy_alias (__s1, __s2, __n); 2441: } 2441: 2441: 2441: 2441: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, 2441: size_t __ns) throw (); 2441: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm__ ("" "wmemset") 2441: ; 2441: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw () __asm__ ("" "__wmemset_chk") 2441: 2441: 2441: __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw () 2441: { 2441: if (__builtin_object_size (__s, 0) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n)) 2441: return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); 2441: 2441: if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t)) 2441: return __wmemset_chk_warn (__s, __c, __n, 2441: __builtin_object_size (__s, 0) / sizeof (wchar_t)); 2441: } 2441: return __wmemset_alias (__s, __c, __n); 2441: } 2441: 2441: 2441: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, 2441: size_t __n) throw (); 2441: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscpy") 2441: 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 2441: { 2441: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 2441: return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: return __wcscpy_alias (__dest, __src); 2441: } 2441: 2441: 2441: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, 2441: size_t __destlen) throw (); 2441: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcpcpy") 2441: 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 2441: { 2441: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 2441: return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: return __wcpcpy_alias (__dest, __src); 2441: } 2441: 2441: 2441: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, size_t __n, 2441: size_t __destlen) throw (); 2441: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncpy") 2441: 2441: 2441: ; 2441: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcsncpy_chk") 2441: 2441: 2441: 2441: __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n)) 2441: return __wcsncpy_chk (__dest, __src, __n, 2441: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 2441: return __wcsncpy_chk_warn (__dest, __src, __n, 2441: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: } 2441: return __wcsncpy_alias (__dest, __src, __n); 2441: } 2441: 2441: 2441: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, size_t __n, 2441: size_t __destlen) throw (); 2441: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcpncpy") 2441: 2441: 2441: ; 2441: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcpncpy_chk") 2441: 2441: 2441: 2441: __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n)) 2441: return __wcpncpy_chk (__dest, __src, __n, 2441: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 2441: return __wcpncpy_chk_warn (__dest, __src, __n, 2441: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: } 2441: return __wcpncpy_alias (__dest, __src, __n); 2441: } 2441: 2441: 2441: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, 2441: size_t __destlen) throw (); 2441: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscat") 2441: 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 2441: { 2441: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 2441: return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: return __wcscat_alias (__dest, __src); 2441: } 2441: 2441: 2441: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, 2441: const wchar_t *__restrict __src, 2441: size_t __n, size_t __destlen) throw (); 2441: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncat") 2441: 2441: 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 2441: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 2441: return __wcsncat_chk (__dest, __src, __n, 2441: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 2441: return __wcsncat_alias (__dest, __src, __n); 2441: } 2441: 2441: 2441: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, 2441: int __flag, size_t __s_len, 2441: const wchar_t *__restrict __format, ...) 2441: throw () ; 2441: 2441: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () __asm__ ("" "swprintf") 2441: 2441: 2441: ; 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () 2441: 2441: { 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 2441: return __swprintf_chk (__s, __n, 2 - 1, 2441: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 2441: __fmt, __builtin_va_arg_pack ()); 2441: return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ()); 2441: } 2441: # 303 "/usr/include/i386-linux-gnu/bits/wchar2.h" 3 4 2441: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, 2441: int __flag, size_t __s_len, 2441: const wchar_t *__restrict __format, 2441: __gnuc_va_list __arg) 2441: throw () ; 2441: 2441: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () __asm__ ("" "vswprintf") 2441: 2441: 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () 2441: 2441: { 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 2441: return __vswprintf_chk (__s, __n, 2 - 1, 2441: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap); 2441: return __vswprintf_alias (__s, __n, __fmt, __ap); 2441: } 2441: 2441: 2441: 2441: 2441: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, 2441: const wchar_t *__restrict __format, ...); 2441: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, 2441: ...); 2441: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, 2441: const wchar_t *__restrict __format, 2441: __gnuc_va_list __ap); 2441: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, 2441: __gnuc_va_list __ap); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: wprintf (const wchar_t *__restrict __fmt, ...) 2441: { 2441: return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) 2441: { 2441: return __fwprintf_chk (__stream, 2 - 1, __fmt, 2441: __builtin_va_arg_pack ()); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 2441: { 2441: return __vwprintf_chk (2 - 1, __fmt, __ap); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: vfwprintf (__FILE *__restrict __stream, 2441: const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 2441: { 2441: return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap); 2441: } 2441: 2441: 2441: 2441: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, 2441: __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws") 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk") 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 2441: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 2441: { 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n) || __n <= 0) 2441: return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 2441: __n, __stream); 2441: 2441: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 2441: return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 2441: __n, __stream); 2441: } 2441: return __fgetws_alias (__s, __n, __stream); 2441: } 2441: 2441: 2441: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, 2441: int __n, __FILE *__restrict __stream) 2441: __attribute__ ((__warn_unused_result__)); 2441: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked") 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk") 2441: 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 2441: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 2441: { 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n) || __n <= 0) 2441: return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 2441: __n, __stream); 2441: 2441: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 2441: return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 2441: __n, __stream); 2441: } 2441: return __fgetws_unlocked_alias (__s, __n, __stream); 2441: } 2441: 2441: 2441: 2441: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, 2441: mbstate_t *__restrict __p, 2441: size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); 2441: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcrtomb") 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 2441: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () 2441: 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 2441: return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1)); 2441: return __wcrtomb_alias (__s, __wchar, __ps); 2441: } 2441: 2441: 2441: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, 2441: const char **__restrict __src, 2441: size_t __len, mbstate_t *__restrict __ps, 2441: size_t __dstlen) throw (); 2441: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsrtowcs") 2441: 2441: 2441: 2441: ; 2441: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsrtowcs_chk") 2441: 2441: 2441: 2441: 2441: __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 2441: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__len)) 2441: return __mbsrtowcs_chk (__dst, __src, __len, __ps, 2441: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 2441: 2441: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 2441: return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, 2441: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 2441: } 2441: return __mbsrtowcs_alias (__dst, __src, __len, __ps); 2441: } 2441: 2441: 2441: extern size_t __wcsrtombs_chk (char *__restrict __dst, 2441: const wchar_t **__restrict __src, 2441: size_t __len, mbstate_t *__restrict __ps, 2441: size_t __dstlen) throw (); 2441: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsrtombs") 2441: 2441: 2441: 2441: ; 2441: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsrtombs_chk") 2441: 2441: 2441: 2441: 2441: __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len"))); 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 2441: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__len)) 2441: return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 2441: 2441: if (__len > __builtin_object_size (__dst, 2 > 1)) 2441: return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 2441: } 2441: return __wcsrtombs_alias (__dst, __src, __len, __ps); 2441: } 2441: 2441: 2441: 2441: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, 2441: const char **__restrict __src, size_t __nmc, 2441: size_t __len, mbstate_t *__restrict __ps, 2441: size_t __dstlen) throw (); 2441: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsnrtowcs") 2441: 2441: 2441: 2441: ; 2441: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsnrtowcs_chk") 2441: 2441: 2441: 2441: 2441: __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 2441: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__len)) 2441: return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, 2441: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 2441: 2441: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 2441: return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, 2441: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 2441: } 2441: return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); 2441: } 2441: 2441: 2441: extern size_t __wcsnrtombs_chk (char *__restrict __dst, 2441: const wchar_t **__restrict __src, 2441: size_t __nwc, size_t __len, 2441: mbstate_t *__restrict __ps, size_t __dstlen) 2441: throw (); 2441: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsnrtombs") 2441: 2441: 2441: 2441: ; 2441: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsnrtombs_chk") 2441: 2441: 2441: 2441: 2441: 2441: __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len"))); 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 2441: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__len)) 2441: return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, 2441: __builtin_object_size (__dst, 2 > 1)); 2441: 2441: if (__len > __builtin_object_size (__dst, 2 > 1)) 2441: return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, 2441: __builtin_object_size (__dst, 2 > 1)); 2441: } 2441: return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); 2441: } 2441: # 851 "/usr/include/wchar.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 45 "/usr/include/c++/8/cwchar" 2 3 2441: # 62 "/usr/include/c++/8/cwchar" 3 2441: namespace std 2441: { 2441: using ::mbstate_t; 2441: } 2441: # 135 "/usr/include/c++/8/cwchar" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: using ::wint_t; 2441: 2441: using ::btowc; 2441: using ::fgetwc; 2441: using ::fgetws; 2441: using ::fputwc; 2441: using ::fputws; 2441: using ::fwide; 2441: using ::fwprintf; 2441: using ::fwscanf; 2441: using ::getwc; 2441: using ::getwchar; 2441: using ::mbrlen; 2441: using ::mbrtowc; 2441: using ::mbsinit; 2441: using ::mbsrtowcs; 2441: using ::putwc; 2441: using ::putwchar; 2441: 2441: using ::swprintf; 2441: 2441: using ::swscanf; 2441: using ::ungetwc; 2441: using ::vfwprintf; 2441: 2441: using ::vfwscanf; 2441: 2441: 2441: using ::vswprintf; 2441: 2441: 2441: using ::vswscanf; 2441: 2441: using ::vwprintf; 2441: 2441: using ::vwscanf; 2441: 2441: using ::wcrtomb; 2441: using ::wcscat; 2441: using ::wcscmp; 2441: using ::wcscoll; 2441: using ::wcscpy; 2441: using ::wcscspn; 2441: using ::wcsftime; 2441: using ::wcslen; 2441: using ::wcsncat; 2441: using ::wcsncmp; 2441: using ::wcsncpy; 2441: using ::wcsrtombs; 2441: using ::wcsspn; 2441: using ::wcstod; 2441: 2441: using ::wcstof; 2441: 2441: using ::wcstok; 2441: using ::wcstol; 2441: using ::wcstoul; 2441: using ::wcsxfrm; 2441: using ::wctob; 2441: using ::wmemcmp; 2441: using ::wmemcpy; 2441: using ::wmemmove; 2441: using ::wmemset; 2441: using ::wprintf; 2441: using ::wscanf; 2441: using ::wcschr; 2441: using ::wcspbrk; 2441: using ::wcsrchr; 2441: using ::wcsstr; 2441: using ::wmemchr; 2441: # 232 "/usr/include/c++/8/cwchar" 3 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace __gnu_cxx 2441: { 2441: 2441: 2441: 2441: 2441: 2441: using ::wcstold; 2441: # 257 "/usr/include/c++/8/cwchar" 3 2441: using ::wcstoll; 2441: using ::wcstoull; 2441: 2441: } 2441: 2441: namespace std 2441: { 2441: using ::__gnu_cxx::wcstold; 2441: using ::__gnu_cxx::wcstoll; 2441: using ::__gnu_cxx::wcstoull; 2441: } 2441: # 277 "/usr/include/c++/8/cwchar" 3 2441: namespace std 2441: { 2441: 2441: using std::wcstof; 2441: 2441: 2441: using std::vfwscanf; 2441: 2441: 2441: using std::vswscanf; 2441: 2441: 2441: using std::vwscanf; 2441: 2441: 2441: 2441: using std::wcstold; 2441: using std::wcstoll; 2441: using std::wcstoull; 2441: 2441: } 2441: # 41 "/usr/include/c++/8/bits/postypes.h" 2 3 2441: # 68 "/usr/include/c++/8/bits/postypes.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 90 "/usr/include/c++/8/bits/postypes.h" 3 2441: typedef long long streamoff; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef ptrdiff_t streamsize; 2441: # 111 "/usr/include/c++/8/bits/postypes.h" 3 2441: template 2441: class fpos 2441: { 2441: private: 2441: streamoff _M_off; 2441: _StateT _M_state; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: fpos() 2441: : _M_off(0), _M_state() { } 2441: # 133 "/usr/include/c++/8/bits/postypes.h" 3 2441: fpos(streamoff __off) 2441: : _M_off(__off), _M_state() { } 2441: 2441: 2441: operator streamoff() const { return _M_off; } 2441: 2441: 2441: void 2441: state(_StateT __st) 2441: { _M_state = __st; } 2441: 2441: 2441: _StateT 2441: state() const 2441: { return _M_state; } 2441: 2441: 2441: 2441: 2441: 2441: fpos& 2441: operator+=(streamoff __off) 2441: { 2441: _M_off += __off; 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: fpos& 2441: operator-=(streamoff __off) 2441: { 2441: _M_off -= __off; 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: fpos 2441: operator+(streamoff __off) const 2441: { 2441: fpos __pos(*this); 2441: __pos += __off; 2441: return __pos; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: fpos 2441: operator-(streamoff __off) const 2441: { 2441: fpos __pos(*this); 2441: __pos -= __off; 2441: return __pos; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: streamoff 2441: operator-(const fpos& __other) const 2441: { return _M_off - __other._M_off; } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 2441: { return streamoff(__lhs) == streamoff(__rhs); } 2441: 2441: template 2441: inline bool 2441: operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 2441: { return streamoff(__lhs) != streamoff(__rhs); } 2441: 2441: 2441: 2441: 2441: 2441: typedef fpos streampos; 2441: 2441: typedef fpos wstreampos; 2441: 2441: 2441: 2441: typedef fpos u16streampos; 2441: 2441: typedef fpos u32streampos; 2441: 2441: 2441: 2441: } 2441: # 41 "/usr/include/c++/8/iosfwd" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 74 "/usr/include/c++/8/iosfwd" 3 2441: class ios_base; 2441: 2441: template > 2441: class basic_ios; 2441: 2441: template > 2441: class basic_streambuf; 2441: 2441: template > 2441: class basic_istream; 2441: 2441: template > 2441: class basic_ostream; 2441: 2441: template > 2441: class basic_iostream; 2441: 2441: 2441: namespace __cxx11 { 2441: 2441: template, 2441: typename _Alloc = allocator<_CharT> > 2441: class basic_stringbuf; 2441: 2441: template, 2441: typename _Alloc = allocator<_CharT> > 2441: class basic_istringstream; 2441: 2441: template, 2441: typename _Alloc = allocator<_CharT> > 2441: class basic_ostringstream; 2441: 2441: template, 2441: typename _Alloc = allocator<_CharT> > 2441: class basic_stringstream; 2441: 2441: } 2441: 2441: template > 2441: class basic_filebuf; 2441: 2441: template > 2441: class basic_ifstream; 2441: 2441: template > 2441: class basic_ofstream; 2441: 2441: template > 2441: class basic_fstream; 2441: 2441: template > 2441: class istreambuf_iterator; 2441: 2441: template > 2441: class ostreambuf_iterator; 2441: 2441: 2441: 2441: typedef basic_ios ios; 2441: 2441: 2441: typedef basic_streambuf streambuf; 2441: 2441: 2441: typedef basic_istream istream; 2441: 2441: 2441: typedef basic_ostream ostream; 2441: 2441: 2441: typedef basic_iostream iostream; 2441: 2441: 2441: typedef basic_stringbuf stringbuf; 2441: 2441: 2441: typedef basic_istringstream istringstream; 2441: 2441: 2441: typedef basic_ostringstream ostringstream; 2441: 2441: 2441: typedef basic_stringstream stringstream; 2441: 2441: 2441: typedef basic_filebuf filebuf; 2441: 2441: 2441: typedef basic_ifstream ifstream; 2441: 2441: 2441: typedef basic_ofstream ofstream; 2441: 2441: 2441: typedef basic_fstream fstream; 2441: 2441: 2441: 2441: typedef basic_ios wios; 2441: 2441: 2441: typedef basic_streambuf wstreambuf; 2441: 2441: 2441: typedef basic_istream wistream; 2441: 2441: 2441: typedef basic_ostream wostream; 2441: 2441: 2441: typedef basic_iostream wiostream; 2441: 2441: 2441: typedef basic_stringbuf wstringbuf; 2441: 2441: 2441: typedef basic_istringstream wistringstream; 2441: 2441: 2441: typedef basic_ostringstream wostringstream; 2441: 2441: 2441: typedef basic_stringstream wstringstream; 2441: 2441: 2441: typedef basic_filebuf wfilebuf; 2441: 2441: 2441: typedef basic_ifstream wifstream; 2441: 2441: 2441: typedef basic_ofstream wofstream; 2441: 2441: 2441: typedef basic_fstream wfstream; 2441: 2441: 2441: 2441: 2441: } 2441: # 35 "/usr/include/gmpxx.h" 2 3 4 2441: 2441: # 1 "/usr/include/c++/8/cstring" 1 3 4 2441: # 39 "/usr/include/c++/8/cstring" 3 4 2441: 2441: # 40 "/usr/include/c++/8/cstring" 3 2441: 2441: 2441: # 1 "/usr/include/string.h" 1 3 4 2441: # 26 "/usr/include/string.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 1 3 4 2441: # 27 "/usr/include/string.h" 2 3 4 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 34 "/usr/include/string.h" 2 3 4 2441: # 42 "/usr/include/string.h" 3 4 2441: extern void *memcpy (void *__restrict __dest, const void *__restrict __src, 2441: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern void *memmove (void *__dest, const void *__src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: 2441: extern void *memccpy (void *__restrict __dest, const void *__restrict __src, 2441: int __c, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int memcmp (const void *__s1, const void *__s2, size_t __n) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern "C++" 2441: { 2441: extern void *memchr (void *__s, int __c, size_t __n) 2441: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern const void *memchr (const void *__s, int __c, size_t __n) 2441: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void * 2441: memchr (void *__s, int __c, size_t __n) throw () 2441: { 2441: return __builtin_memchr (__s, __c, __n); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void * 2441: memchr (const void *__s, int __c, size_t __n) throw () 2441: { 2441: return __builtin_memchr (__s, __c, __n); 2441: } 2441: 2441: } 2441: # 98 "/usr/include/string.h" 3 4 2441: extern "C++" void *rawmemchr (void *__s, int __c) 2441: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern "C++" const void *rawmemchr (const void *__s, int __c) 2441: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" void *memrchr (void *__s, int __c, size_t __n) 2441: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) 2441: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: # 121 "/usr/include/string.h" 3 4 2441: extern char *strcpy (char *__restrict __dest, const char *__restrict __src) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern char *strncpy (char *__restrict __dest, 2441: const char *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern char *strcat (char *__restrict __dest, const char *__restrict __src) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern char *strncat (char *__restrict __dest, const char *__restrict __src, 2441: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int strcmp (const char *__s1, const char *__s2) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern int strncmp (const char *__s1, const char *__s2, size_t __n) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int strcoll (const char *__s1, const char *__s2) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern size_t strxfrm (char *__restrict __dest, 2441: const char *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 2441: 2441: 2441: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, 2441: locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); 2441: 2441: 2441: 2441: 2441: 2441: extern char *strdup (const char *__s) 2441: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern char *strndup (const char *__string, size_t __n) 2441: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 2441: # 203 "/usr/include/string.h" 3 4 2441: extern "C++" 2441: { 2441: extern char *strchr (char *__s, int __c) 2441: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern const char *strchr (const char *__s, int __c) 2441: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 2441: strchr (char *__s, int __c) throw () 2441: { 2441: return __builtin_strchr (__s, __c); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 2441: strchr (const char *__s, int __c) throw () 2441: { 2441: return __builtin_strchr (__s, __c); 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" 2441: { 2441: extern char *strrchr (char *__s, int __c) 2441: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern const char *strrchr (const char *__s, int __c) 2441: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 2441: strrchr (char *__s, int __c) throw () 2441: { 2441: return __builtin_strrchr (__s, __c); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 2441: strrchr (const char *__s, int __c) throw () 2441: { 2441: return __builtin_strrchr (__s, __c); 2441: } 2441: 2441: } 2441: # 260 "/usr/include/string.h" 3 4 2441: extern "C++" char *strchrnul (char *__s, int __c) 2441: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern "C++" const char *strchrnul (const char *__s, int __c) 2441: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: # 272 "/usr/include/string.h" 3 4 2441: extern size_t strcspn (const char *__s, const char *__reject) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern size_t strspn (const char *__s, const char *__accept) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern "C++" 2441: { 2441: extern char *strpbrk (char *__s, const char *__accept) 2441: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: extern const char *strpbrk (const char *__s, const char *__accept) 2441: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 2441: strpbrk (char *__s, const char *__accept) throw () 2441: { 2441: return __builtin_strpbrk (__s, __accept); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 2441: strpbrk (const char *__s, const char *__accept) throw () 2441: { 2441: return __builtin_strpbrk (__s, __accept); 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" 2441: { 2441: extern char *strstr (char *__haystack, const char *__needle) 2441: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: extern const char *strstr (const char *__haystack, const char *__needle) 2441: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 2441: strstr (char *__haystack, const char *__needle) throw () 2441: { 2441: return __builtin_strstr (__haystack, __needle); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 2441: strstr (const char *__haystack, const char *__needle) throw () 2441: { 2441: return __builtin_strstr (__haystack, __needle); 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern char *strtok (char *__restrict __s, const char *__restrict __delim) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern char *__strtok_r (char *__restrict __s, 2441: const char *__restrict __delim, 2441: char **__restrict __save_ptr) 2441: throw () __attribute__ ((__nonnull__ (2, 3))); 2441: 2441: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, 2441: char **__restrict __save_ptr) 2441: throw () __attribute__ ((__nonnull__ (2, 3))); 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" char *strcasestr (char *__haystack, const char *__needle) 2441: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: extern "C++" const char *strcasestr (const char *__haystack, 2441: const char *__needle) 2441: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: # 368 "/usr/include/string.h" 3 4 2441: extern void *memmem (const void *__haystack, size_t __haystacklen, 2441: const void *__needle, size_t __needlelen) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: extern void *__mempcpy (void *__restrict __dest, 2441: const void *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: extern void *mempcpy (void *__restrict __dest, 2441: const void *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: extern size_t strlen (const char *__s) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: extern size_t strnlen (const char *__string, size_t __maxlen) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: extern char *strerror (int __errnum) throw (); 2441: # 420 "/usr/include/string.h" 3 4 2441: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) 2441: throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: extern char *strerror_l (int __errnum, locale_t __l) throw (); 2441: 2441: 2441: 2441: # 1 "/usr/include/strings.h" 1 3 4 2441: # 23 "/usr/include/strings.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 24 "/usr/include/strings.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: extern int bcmp (const void *__s1, const void *__s2, size_t __n) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern void bcopy (const void *__src, void *__dest, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern "C++" 2441: { 2441: extern char *index (char *__s, int __c) 2441: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern const char *index (const char *__s, int __c) 2441: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 2441: index (char *__s, int __c) throw () 2441: { 2441: return __builtin_index (__s, __c); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 2441: index (const char *__s, int __c) throw () 2441: { 2441: return __builtin_index (__s, __c); 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" 2441: { 2441: extern char *rindex (char *__s, int __c) 2441: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: extern const char *rindex (const char *__s, int __c) 2441: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 2441: rindex (char *__s, int __c) throw () 2441: { 2441: return __builtin_rindex (__s, __c); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 2441: rindex (const char *__s, int __c) throw () 2441: { 2441: return __builtin_rindex (__s, __c); 2441: } 2441: 2441: } 2441: # 104 "/usr/include/strings.h" 3 4 2441: extern int ffs (int __i) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: 2441: extern int ffsl (long int __l) throw () __attribute__ ((__const__)); 2441: __extension__ extern int ffsll (long long int __ll) 2441: throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern int strcasecmp (const char *__s1, const char *__s2) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 2441: 2441: 2441: 2441: extern int strncasecmp_l (const char *__s1, const char *__s2, 2441: size_t __n, locale_t __loc) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/strings_fortified.h" 1 3 4 2441: # 22 "/usr/include/i386-linux-gnu/bits/strings_fortified.h" 3 4 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 2441: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) throw () 2441: { 2441: (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 2441: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) throw () 2441: { 2441: (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); 2441: } 2441: # 145 "/usr/include/strings.h" 2 3 4 2441: # 432 "/usr/include/string.h" 2 3 4 2441: 2441: 2441: 2441: extern void explicit_bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern char *strsep (char **__restrict __stringp, 2441: const char *__restrict __delim) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: extern char *strsignal (int __sig) throw (); 2441: 2441: 2441: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern char *__stpncpy (char *__restrict __dest, 2441: const char *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: extern char *stpncpy (char *__restrict __dest, 2441: const char *__restrict __src, size_t __n) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: extern int strverscmp (const char *__s1, const char *__s2) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C++" char *basename (char *__filename) 2441: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 2441: extern "C++" const char *basename (const char *__filename) 2441: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 2441: # 494 "/usr/include/string.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/string_fortified.h" 1 3 4 2441: # 30 "/usr/include/i386-linux-gnu/bits/string_fortified.h" 3 4 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 2441: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 2441: 2441: { 2441: return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 2441: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) throw () 2441: { 2441: return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 2441: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 2441: 2441: { 2441: return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 2441: } 2441: # 58 "/usr/include/i386-linux-gnu/bits/string_fortified.h" 3 4 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 2441: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) throw () 2441: { 2441: # 71 "/usr/include/i386-linux-gnu/bits/string_fortified.h" 3 4 2441: return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); 2441: } 2441: 2441: 2441: 2441: 2441: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 2441: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) throw () 2441: { 2441: __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0)); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 2441: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) throw () 2441: { 2441: return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 2441: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) throw () 2441: { 2441: return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 2441: } 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 2441: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 2441: 2441: { 2441: return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 2441: } 2441: 2441: 2441: extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, 2441: size_t __destlen) throw (); 2441: extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) throw () __asm__ ("" "stpncpy") 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 2441: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) throw () 2441: { 2441: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 2441: && (!__builtin_constant_p (__n) || __n > __builtin_object_size (__dest, 2 > 1))) 2441: return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); 2441: return __stpncpy_alias (__dest, __src, __n); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 2441: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) throw () 2441: { 2441: return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 2441: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 2441: 2441: { 2441: return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 2441: } 2441: # 495 "/usr/include/string.h" 2 3 4 2441: 2441: 2441: 2441: } 2441: # 43 "/usr/include/c++/8/cstring" 2 3 2441: # 71 "/usr/include/c++/8/cstring" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: using ::memchr; 2441: using ::memcmp; 2441: using ::memcpy; 2441: using ::memmove; 2441: using ::memset; 2441: using ::strcat; 2441: using ::strcmp; 2441: using ::strcoll; 2441: using ::strcpy; 2441: using ::strcspn; 2441: using ::strerror; 2441: using ::strlen; 2441: using ::strncat; 2441: using ::strncmp; 2441: using ::strncpy; 2441: using ::strspn; 2441: using ::strtok; 2441: using ::strxfrm; 2441: using ::strchr; 2441: using ::strpbrk; 2441: using ::strrchr; 2441: using ::strstr; 2441: # 120 "/usr/include/c++/8/cstring" 3 2441: 2441: } 2441: # 37 "/usr/include/gmpxx.h" 2 3 4 2441: # 1 "/usr/include/c++/8/limits" 1 3 4 2441: # 40 "/usr/include/c++/8/limits" 3 4 2441: 2441: # 41 "/usr/include/c++/8/limits" 3 2441: # 158 "/usr/include/c++/8/limits" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum float_round_style 2441: { 2441: round_indeterminate = -1, 2441: round_toward_zero = 0, 2441: round_to_nearest = 1, 2441: round_toward_infinity = 2, 2441: round_toward_neg_infinity = 3 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum float_denorm_style 2441: { 2441: 2441: denorm_indeterminate = -1, 2441: 2441: denorm_absent = 0, 2441: 2441: denorm_present = 1 2441: }; 2441: # 202 "/usr/include/c++/8/limits" 3 2441: struct __numeric_limits_base 2441: { 2441: 2441: 2441: static constexpr bool is_specialized = false; 2441: 2441: 2441: 2441: 2441: static constexpr int digits = 0; 2441: 2441: 2441: static constexpr int digits10 = 0; 2441: 2441: 2441: 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: 2441: 2441: static constexpr bool is_signed = false; 2441: 2441: 2441: static constexpr bool is_integer = false; 2441: 2441: 2441: 2441: 2441: static constexpr bool is_exact = false; 2441: 2441: 2441: 2441: static constexpr int radix = 0; 2441: 2441: 2441: 2441: static constexpr int min_exponent = 0; 2441: 2441: 2441: 2441: static constexpr int min_exponent10 = 0; 2441: 2441: 2441: 2441: 2441: static constexpr int max_exponent = 0; 2441: 2441: 2441: 2441: static constexpr int max_exponent10 = 0; 2441: 2441: 2441: static constexpr bool has_infinity = false; 2441: 2441: 2441: 2441: static constexpr bool has_quiet_NaN = false; 2441: 2441: 2441: 2441: static constexpr bool has_signaling_NaN = false; 2441: 2441: 2441: static constexpr float_denorm_style has_denorm = denorm_absent; 2441: 2441: 2441: 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: 2441: 2441: static constexpr bool is_iec559 = false; 2441: 2441: 2441: 2441: 2441: static constexpr bool is_bounded = false; 2441: # 288 "/usr/include/c++/8/limits" 3 2441: static constexpr bool is_modulo = false; 2441: 2441: 2441: static constexpr bool traps = false; 2441: 2441: 2441: static constexpr bool tinyness_before = false; 2441: 2441: 2441: 2441: 2441: static constexpr float_round_style round_style = 2441: round_toward_zero; 2441: }; 2441: # 311 "/usr/include/c++/8/limits" 3 2441: template 2441: struct numeric_limits : public __numeric_limits_base 2441: { 2441: 2441: 2441: static constexpr _Tp 2441: min() noexcept { return _Tp(); } 2441: 2441: 2441: static constexpr _Tp 2441: max() noexcept { return _Tp(); } 2441: 2441: 2441: 2441: 2441: static constexpr _Tp 2441: lowest() noexcept { return _Tp(); } 2441: 2441: 2441: 2441: 2441: static constexpr _Tp 2441: epsilon() noexcept { return _Tp(); } 2441: 2441: 2441: static constexpr _Tp 2441: round_error() noexcept { return _Tp(); } 2441: 2441: 2441: static constexpr _Tp 2441: infinity() noexcept { return _Tp(); } 2441: 2441: 2441: 2441: static constexpr _Tp 2441: quiet_NaN() noexcept { return _Tp(); } 2441: 2441: 2441: 2441: static constexpr _Tp 2441: signaling_NaN() noexcept { return _Tp(); } 2441: 2441: 2441: 2441: 2441: static constexpr _Tp 2441: denorm_min() noexcept { return _Tp(); } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct numeric_limits 2441: : public numeric_limits<_Tp> { }; 2441: 2441: template 2441: struct numeric_limits 2441: : public numeric_limits<_Tp> { }; 2441: 2441: template 2441: struct numeric_limits 2441: : public numeric_limits<_Tp> { }; 2441: # 382 "/usr/include/c++/8/limits" 3 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr bool 2441: min() noexcept { return false; } 2441: 2441: static constexpr bool 2441: max() noexcept { return true; } 2441: 2441: 2441: static constexpr bool 2441: lowest() noexcept { return min(); } 2441: 2441: static constexpr int digits = 1; 2441: static constexpr int digits10 = 0; 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = false; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr bool 2441: epsilon() noexcept { return false; } 2441: 2441: static constexpr bool 2441: round_error() noexcept { return false; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr bool 2441: infinity() noexcept { return false; } 2441: 2441: static constexpr bool 2441: quiet_NaN() noexcept { return false; } 2441: 2441: static constexpr bool 2441: signaling_NaN() noexcept { return false; } 2441: 2441: static constexpr bool 2441: denorm_min() noexcept { return false; } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: 2441: 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr char 2441: min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); } 2441: 2441: static constexpr char 2441: max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); } 2441: 2441: 2441: static constexpr char 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); 2441: static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = ((char)(-1) < 0); 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr char 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr char 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr 2441: char infinity() noexcept { return char(); } 2441: 2441: static constexpr char 2441: quiet_NaN() noexcept { return char(); } 2441: 2441: static constexpr char 2441: signaling_NaN() noexcept { return char(); } 2441: 2441: static constexpr char 2441: denorm_min() noexcept { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = !is_signed; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr signed char 2441: min() noexcept { return -0x7f - 1; } 2441: 2441: static constexpr signed char 2441: max() noexcept { return 0x7f; } 2441: 2441: 2441: static constexpr signed char 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr signed char 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr signed char 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr signed char 2441: infinity() noexcept { return static_cast(0); } 2441: 2441: static constexpr signed char 2441: quiet_NaN() noexcept { return static_cast(0); } 2441: 2441: static constexpr signed char 2441: signaling_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr signed char 2441: denorm_min() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr unsigned char 2441: min() noexcept { return 0; } 2441: 2441: static constexpr unsigned char 2441: max() noexcept { return 0x7f * 2U + 1; } 2441: 2441: 2441: static constexpr unsigned char 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits 2441: = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = false; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr unsigned char 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr unsigned char 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr unsigned char 2441: infinity() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned char 2441: quiet_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned char 2441: signaling_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned char 2441: denorm_min() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = true; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr wchar_t 2441: min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); } 2441: 2441: static constexpr wchar_t 2441: max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); } 2441: 2441: 2441: static constexpr wchar_t 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = ((wchar_t)(-1) < 0); 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr wchar_t 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr wchar_t 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr wchar_t 2441: infinity() noexcept { return wchar_t(); } 2441: 2441: static constexpr wchar_t 2441: quiet_NaN() noexcept { return wchar_t(); } 2441: 2441: static constexpr wchar_t 2441: signaling_NaN() noexcept { return wchar_t(); } 2441: 2441: static constexpr wchar_t 2441: denorm_min() noexcept { return wchar_t(); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = !is_signed; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr char16_t 2441: min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); } 2441: 2441: static constexpr char16_t 2441: max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); } 2441: 2441: static constexpr char16_t 2441: lowest() noexcept { return min(); } 2441: 2441: static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)); 2441: static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136); 2441: static constexpr int max_digits10 = 0; 2441: static constexpr bool is_signed = ((char16_t)(-1) < 0); 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr char16_t 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr char16_t 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr char16_t 2441: infinity() noexcept { return char16_t(); } 2441: 2441: static constexpr char16_t 2441: quiet_NaN() noexcept { return char16_t(); } 2441: 2441: static constexpr char16_t 2441: signaling_NaN() noexcept { return char16_t(); } 2441: 2441: static constexpr char16_t 2441: denorm_min() noexcept { return char16_t(); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = !is_signed; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr char32_t 2441: min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); } 2441: 2441: static constexpr char32_t 2441: max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); } 2441: 2441: static constexpr char32_t 2441: lowest() noexcept { return min(); } 2441: 2441: static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)); 2441: static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136); 2441: static constexpr int max_digits10 = 0; 2441: static constexpr bool is_signed = ((char32_t)(-1) < 0); 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr char32_t 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr char32_t 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr char32_t 2441: infinity() noexcept { return char32_t(); } 2441: 2441: static constexpr char32_t 2441: quiet_NaN() noexcept { return char32_t(); } 2441: 2441: static constexpr char32_t 2441: signaling_NaN() noexcept { return char32_t(); } 2441: 2441: static constexpr char32_t 2441: denorm_min() noexcept { return char32_t(); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = !is_signed; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style = round_toward_zero; 2441: }; 2441: 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr short 2441: min() noexcept { return -0x7fff - 1; } 2441: 2441: static constexpr short 2441: max() noexcept { return 0x7fff; } 2441: 2441: 2441: static constexpr short 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); 2441: static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr short 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr short 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr short 2441: infinity() noexcept { return short(); } 2441: 2441: static constexpr short 2441: quiet_NaN() noexcept { return short(); } 2441: 2441: static constexpr short 2441: signaling_NaN() noexcept { return short(); } 2441: 2441: static constexpr short 2441: denorm_min() noexcept { return short(); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr unsigned short 2441: min() noexcept { return 0; } 2441: 2441: static constexpr unsigned short 2441: max() noexcept { return 0x7fff * 2U + 1; } 2441: 2441: 2441: static constexpr unsigned short 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits 2441: = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = false; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr unsigned short 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr unsigned short 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr unsigned short 2441: infinity() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned short 2441: quiet_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned short 2441: signaling_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned short 2441: denorm_min() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = true; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr int 2441: min() noexcept { return -0x7fffffff - 1; } 2441: 2441: static constexpr int 2441: max() noexcept { return 0x7fffffff; } 2441: 2441: 2441: static constexpr int 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); 2441: static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr int 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr int 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr int 2441: infinity() noexcept { return static_cast(0); } 2441: 2441: static constexpr int 2441: quiet_NaN() noexcept { return static_cast(0); } 2441: 2441: static constexpr int 2441: signaling_NaN() noexcept { return static_cast(0); } 2441: 2441: static constexpr int 2441: denorm_min() noexcept { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr unsigned int 2441: min() noexcept { return 0; } 2441: 2441: static constexpr unsigned int 2441: max() noexcept { return 0x7fffffff * 2U + 1; } 2441: 2441: 2441: static constexpr unsigned int 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits 2441: = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = false; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr unsigned int 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr unsigned int 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr unsigned int 2441: infinity() noexcept { return static_cast(0); } 2441: 2441: static constexpr unsigned int 2441: quiet_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned int 2441: signaling_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned int 2441: denorm_min() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = true; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr long 2441: min() noexcept { return -0x7fffffffL - 1; } 2441: 2441: static constexpr long 2441: max() noexcept { return 0x7fffffffL; } 2441: 2441: 2441: static constexpr long 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); 2441: static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr long 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr long 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr long 2441: infinity() noexcept { return static_cast(0); } 2441: 2441: static constexpr long 2441: quiet_NaN() noexcept { return static_cast(0); } 2441: 2441: static constexpr long 2441: signaling_NaN() noexcept { return static_cast(0); } 2441: 2441: static constexpr long 2441: denorm_min() noexcept { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr unsigned long 2441: min() noexcept { return 0; } 2441: 2441: static constexpr unsigned long 2441: max() noexcept { return 0x7fffffffL * 2UL + 1; } 2441: 2441: 2441: static constexpr unsigned long 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits 2441: = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = false; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr unsigned long 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr unsigned long 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr unsigned long 2441: infinity() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned long 2441: quiet_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned long 2441: signaling_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned long 2441: denorm_min() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = true; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr long long 2441: min() noexcept { return -0x7fffffffffffffffLL - 1; } 2441: 2441: static constexpr long long 2441: max() noexcept { return 0x7fffffffffffffffLL; } 2441: 2441: 2441: static constexpr long long 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits 2441: = (sizeof(long long) * 8 - ((long long)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr long long 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr long long 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr long long 2441: infinity() noexcept { return static_cast(0); } 2441: 2441: static constexpr long long 2441: quiet_NaN() noexcept { return static_cast(0); } 2441: 2441: static constexpr long long 2441: signaling_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr long long 2441: denorm_min() noexcept { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr unsigned long long 2441: min() noexcept { return 0; } 2441: 2441: static constexpr unsigned long long 2441: max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; } 2441: 2441: 2441: static constexpr unsigned long long 2441: lowest() noexcept { return min(); } 2441: 2441: 2441: static constexpr int digits 2441: = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); 2441: static constexpr int digits10 2441: = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136); 2441: 2441: static constexpr int max_digits10 = 0; 2441: 2441: static constexpr bool is_signed = false; 2441: static constexpr bool is_integer = true; 2441: static constexpr bool is_exact = true; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr unsigned long long 2441: epsilon() noexcept { return 0; } 2441: 2441: static constexpr unsigned long long 2441: round_error() noexcept { return 0; } 2441: 2441: static constexpr int min_exponent = 0; 2441: static constexpr int min_exponent10 = 0; 2441: static constexpr int max_exponent = 0; 2441: static constexpr int max_exponent10 = 0; 2441: 2441: static constexpr bool has_infinity = false; 2441: static constexpr bool has_quiet_NaN = false; 2441: static constexpr bool has_signaling_NaN = false; 2441: static constexpr float_denorm_style has_denorm 2441: = denorm_absent; 2441: static constexpr bool has_denorm_loss = false; 2441: 2441: static constexpr unsigned long long 2441: infinity() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned long long 2441: quiet_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned long long 2441: signaling_NaN() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr unsigned long long 2441: denorm_min() noexcept 2441: { return static_cast(0); } 2441: 2441: static constexpr bool is_iec559 = false; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = true; 2441: 2441: static constexpr bool traps = true; 2441: static constexpr bool tinyness_before = false; 2441: static constexpr float_round_style round_style 2441: = round_toward_zero; 2441: }; 2441: # 1593 "/usr/include/c++/8/limits" 3 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr float 2441: min() noexcept { return 1.17549435082228750796873653722224568e-38F; } 2441: 2441: static constexpr float 2441: max() noexcept { return 3.40282346638528859811704183484516925e+38F; } 2441: 2441: 2441: static constexpr float 2441: lowest() noexcept { return -3.40282346638528859811704183484516925e+38F; } 2441: 2441: 2441: static constexpr int digits = 24; 2441: static constexpr int digits10 = 6; 2441: 2441: static constexpr int max_digits10 2441: = (2 + (24) * 643L / 2136); 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = false; 2441: static constexpr bool is_exact = false; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr float 2441: epsilon() noexcept { return 1.19209289550781250000000000000000000e-7F; } 2441: 2441: static constexpr float 2441: round_error() noexcept { return 0.5F; } 2441: 2441: static constexpr int min_exponent = (-125); 2441: static constexpr int min_exponent10 = (-37); 2441: static constexpr int max_exponent = 128; 2441: static constexpr int max_exponent10 = 38; 2441: 2441: static constexpr bool has_infinity = 1; 2441: static constexpr bool has_quiet_NaN = 1; 2441: static constexpr bool has_signaling_NaN = has_quiet_NaN; 2441: static constexpr float_denorm_style has_denorm 2441: = bool(1) ? denorm_present : denorm_absent; 2441: static constexpr bool has_denorm_loss 2441: = false; 2441: 2441: static constexpr float 2441: infinity() noexcept { return __builtin_huge_valf(); } 2441: 2441: static constexpr float 2441: quiet_NaN() noexcept { return __builtin_nanf(""); } 2441: 2441: static constexpr float 2441: signaling_NaN() noexcept { return __builtin_nansf(""); } 2441: 2441: static constexpr float 2441: denorm_min() noexcept { return 1.40129846432481707092372958328991613e-45F; } 2441: 2441: static constexpr bool is_iec559 2441: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = false; 2441: static constexpr bool tinyness_before 2441: = false; 2441: static constexpr float_round_style round_style 2441: = round_to_nearest; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr double 2441: min() noexcept { return double(2.22507385850720138309023271733240406e-308L); } 2441: 2441: static constexpr double 2441: max() noexcept { return double(1.79769313486231570814527423731704357e+308L); } 2441: 2441: 2441: static constexpr double 2441: lowest() noexcept { return -double(1.79769313486231570814527423731704357e+308L); } 2441: 2441: 2441: static constexpr int digits = 53; 2441: static constexpr int digits10 = 15; 2441: 2441: static constexpr int max_digits10 2441: = (2 + (53) * 643L / 2136); 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = false; 2441: static constexpr bool is_exact = false; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr double 2441: epsilon() noexcept { return double(2.22044604925031308084726333618164062e-16L); } 2441: 2441: static constexpr double 2441: round_error() noexcept { return 0.5; } 2441: 2441: static constexpr int min_exponent = (-1021); 2441: static constexpr int min_exponent10 = (-307); 2441: static constexpr int max_exponent = 1024; 2441: static constexpr int max_exponent10 = 308; 2441: 2441: static constexpr bool has_infinity = 1; 2441: static constexpr bool has_quiet_NaN = 1; 2441: static constexpr bool has_signaling_NaN = has_quiet_NaN; 2441: static constexpr float_denorm_style has_denorm 2441: = bool(1) ? denorm_present : denorm_absent; 2441: static constexpr bool has_denorm_loss 2441: = false; 2441: 2441: static constexpr double 2441: infinity() noexcept { return __builtin_huge_val(); } 2441: 2441: static constexpr double 2441: quiet_NaN() noexcept { return __builtin_nan(""); } 2441: 2441: static constexpr double 2441: signaling_NaN() noexcept { return __builtin_nans(""); } 2441: 2441: static constexpr double 2441: denorm_min() noexcept { return double(4.94065645841246544176568792868221372e-324L); } 2441: 2441: static constexpr bool is_iec559 2441: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = false; 2441: static constexpr bool tinyness_before 2441: = false; 2441: static constexpr float_round_style round_style 2441: = round_to_nearest; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: struct numeric_limits 2441: { 2441: static constexpr bool is_specialized = true; 2441: 2441: static constexpr long double 2441: min() noexcept { return 3.36210314311209350626267781732175260e-4932L; } 2441: 2441: static constexpr long double 2441: max() noexcept { return 1.18973149535723176502126385303097021e+4932L; } 2441: 2441: 2441: static constexpr long double 2441: lowest() noexcept { return -1.18973149535723176502126385303097021e+4932L; } 2441: 2441: 2441: static constexpr int digits = 64; 2441: static constexpr int digits10 = 18; 2441: 2441: static constexpr int max_digits10 2441: = (2 + (64) * 643L / 2136); 2441: 2441: static constexpr bool is_signed = true; 2441: static constexpr bool is_integer = false; 2441: static constexpr bool is_exact = false; 2441: static constexpr int radix = 2; 2441: 2441: static constexpr long double 2441: epsilon() noexcept { return 1.08420217248550443400745280086994171e-19L; } 2441: 2441: static constexpr long double 2441: round_error() noexcept { return 0.5L; } 2441: 2441: static constexpr int min_exponent = (-16381); 2441: static constexpr int min_exponent10 = (-4931); 2441: static constexpr int max_exponent = 16384; 2441: static constexpr int max_exponent10 = 4932; 2441: 2441: static constexpr bool has_infinity = 1; 2441: static constexpr bool has_quiet_NaN = 1; 2441: static constexpr bool has_signaling_NaN = has_quiet_NaN; 2441: static constexpr float_denorm_style has_denorm 2441: = bool(1) ? denorm_present : denorm_absent; 2441: static constexpr bool has_denorm_loss 2441: = false; 2441: 2441: static constexpr long double 2441: infinity() noexcept { return __builtin_huge_vall(); } 2441: 2441: static constexpr long double 2441: quiet_NaN() noexcept { return __builtin_nanl(""); } 2441: 2441: static constexpr long double 2441: signaling_NaN() noexcept { return __builtin_nansl(""); } 2441: 2441: static constexpr long double 2441: denorm_min() noexcept { return 3.64519953188247460252840593361941982e-4951L; } 2441: 2441: static constexpr bool is_iec559 2441: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 2441: static constexpr bool is_bounded = true; 2441: static constexpr bool is_modulo = false; 2441: 2441: static constexpr bool traps = false; 2441: static constexpr bool tinyness_before = 2441: false; 2441: static constexpr float_round_style round_style = 2441: round_to_nearest; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 38 "/usr/include/gmpxx.h" 2 3 4 2441: # 1 "/usr/include/c++/8/utility" 1 3 4 2441: # 58 "/usr/include/c++/8/utility" 3 4 2441: 2441: # 59 "/usr/include/c++/8/utility" 3 2441: # 69 "/usr/include/c++/8/utility" 3 2441: # 1 "/usr/include/c++/8/bits/stl_relops.h" 1 3 2441: # 67 "/usr/include/c++/8/bits/stl_relops.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: namespace rel_ops 2441: { 2441: # 85 "/usr/include/c++/8/bits/stl_relops.h" 3 2441: template 2441: inline bool 2441: operator!=(const _Tp& __x, const _Tp& __y) 2441: { return !(__x == __y); } 2441: # 98 "/usr/include/c++/8/bits/stl_relops.h" 3 2441: template 2441: inline bool 2441: operator>(const _Tp& __x, const _Tp& __y) 2441: { return __y < __x; } 2441: # 111 "/usr/include/c++/8/bits/stl_relops.h" 3 2441: template 2441: inline bool 2441: operator<=(const _Tp& __x, const _Tp& __y) 2441: { return !(__y < __x); } 2441: # 124 "/usr/include/c++/8/bits/stl_relops.h" 3 2441: template 2441: inline bool 2441: operator>=(const _Tp& __x, const _Tp& __y) 2441: { return !(__x < __y); } 2441: } 2441: 2441: 2441: } 2441: # 70 "/usr/include/c++/8/utility" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_pair.h" 1 3 2441: # 59 "/usr/include/c++/8/bits/stl_pair.h" 3 2441: # 1 "/usr/include/c++/8/bits/move.h" 1 3 2441: # 34 "/usr/include/c++/8/bits/move.h" 3 2441: # 1 "/usr/include/c++/8/bits/concept_check.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/concept_check.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/concept_check.h" 3 2441: # 35 "/usr/include/c++/8/bits/move.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline constexpr _Tp* 2441: __addressof(_Tp& __r) noexcept 2441: { return __builtin_addressof(__r); } 2441: 2441: 2441: 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/type_traits" 1 3 2441: # 32 "/usr/include/c++/8/type_traits" 3 2441: 2441: # 33 "/usr/include/c++/8/type_traits" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 56 "/usr/include/c++/8/type_traits" 3 2441: template 2441: struct integral_constant 2441: { 2441: static constexpr _Tp value = __v; 2441: typedef _Tp value_type; 2441: typedef integral_constant<_Tp, __v> type; 2441: constexpr operator value_type() const noexcept { return value; } 2441: 2441: 2441: 2441: 2441: constexpr value_type operator()() const noexcept { return value; } 2441: 2441: }; 2441: 2441: template 2441: constexpr _Tp integral_constant<_Tp, __v>::value; 2441: 2441: 2441: typedef integral_constant true_type; 2441: 2441: 2441: typedef integral_constant false_type; 2441: 2441: template 2441: using __bool_constant = integral_constant; 2441: # 91 "/usr/include/c++/8/type_traits" 3 2441: template 2441: struct conditional; 2441: 2441: template 2441: struct __or_; 2441: 2441: template<> 2441: struct __or_<> 2441: : public false_type 2441: { }; 2441: 2441: template 2441: struct __or_<_B1> 2441: : public _B1 2441: { }; 2441: 2441: template 2441: struct __or_<_B1, _B2> 2441: : public conditional<_B1::value, _B1, _B2>::type 2441: { }; 2441: 2441: template 2441: struct __or_<_B1, _B2, _B3, _Bn...> 2441: : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type 2441: { }; 2441: 2441: template 2441: struct __and_; 2441: 2441: template<> 2441: struct __and_<> 2441: : public true_type 2441: { }; 2441: 2441: template 2441: struct __and_<_B1> 2441: : public _B1 2441: { }; 2441: 2441: template 2441: struct __and_<_B1, _B2> 2441: : public conditional<_B1::value, _B2, _B1>::type 2441: { }; 2441: 2441: template 2441: struct __and_<_B1, _B2, _B3, _Bn...> 2441: : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type 2441: { }; 2441: 2441: template 2441: struct __not_ 2441: : public __bool_constant 2441: { }; 2441: # 180 "/usr/include/c++/8/type_traits" 3 2441: template 2441: struct __success_type 2441: { typedef _Tp type; }; 2441: 2441: struct __failure_type 2441: { }; 2441: 2441: 2441: 2441: template 2441: struct remove_cv; 2441: 2441: template 2441: struct __is_void_helper 2441: : public false_type { }; 2441: 2441: template<> 2441: struct __is_void_helper 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_void 2441: : public __is_void_helper::type>::type 2441: { }; 2441: 2441: template 2441: struct __is_integral_helper 2441: : public false_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_integral_helper 2441: : public true_type { }; 2441: # 312 "/usr/include/c++/8/type_traits" 3 2441: template 2441: struct is_integral 2441: : public __is_integral_helper::type>::type 2441: { }; 2441: 2441: template 2441: struct __is_floating_point_helper 2441: : public false_type { }; 2441: 2441: template<> 2441: struct __is_floating_point_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_floating_point_helper 2441: : public true_type { }; 2441: 2441: template<> 2441: struct __is_floating_point_helper 2441: : public true_type { }; 2441: 2441: 2441: template<> 2441: struct __is_floating_point_helper<__float128> 2441: : public true_type { }; 2441: 2441: 2441: 2441: template 2441: struct is_floating_point 2441: : public __is_floating_point_helper::type>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_array 2441: : public false_type { }; 2441: 2441: template 2441: struct is_array<_Tp[_Size]> 2441: : public true_type { }; 2441: 2441: template 2441: struct is_array<_Tp[]> 2441: : public true_type { }; 2441: 2441: template 2441: struct __is_pointer_helper 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_pointer_helper<_Tp*> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_pointer 2441: : public __is_pointer_helper::type>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_lvalue_reference 2441: : public false_type { }; 2441: 2441: template 2441: struct is_lvalue_reference<_Tp&> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_rvalue_reference 2441: : public false_type { }; 2441: 2441: template 2441: struct is_rvalue_reference<_Tp&&> 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function; 2441: 2441: template 2441: struct __is_member_object_pointer_helper 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_member_object_pointer_helper<_Tp _Cp::*> 2441: : public integral_constant::value> { }; 2441: 2441: 2441: template 2441: struct is_member_object_pointer 2441: : public __is_member_object_pointer_helper< 2441: typename remove_cv<_Tp>::type>::type 2441: { }; 2441: 2441: template 2441: struct __is_member_function_pointer_helper 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_member_function_pointer_helper<_Tp _Cp::*> 2441: : public integral_constant::value> { }; 2441: 2441: 2441: template 2441: struct is_member_function_pointer 2441: : public __is_member_function_pointer_helper< 2441: typename remove_cv<_Tp>::type>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_enum 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_union 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_class 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_function 2441: : public false_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) && > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) && > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) const > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) const & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) const && > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) const > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) const & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) const && > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) volatile > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) volatile & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) volatile && > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) volatile > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) volatile & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) volatile && > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) const volatile > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) const volatile & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes...) const volatile && > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) const volatile > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) const volatile & > 2441: : public true_type { }; 2441: 2441: template 2441: struct is_function<_Res(_ArgTypes......) const volatile && > 2441: : public true_type { }; 2441: 2441: 2441: 2441: template 2441: struct __is_null_pointer_helper 2441: : public false_type { }; 2441: 2441: template<> 2441: struct __is_null_pointer_helper 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_null_pointer 2441: : public __is_null_pointer_helper::type>::type 2441: { }; 2441: 2441: 2441: template 2441: struct __is_nullptr_t 2441: : public is_null_pointer<_Tp> 2441: { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct is_reference 2441: : public __or_, 2441: is_rvalue_reference<_Tp>>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_arithmetic 2441: : public __or_, is_floating_point<_Tp>>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_fundamental 2441: : public __or_, is_void<_Tp>, 2441: is_null_pointer<_Tp>>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_object 2441: : public __not_<__or_, is_reference<_Tp>, 2441: is_void<_Tp>>>::type 2441: { }; 2441: 2441: template 2441: struct is_member_pointer; 2441: 2441: 2441: template 2441: struct is_scalar 2441: : public __or_, is_enum<_Tp>, is_pointer<_Tp>, 2441: is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_compound 2441: : public integral_constant::value> { }; 2441: 2441: template 2441: struct __is_member_pointer_helper 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_member_pointer_helper<_Tp _Cp::*> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_member_pointer 2441: : public __is_member_pointer_helper::type>::type 2441: { }; 2441: 2441: 2441: 2441: template 2441: struct __is_referenceable 2441: : public __or_, is_reference<_Tp>>::type 2441: { }; 2441: 2441: template 2441: struct __is_referenceable<_Res(_Args...) > 2441: : public true_type 2441: { }; 2441: 2441: template 2441: struct __is_referenceable<_Res(_Args......) > 2441: : public true_type 2441: { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct is_const 2441: : public false_type { }; 2441: 2441: template 2441: struct is_const<_Tp const> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_volatile 2441: : public false_type { }; 2441: 2441: template 2441: struct is_volatile<_Tp volatile> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_trivial 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_trivially_copyable 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_standard_layout 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: 2441: template 2441: struct is_pod 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_literal_type 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_empty 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_polymorphic 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct is_final 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: 2441: template 2441: struct is_abstract 2441: : public integral_constant 2441: { }; 2441: 2441: template::value> 2441: struct __is_signed_helper 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_signed_helper<_Tp, true> 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: template 2441: struct is_signed 2441: : public __is_signed_helper<_Tp>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_unsigned 2441: : public __and_, __not_>> 2441: { }; 2441: # 747 "/usr/include/c++/8/type_traits" 3 2441: template 2441: _Up 2441: __declval(int); 2441: 2441: template 2441: _Tp 2441: __declval(long); 2441: 2441: template 2441: auto declval() noexcept -> decltype(__declval<_Tp>(0)); 2441: 2441: template 2441: struct extent; 2441: 2441: template 2441: struct remove_all_extents; 2441: 2441: template 2441: struct __is_array_known_bounds 2441: : public integral_constant::value > 0)> 2441: { }; 2441: 2441: template 2441: struct __is_array_unknown_bounds 2441: : public __and_, __not_>> 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct __do_is_destructible_impl 2441: { 2441: template().~_Tp())> 2441: static true_type __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: }; 2441: 2441: template 2441: struct __is_destructible_impl 2441: : public __do_is_destructible_impl 2441: { 2441: typedef decltype(__test<_Tp>(0)) type; 2441: }; 2441: 2441: template, 2441: __is_array_unknown_bounds<_Tp>, 2441: is_function<_Tp>>::value, 2441: bool = __or_, is_scalar<_Tp>>::value> 2441: struct __is_destructible_safe; 2441: 2441: template 2441: struct __is_destructible_safe<_Tp, false, false> 2441: : public __is_destructible_impl::type>::type 2441: { }; 2441: 2441: template 2441: struct __is_destructible_safe<_Tp, true, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_destructible_safe<_Tp, false, true> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_destructible 2441: : public __is_destructible_safe<_Tp>::type 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: struct __do_is_nt_destructible_impl 2441: { 2441: template 2441: static integral_constant().~_Tp())> 2441: __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: }; 2441: 2441: template 2441: struct __is_nt_destructible_impl 2441: : public __do_is_nt_destructible_impl 2441: { 2441: typedef decltype(__test<_Tp>(0)) type; 2441: }; 2441: 2441: template, 2441: __is_array_unknown_bounds<_Tp>, 2441: is_function<_Tp>>::value, 2441: bool = __or_, is_scalar<_Tp>>::value> 2441: struct __is_nt_destructible_safe; 2441: 2441: template 2441: struct __is_nt_destructible_safe<_Tp, false, false> 2441: : public __is_nt_destructible_impl::type>::type 2441: { }; 2441: 2441: template 2441: struct __is_nt_destructible_safe<_Tp, true, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_nt_destructible_safe<_Tp, false, true> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_nothrow_destructible 2441: : public __is_nt_destructible_safe<_Tp>::type 2441: { }; 2441: 2441: struct __do_is_default_constructible_impl 2441: { 2441: template 2441: static true_type __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: }; 2441: 2441: template 2441: struct __is_default_constructible_impl 2441: : public __do_is_default_constructible_impl 2441: { 2441: typedef decltype(__test<_Tp>(0)) type; 2441: }; 2441: 2441: template 2441: struct __is_default_constructible_atom 2441: : public __and_<__not_>, 2441: __is_default_constructible_impl<_Tp>> 2441: { }; 2441: 2441: template::value> 2441: struct __is_default_constructible_safe; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_default_constructible_safe<_Tp, true> 2441: : public __and_<__is_array_known_bounds<_Tp>, 2441: __is_default_constructible_atom::type>> 2441: { }; 2441: 2441: template 2441: struct __is_default_constructible_safe<_Tp, false> 2441: : public __is_default_constructible_atom<_Tp>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_default_constructible 2441: : public __is_default_constructible_safe<_Tp>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_constructible 2441: : public __bool_constant<__is_constructible(_Tp, _Args...)> 2441: { }; 2441: 2441: template::value> 2441: struct __is_copy_constructible_impl; 2441: 2441: template 2441: struct __is_copy_constructible_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_copy_constructible_impl<_Tp, true> 2441: : public is_constructible<_Tp, const _Tp&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_copy_constructible 2441: : public __is_copy_constructible_impl<_Tp> 2441: { }; 2441: 2441: template::value> 2441: struct __is_move_constructible_impl; 2441: 2441: template 2441: struct __is_move_constructible_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_move_constructible_impl<_Tp, true> 2441: : public is_constructible<_Tp, _Tp&&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_move_constructible 2441: : public __is_move_constructible_impl<_Tp> 2441: { }; 2441: 2441: template 2441: struct __is_nt_default_constructible_atom 2441: : public integral_constant 2441: { }; 2441: 2441: template::value> 2441: struct __is_nt_default_constructible_impl; 2441: 2441: template 2441: struct __is_nt_default_constructible_impl<_Tp, true> 2441: : public __and_<__is_array_known_bounds<_Tp>, 2441: __is_nt_default_constructible_atom::type>> 2441: { }; 2441: 2441: template 2441: struct __is_nt_default_constructible_impl<_Tp, false> 2441: : public __is_nt_default_constructible_atom<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_default_constructible 2441: : public __and_, 2441: __is_nt_default_constructible_impl<_Tp>> 2441: { }; 2441: 2441: template 2441: struct __is_nt_constructible_impl 2441: : public integral_constant()...))> 2441: { }; 2441: 2441: template 2441: struct __is_nt_constructible_impl<_Tp, _Arg> 2441: : public integral_constant(declval<_Arg>()))> 2441: { }; 2441: 2441: template 2441: struct __is_nt_constructible_impl<_Tp> 2441: : public is_nothrow_default_constructible<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_constructible 2441: : public __and_, 2441: __is_nt_constructible_impl<_Tp, _Args...>> 2441: { }; 2441: 2441: template::value> 2441: struct __is_nothrow_copy_constructible_impl; 2441: 2441: template 2441: struct __is_nothrow_copy_constructible_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_nothrow_copy_constructible_impl<_Tp, true> 2441: : public is_nothrow_constructible<_Tp, const _Tp&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_copy_constructible 2441: : public __is_nothrow_copy_constructible_impl<_Tp> 2441: { }; 2441: 2441: template::value> 2441: struct __is_nothrow_move_constructible_impl; 2441: 2441: template 2441: struct __is_nothrow_move_constructible_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_nothrow_move_constructible_impl<_Tp, true> 2441: : public is_nothrow_constructible<_Tp, _Tp&&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_move_constructible 2441: : public __is_nothrow_move_constructible_impl<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct is_assignable 2441: : public __bool_constant<__is_assignable(_Tp, _Up)> 2441: { }; 2441: 2441: template::value> 2441: struct __is_copy_assignable_impl; 2441: 2441: template 2441: struct __is_copy_assignable_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_copy_assignable_impl<_Tp, true> 2441: : public is_assignable<_Tp&, const _Tp&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_copy_assignable 2441: : public __is_copy_assignable_impl<_Tp> 2441: { }; 2441: 2441: template::value> 2441: struct __is_move_assignable_impl; 2441: 2441: template 2441: struct __is_move_assignable_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_move_assignable_impl<_Tp, true> 2441: : public is_assignable<_Tp&, _Tp&&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_move_assignable 2441: : public __is_move_assignable_impl<_Tp> 2441: { }; 2441: 2441: template 2441: struct __is_nt_assignable_impl 2441: : public integral_constant() = declval<_Up>())> 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_assignable 2441: : public __and_, 2441: __is_nt_assignable_impl<_Tp, _Up>> 2441: { }; 2441: 2441: template::value> 2441: struct __is_nt_copy_assignable_impl; 2441: 2441: template 2441: struct __is_nt_copy_assignable_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_nt_copy_assignable_impl<_Tp, true> 2441: : public is_nothrow_assignable<_Tp&, const _Tp&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_copy_assignable 2441: : public __is_nt_copy_assignable_impl<_Tp> 2441: { }; 2441: 2441: template::value> 2441: struct __is_nt_move_assignable_impl; 2441: 2441: template 2441: struct __is_nt_move_assignable_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_nt_move_assignable_impl<_Tp, true> 2441: : public is_nothrow_assignable<_Tp&, _Tp&&> 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_move_assignable 2441: : public __is_nt_move_assignable_impl<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct is_trivially_constructible 2441: : public __and_, __bool_constant< 2441: __is_trivially_constructible(_Tp, _Args...)>>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_trivially_default_constructible 2441: : public is_trivially_constructible<_Tp>::type 2441: { }; 2441: 2441: struct __do_is_implicitly_default_constructible_impl 2441: { 2441: template 2441: static void __helper(const _Tp&); 2441: 2441: template 2441: static true_type __test(const _Tp&, 2441: decltype(__helper({}))* = 0); 2441: 2441: static false_type __test(...); 2441: }; 2441: 2441: template 2441: struct __is_implicitly_default_constructible_impl 2441: : public __do_is_implicitly_default_constructible_impl 2441: { 2441: typedef decltype(__test(declval<_Tp>())) type; 2441: }; 2441: 2441: template 2441: struct __is_implicitly_default_constructible_safe 2441: : public __is_implicitly_default_constructible_impl<_Tp>::type 2441: { }; 2441: 2441: template 2441: struct __is_implicitly_default_constructible 2441: : public __and_, 2441: __is_implicitly_default_constructible_safe<_Tp>> 2441: { }; 2441: 2441: 2441: 2441: template::value> 2441: struct __is_trivially_copy_constructible_impl; 2441: 2441: template 2441: struct __is_trivially_copy_constructible_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_trivially_copy_constructible_impl<_Tp, true> 2441: : public __and_, 2441: integral_constant> 2441: { }; 2441: 2441: template 2441: struct is_trivially_copy_constructible 2441: : public __is_trivially_copy_constructible_impl<_Tp> 2441: { }; 2441: 2441: 2441: 2441: template::value> 2441: struct __is_trivially_move_constructible_impl; 2441: 2441: template 2441: struct __is_trivially_move_constructible_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_trivially_move_constructible_impl<_Tp, true> 2441: : public __and_, 2441: integral_constant> 2441: { }; 2441: 2441: template 2441: struct is_trivially_move_constructible 2441: : public __is_trivially_move_constructible_impl<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct is_trivially_assignable 2441: : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> 2441: { }; 2441: 2441: 2441: 2441: template::value> 2441: struct __is_trivially_copy_assignable_impl; 2441: 2441: template 2441: struct __is_trivially_copy_assignable_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_trivially_copy_assignable_impl<_Tp, true> 2441: : public __and_, 2441: integral_constant> 2441: { }; 2441: 2441: template 2441: struct is_trivially_copy_assignable 2441: : public __is_trivially_copy_assignable_impl<_Tp> 2441: { }; 2441: 2441: 2441: 2441: template::value> 2441: struct __is_trivially_move_assignable_impl; 2441: 2441: template 2441: struct __is_trivially_move_assignable_impl<_Tp, false> 2441: : public false_type { }; 2441: 2441: template 2441: struct __is_trivially_move_assignable_impl<_Tp, true> 2441: : public __and_, 2441: integral_constant> 2441: { }; 2441: 2441: template 2441: struct is_trivially_move_assignable 2441: : public __is_trivially_move_assignable_impl<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct is_trivially_destructible 2441: : public __and_, integral_constant> 2441: { }; 2441: 2441: 2441: 2441: template 2441: struct has_virtual_destructor 2441: : public integral_constant 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct alignment_of 2441: : public integral_constant { }; 2441: 2441: 2441: template 2441: struct rank 2441: : public integral_constant { }; 2441: 2441: template 2441: struct rank<_Tp[_Size]> 2441: : public integral_constant::value> { }; 2441: 2441: template 2441: struct rank<_Tp[]> 2441: : public integral_constant::value> { }; 2441: 2441: 2441: template 2441: struct extent 2441: : public integral_constant { }; 2441: 2441: template 2441: struct extent<_Tp[_Size], _Uint> 2441: : public integral_constant::value> 2441: { }; 2441: 2441: template 2441: struct extent<_Tp[], _Uint> 2441: : public integral_constant::value> 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct is_same 2441: : public false_type { }; 2441: 2441: template 2441: struct is_same<_Tp, _Tp> 2441: : public true_type { }; 2441: 2441: 2441: template 2441: struct is_base_of 2441: : public integral_constant 2441: { }; 2441: 2441: template, is_function<_To>, 2441: is_array<_To>>::value> 2441: struct __is_convertible_helper 2441: { typedef typename is_void<_To>::type type; }; 2441: 2441: template 2441: class __is_convertible_helper<_From, _To, false> 2441: { 2441: template 2441: static void __test_aux(_To1); 2441: 2441: template(std::declval<_From1>()))> 2441: static true_type 2441: __test(int); 2441: 2441: template 2441: static false_type 2441: __test(...); 2441: 2441: public: 2441: typedef decltype(__test<_From, _To>(0)) type; 2441: }; 2441: 2441: 2441: 2441: template 2441: struct is_convertible 2441: : public __is_convertible_helper<_From, _To>::type 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct remove_const 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct remove_const<_Tp const> 2441: { typedef _Tp type; }; 2441: 2441: 2441: template 2441: struct remove_volatile 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct remove_volatile<_Tp volatile> 2441: { typedef _Tp type; }; 2441: 2441: 2441: template 2441: struct remove_cv 2441: { 2441: typedef typename 2441: remove_const::type>::type type; 2441: }; 2441: 2441: 2441: template 2441: struct add_const 2441: { typedef _Tp const type; }; 2441: 2441: 2441: template 2441: struct add_volatile 2441: { typedef _Tp volatile type; }; 2441: 2441: 2441: template 2441: struct add_cv 2441: { 2441: typedef typename 2441: add_const::type>::type type; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: using remove_const_t = typename remove_const<_Tp>::type; 2441: 2441: 2441: template 2441: using remove_volatile_t = typename remove_volatile<_Tp>::type; 2441: 2441: 2441: template 2441: using remove_cv_t = typename remove_cv<_Tp>::type; 2441: 2441: 2441: template 2441: using add_const_t = typename add_const<_Tp>::type; 2441: 2441: 2441: template 2441: using add_volatile_t = typename add_volatile<_Tp>::type; 2441: 2441: 2441: template 2441: using add_cv_t = typename add_cv<_Tp>::type; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct remove_reference 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct remove_reference<_Tp&> 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct remove_reference<_Tp&&> 2441: { typedef _Tp type; }; 2441: 2441: template::value> 2441: struct __add_lvalue_reference_helper 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct __add_lvalue_reference_helper<_Tp, true> 2441: { typedef _Tp& type; }; 2441: 2441: 2441: template 2441: struct add_lvalue_reference 2441: : public __add_lvalue_reference_helper<_Tp> 2441: { }; 2441: 2441: template::value> 2441: struct __add_rvalue_reference_helper 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct __add_rvalue_reference_helper<_Tp, true> 2441: { typedef _Tp&& type; }; 2441: 2441: 2441: template 2441: struct add_rvalue_reference 2441: : public __add_rvalue_reference_helper<_Tp> 2441: { }; 2441: 2441: 2441: 2441: template 2441: using remove_reference_t = typename remove_reference<_Tp>::type; 2441: 2441: 2441: template 2441: using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; 2441: 2441: 2441: template 2441: using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __cv_selector; 2441: 2441: template 2441: struct __cv_selector<_Unqualified, false, false> 2441: { typedef _Unqualified __type; }; 2441: 2441: template 2441: struct __cv_selector<_Unqualified, false, true> 2441: { typedef volatile _Unqualified __type; }; 2441: 2441: template 2441: struct __cv_selector<_Unqualified, true, false> 2441: { typedef const _Unqualified __type; }; 2441: 2441: template 2441: struct __cv_selector<_Unqualified, true, true> 2441: { typedef const volatile _Unqualified __type; }; 2441: 2441: template::value, 2441: bool _IsVol = is_volatile<_Qualified>::value> 2441: class __match_cv_qualifiers 2441: { 2441: typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; 2441: 2441: public: 2441: typedef typename __match::__type __type; 2441: }; 2441: 2441: 2441: template 2441: struct __make_unsigned 2441: { typedef _Tp __type; }; 2441: 2441: template<> 2441: struct __make_unsigned 2441: { typedef unsigned char __type; }; 2441: 2441: template<> 2441: struct __make_unsigned 2441: { typedef unsigned char __type; }; 2441: 2441: template<> 2441: struct __make_unsigned 2441: { typedef unsigned short __type; }; 2441: 2441: template<> 2441: struct __make_unsigned 2441: { typedef unsigned int __type; }; 2441: 2441: template<> 2441: struct __make_unsigned 2441: { typedef unsigned long __type; }; 2441: 2441: template<> 2441: struct __make_unsigned 2441: { typedef unsigned long long __type; }; 2441: # 1590 "/usr/include/c++/8/type_traits" 3 2441: template::value, 2441: bool _IsEnum = is_enum<_Tp>::value> 2441: class __make_unsigned_selector; 2441: 2441: template 2441: class __make_unsigned_selector<_Tp, true, false> 2441: { 2441: typedef __make_unsigned::type> __unsignedt; 2441: typedef typename __unsignedt::__type __unsigned_type; 2441: typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; 2441: 2441: public: 2441: typedef typename __cv_unsigned::__type __type; 2441: }; 2441: 2441: template 2441: class __make_unsigned_selector<_Tp, false, true> 2441: { 2441: 2441: typedef unsigned char __smallest; 2441: static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest); 2441: static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short); 2441: static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int); 2441: static const bool __b3 = sizeof(_Tp) <= sizeof(unsigned long); 2441: typedef conditional<__b3, unsigned long, unsigned long long> __cond3; 2441: typedef typename __cond3::type __cond3_type; 2441: typedef conditional<__b2, unsigned int, __cond3_type> __cond2; 2441: typedef typename __cond2::type __cond2_type; 2441: typedef conditional<__b1, unsigned short, __cond2_type> __cond1; 2441: typedef typename __cond1::type __cond1_type; 2441: 2441: typedef typename conditional<__b0, __smallest, __cond1_type>::type 2441: __unsigned_type; 2441: typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; 2441: 2441: public: 2441: typedef typename __cv_unsigned::__type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct make_unsigned 2441: { typedef typename __make_unsigned_selector<_Tp>::__type type; }; 2441: 2441: 2441: template<> 2441: struct make_unsigned; 2441: 2441: 2441: 2441: template 2441: struct __make_signed 2441: { typedef _Tp __type; }; 2441: 2441: template<> 2441: struct __make_signed 2441: { typedef signed char __type; }; 2441: 2441: template<> 2441: struct __make_signed 2441: { typedef signed char __type; }; 2441: 2441: template<> 2441: struct __make_signed 2441: { typedef signed short __type; }; 2441: 2441: template<> 2441: struct __make_signed 2441: { typedef signed int __type; }; 2441: 2441: template<> 2441: struct __make_signed 2441: { typedef signed long __type; }; 2441: 2441: template<> 2441: struct __make_signed 2441: { typedef signed long long __type; }; 2441: # 1694 "/usr/include/c++/8/type_traits" 3 2441: template::value, 2441: bool _IsEnum = is_enum<_Tp>::value> 2441: class __make_signed_selector; 2441: 2441: template 2441: class __make_signed_selector<_Tp, true, false> 2441: { 2441: typedef __make_signed::type> __signedt; 2441: typedef typename __signedt::__type __signed_type; 2441: typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed; 2441: 2441: public: 2441: typedef typename __cv_signed::__type __type; 2441: }; 2441: 2441: template 2441: class __make_signed_selector<_Tp, false, true> 2441: { 2441: typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; 2441: 2441: public: 2441: typedef typename __make_signed_selector<__unsigned_type>::__type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct make_signed 2441: { typedef typename __make_signed_selector<_Tp>::__type type; }; 2441: 2441: 2441: template<> 2441: struct make_signed; 2441: 2441: 2441: 2441: template 2441: using make_signed_t = typename make_signed<_Tp>::type; 2441: 2441: 2441: template 2441: using make_unsigned_t = typename make_unsigned<_Tp>::type; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct remove_extent 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct remove_extent<_Tp[_Size]> 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct remove_extent<_Tp[]> 2441: { typedef _Tp type; }; 2441: 2441: 2441: template 2441: struct remove_all_extents 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct remove_all_extents<_Tp[_Size]> 2441: { typedef typename remove_all_extents<_Tp>::type type; }; 2441: 2441: template 2441: struct remove_all_extents<_Tp[]> 2441: { typedef typename remove_all_extents<_Tp>::type type; }; 2441: 2441: 2441: 2441: template 2441: using remove_extent_t = typename remove_extent<_Tp>::type; 2441: 2441: 2441: template 2441: using remove_all_extents_t = typename remove_all_extents<_Tp>::type; 2441: 2441: 2441: 2441: 2441: template 2441: struct __remove_pointer_helper 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct __remove_pointer_helper<_Tp, _Up*> 2441: { typedef _Up type; }; 2441: 2441: 2441: template 2441: struct remove_pointer 2441: : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type> 2441: { }; 2441: 2441: 2441: template, 2441: is_void<_Tp>>::value> 2441: struct __add_pointer_helper 2441: { typedef _Tp type; }; 2441: 2441: template 2441: struct __add_pointer_helper<_Tp, true> 2441: { typedef typename remove_reference<_Tp>::type* type; }; 2441: 2441: template 2441: struct add_pointer 2441: : public __add_pointer_helper<_Tp> 2441: { }; 2441: 2441: 2441: 2441: template 2441: using remove_pointer_t = typename remove_pointer<_Tp>::type; 2441: 2441: 2441: template 2441: using add_pointer_t = typename add_pointer<_Tp>::type; 2441: 2441: 2441: template 2441: struct __aligned_storage_msa 2441: { 2441: union __type 2441: { 2441: unsigned char __data[_Len]; 2441: struct __attribute__((__aligned__)) { } __align; 2441: }; 2441: }; 2441: # 1840 "/usr/include/c++/8/type_traits" 3 2441: template::__type)> 2441: struct aligned_storage 2441: { 2441: union type 2441: { 2441: unsigned char __data[_Len]; 2441: struct __attribute__((__aligned__((_Align)))) { } __align; 2441: }; 2441: }; 2441: 2441: template 2441: struct __strictest_alignment 2441: { 2441: static const size_t _S_alignment = 0; 2441: static const size_t _S_size = 0; 2441: }; 2441: 2441: template 2441: struct __strictest_alignment<_Tp, _Types...> 2441: { 2441: static const size_t _S_alignment = 2441: alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment 2441: ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; 2441: static const size_t _S_size = 2441: sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size 2441: ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; 2441: }; 2441: # 1879 "/usr/include/c++/8/type_traits" 3 2441: template 2441: struct aligned_union 2441: { 2441: private: 2441: static_assert(sizeof...(_Types) != 0, "At least one type is required"); 2441: 2441: using __strictest = __strictest_alignment<_Types...>; 2441: static const size_t _S_len = _Len > __strictest::_S_size 2441: ? _Len : __strictest::_S_size; 2441: public: 2441: 2441: static const size_t alignment_value = __strictest::_S_alignment; 2441: 2441: typedef typename aligned_storage<_S_len, alignment_value>::type type; 2441: }; 2441: 2441: template 2441: const size_t aligned_union<_Len, _Types...>::alignment_value; 2441: 2441: 2441: 2441: template::value, 2441: bool _IsFunction = is_function<_Up>::value> 2441: struct __decay_selector; 2441: 2441: 2441: template 2441: struct __decay_selector<_Up, false, false> 2441: { typedef typename remove_cv<_Up>::type __type; }; 2441: 2441: template 2441: struct __decay_selector<_Up, true, false> 2441: { typedef typename remove_extent<_Up>::type* __type; }; 2441: 2441: template 2441: struct __decay_selector<_Up, false, true> 2441: { typedef typename add_pointer<_Up>::type __type; }; 2441: 2441: 2441: template 2441: class decay 2441: { 2441: typedef typename remove_reference<_Tp>::type __remove_type; 2441: 2441: public: 2441: typedef typename __decay_selector<__remove_type>::__type type; 2441: }; 2441: 2441: template 2441: class reference_wrapper; 2441: 2441: 2441: template 2441: struct __strip_reference_wrapper 2441: { 2441: typedef _Tp __type; 2441: }; 2441: 2441: template 2441: struct __strip_reference_wrapper > 2441: { 2441: typedef _Tp& __type; 2441: }; 2441: 2441: template 2441: struct __decay_and_strip 2441: { 2441: typedef typename __strip_reference_wrapper< 2441: typename decay<_Tp>::type>::__type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct enable_if 2441: { }; 2441: 2441: 2441: template 2441: struct enable_if 2441: { typedef _Tp type; }; 2441: 2441: template 2441: using _Require = typename enable_if<__and_<_Cond...>::value>::type; 2441: 2441: 2441: 2441: template 2441: struct conditional 2441: { typedef _Iftrue type; }; 2441: 2441: 2441: template 2441: struct conditional 2441: { typedef _Iffalse type; }; 2441: 2441: 2441: template 2441: struct common_type; 2441: 2441: 2441: 2441: struct __do_common_type_impl 2441: { 2441: template 2441: static __success_type() 2441: : std::declval<_Up>())>::type> _S_test(int); 2441: 2441: template 2441: static __failure_type _S_test(...); 2441: }; 2441: 2441: template 2441: struct __common_type_impl 2441: : private __do_common_type_impl 2441: { 2441: typedef decltype(_S_test<_Tp, _Up>(0)) type; 2441: }; 2441: 2441: struct __do_member_type_wrapper 2441: { 2441: template 2441: static __success_type _S_test(int); 2441: 2441: template 2441: static __failure_type _S_test(...); 2441: }; 2441: 2441: template 2441: struct __member_type_wrapper 2441: : private __do_member_type_wrapper 2441: { 2441: typedef decltype(_S_test<_Tp>(0)) type; 2441: }; 2441: 2441: template 2441: struct __expanded_common_type_wrapper 2441: { 2441: typedef common_type type; 2441: }; 2441: 2441: template 2441: struct __expanded_common_type_wrapper<__failure_type, _Args...> 2441: { typedef __failure_type type; }; 2441: 2441: template 2441: struct common_type<_Tp> 2441: { typedef typename decay<_Tp>::type type; }; 2441: 2441: template 2441: struct common_type<_Tp, _Up> 2441: : public __common_type_impl<_Tp, _Up>::type 2441: { }; 2441: 2441: template 2441: struct common_type<_Tp, _Up, _Vp...> 2441: : public __expanded_common_type_wrapper>::type, _Vp...>::type 2441: { }; 2441: 2441: 2441: template 2441: struct underlying_type 2441: { 2441: typedef __underlying_type(_Tp) type; 2441: }; 2441: 2441: template 2441: struct __declval_protector 2441: { 2441: static const bool __stop = false; 2441: }; 2441: 2441: template 2441: auto declval() noexcept -> decltype(__declval<_Tp>(0)) 2441: { 2441: static_assert(__declval_protector<_Tp>::__stop, 2441: "declval() must not be used!"); 2441: return __declval<_Tp>(0); 2441: } 2441: # 2072 "/usr/include/c++/8/type_traits" 3 2441: template<> 2441: struct __make_unsigned 2441: { 2441: using __type 2441: = typename __make_unsigned_selector::__type; 2441: }; 2441: 2441: template<> 2441: struct __make_signed 2441: { 2441: using __type 2441: = typename __make_signed_selector::__type; 2441: }; 2441: 2441: 2441: template<> 2441: struct __make_unsigned 2441: { 2441: using __type 2441: = typename __make_unsigned_selector::__type; 2441: }; 2441: 2441: template<> 2441: struct __make_signed 2441: { 2441: using __type 2441: = typename __make_signed_selector::__type; 2441: }; 2441: 2441: template<> 2441: struct __make_unsigned 2441: { 2441: using __type 2441: = typename __make_unsigned_selector::__type; 2441: }; 2441: 2441: template<> 2441: struct __make_signed 2441: { 2441: using __type 2441: = typename __make_signed_selector::__type; 2441: }; 2441: 2441: 2441: 2441: template 2441: class result_of; 2441: 2441: 2441: 2441: 2441: 2441: struct __invoke_memfun_ref { }; 2441: struct __invoke_memfun_deref { }; 2441: struct __invoke_memobj_ref { }; 2441: struct __invoke_memobj_deref { }; 2441: struct __invoke_other { }; 2441: 2441: 2441: template 2441: struct __result_of_success : __success_type<_Tp> 2441: { using __invoke_type = _Tag; }; 2441: 2441: 2441: struct __result_of_memfun_ref_impl 2441: { 2441: template 2441: static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) 2441: ), __invoke_memfun_ref> _S_test(int); 2441: 2441: template 2441: static __failure_type _S_test(...); 2441: }; 2441: 2441: template 2441: struct __result_of_memfun_ref 2441: : private __result_of_memfun_ref_impl 2441: { 2441: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 2441: }; 2441: 2441: 2441: struct __result_of_memfun_deref_impl 2441: { 2441: template 2441: static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) 2441: ), __invoke_memfun_deref> _S_test(int); 2441: 2441: template 2441: static __failure_type _S_test(...); 2441: }; 2441: 2441: template 2441: struct __result_of_memfun_deref 2441: : private __result_of_memfun_deref_impl 2441: { 2441: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 2441: }; 2441: 2441: 2441: struct __result_of_memobj_ref_impl 2441: { 2441: template 2441: static __result_of_success().*std::declval<_Fp>() 2441: ), __invoke_memobj_ref> _S_test(int); 2441: 2441: template 2441: static __failure_type _S_test(...); 2441: }; 2441: 2441: template 2441: struct __result_of_memobj_ref 2441: : private __result_of_memobj_ref_impl 2441: { 2441: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 2441: }; 2441: 2441: 2441: struct __result_of_memobj_deref_impl 2441: { 2441: template 2441: static __result_of_success()).*std::declval<_Fp>() 2441: ), __invoke_memobj_deref> _S_test(int); 2441: 2441: template 2441: static __failure_type _S_test(...); 2441: }; 2441: 2441: template 2441: struct __result_of_memobj_deref 2441: : private __result_of_memobj_deref_impl 2441: { 2441: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 2441: }; 2441: 2441: template 2441: struct __result_of_memobj; 2441: 2441: template 2441: struct __result_of_memobj<_Res _Class::*, _Arg> 2441: { 2441: typedef typename remove_cv::type>::type _Argval; 2441: typedef _Res _Class::* _MemPtr; 2441: typedef typename conditional<__or_, 2441: is_base_of<_Class, _Argval>>::value, 2441: __result_of_memobj_ref<_MemPtr, _Arg>, 2441: __result_of_memobj_deref<_MemPtr, _Arg> 2441: >::type::type type; 2441: }; 2441: 2441: template 2441: struct __result_of_memfun; 2441: 2441: template 2441: struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> 2441: { 2441: typedef typename remove_cv::type>::type _Argval; 2441: typedef _Res _Class::* _MemPtr; 2441: typedef typename conditional<__or_, 2441: is_base_of<_Class, _Argval>>::value, 2441: __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, 2441: __result_of_memfun_deref<_MemPtr, _Arg, _Args...> 2441: >::type::type type; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template::type> 2441: struct __inv_unwrap 2441: { 2441: using type = _Tp; 2441: }; 2441: 2441: template 2441: struct __inv_unwrap<_Tp, reference_wrapper<_Up>> 2441: { 2441: using type = _Up&; 2441: }; 2441: 2441: template 2441: struct __result_of_impl 2441: { 2441: typedef __failure_type type; 2441: }; 2441: 2441: template 2441: struct __result_of_impl 2441: : public __result_of_memobj::type, 2441: typename __inv_unwrap<_Arg>::type> 2441: { }; 2441: 2441: template 2441: struct __result_of_impl 2441: : public __result_of_memfun::type, 2441: typename __inv_unwrap<_Arg>::type, _Args...> 2441: { }; 2441: 2441: 2441: struct __result_of_other_impl 2441: { 2441: template 2441: static __result_of_success()(std::declval<_Args>()...) 2441: ), __invoke_other> _S_test(int); 2441: 2441: template 2441: static __failure_type _S_test(...); 2441: }; 2441: 2441: template 2441: struct __result_of_impl 2441: : private __result_of_other_impl 2441: { 2441: typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; 2441: }; 2441: 2441: 2441: template 2441: struct __invoke_result 2441: : public __result_of_impl< 2441: is_member_object_pointer< 2441: typename remove_reference<_Functor>::type 2441: >::value, 2441: is_member_function_pointer< 2441: typename remove_reference<_Functor>::type 2441: >::value, 2441: _Functor, _ArgTypes... 2441: >::type 2441: { }; 2441: 2441: template 2441: struct result_of<_Functor(_ArgTypes...)> 2441: : public __invoke_result<_Functor, _ArgTypes...> 2441: { }; 2441: 2441: 2441: 2441: template::__type)> 2441: using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; 2441: 2441: template 2441: using aligned_union_t = typename aligned_union<_Len, _Types...>::type; 2441: 2441: 2441: template 2441: using decay_t = typename decay<_Tp>::type; 2441: 2441: 2441: template 2441: using enable_if_t = typename enable_if<_Cond, _Tp>::type; 2441: 2441: 2441: template 2441: using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; 2441: 2441: 2441: template 2441: using common_type_t = typename common_type<_Tp...>::type; 2441: 2441: 2441: template 2441: using underlying_type_t = typename underlying_type<_Tp>::type; 2441: 2441: 2441: template 2441: using result_of_t = typename result_of<_Tp>::type; 2441: 2441: 2441: 2441: template 2441: using __enable_if_t = typename enable_if<_Cond, _Tp>::type; 2441: 2441: 2441: template using __void_t = void; 2441: 2441: 2441: 2441: 2441: template using void_t = void; 2441: 2441: 2441: 2441: template class _Op, typename... _Args> 2441: struct __detector 2441: { 2441: using value_t = false_type; 2441: using type = _Default; 2441: }; 2441: 2441: 2441: template class _Op, 2441: typename... _Args> 2441: struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> 2441: { 2441: using value_t = true_type; 2441: using type = _Op<_Args...>; 2441: }; 2441: 2441: 2441: template class _Op, 2441: typename... _Args> 2441: using __detected_or = __detector<_Default, void, _Op, _Args...>; 2441: 2441: 2441: template class _Op, 2441: typename... _Args> 2441: using __detected_or_t 2441: = typename __detected_or<_Default, _Op, _Args...>::type; 2441: # 2408 "/usr/include/c++/8/type_traits" 3 2441: template 2441: struct __is_swappable; 2441: 2441: template 2441: struct __is_nothrow_swappable; 2441: 2441: template 2441: class tuple; 2441: 2441: template 2441: struct __is_tuple_like_impl : false_type 2441: { }; 2441: 2441: template 2441: struct __is_tuple_like_impl> : true_type 2441: { }; 2441: 2441: 2441: template 2441: struct __is_tuple_like 2441: : public __is_tuple_like_impl::type>::type>::type 2441: { }; 2441: 2441: template 2441: inline 2441: typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, 2441: is_move_constructible<_Tp>, 2441: is_move_assignable<_Tp>>::value>::type 2441: swap(_Tp&, _Tp&) 2441: noexcept(__and_, 2441: is_nothrow_move_assignable<_Tp>>::value); 2441: 2441: template 2441: inline 2441: typename enable_if<__is_swappable<_Tp>::value>::type 2441: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 2441: noexcept(__is_nothrow_swappable<_Tp>::value); 2441: 2441: namespace __swappable_details { 2441: using std::swap; 2441: 2441: struct __do_is_swappable_impl 2441: { 2441: template(), std::declval<_Tp&>()))> 2441: static true_type __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: }; 2441: 2441: struct __do_is_nothrow_swappable_impl 2441: { 2441: template 2441: static __bool_constant< 2441: noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) 2441: > __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: }; 2441: 2441: } 2441: 2441: template 2441: struct __is_swappable_impl 2441: : public __swappable_details::__do_is_swappable_impl 2441: { 2441: typedef decltype(__test<_Tp>(0)) type; 2441: }; 2441: 2441: template 2441: struct __is_nothrow_swappable_impl 2441: : public __swappable_details::__do_is_nothrow_swappable_impl 2441: { 2441: typedef decltype(__test<_Tp>(0)) type; 2441: }; 2441: 2441: template 2441: struct __is_swappable 2441: : public __is_swappable_impl<_Tp>::type 2441: { }; 2441: 2441: template 2441: struct __is_nothrow_swappable 2441: : public __is_nothrow_swappable_impl<_Tp>::type 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct is_swappable 2441: : public __is_swappable_impl<_Tp>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_swappable 2441: : public __is_nothrow_swappable_impl<_Tp>::type 2441: { }; 2441: 2441: 2441: 2441: template 2441: constexpr bool is_swappable_v = 2441: is_swappable<_Tp>::value; 2441: 2441: 2441: template 2441: constexpr bool is_nothrow_swappable_v = 2441: is_nothrow_swappable<_Tp>::value; 2441: 2441: 2441: namespace __swappable_with_details { 2441: using std::swap; 2441: 2441: struct __do_is_swappable_with_impl 2441: { 2441: template(), std::declval<_Up>())), 2441: typename 2441: = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> 2441: static true_type __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: }; 2441: 2441: struct __do_is_nothrow_swappable_with_impl 2441: { 2441: template 2441: static __bool_constant< 2441: noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) 2441: && 2441: noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) 2441: > __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: }; 2441: 2441: } 2441: 2441: template 2441: struct __is_swappable_with_impl 2441: : public __swappable_with_details::__do_is_swappable_with_impl 2441: { 2441: typedef decltype(__test<_Tp, _Up>(0)) type; 2441: }; 2441: 2441: 2441: template 2441: struct __is_swappable_with_impl<_Tp&, _Tp&> 2441: : public __swappable_details::__do_is_swappable_impl 2441: { 2441: typedef decltype(__test<_Tp&>(0)) type; 2441: }; 2441: 2441: template 2441: struct __is_nothrow_swappable_with_impl 2441: : public __swappable_with_details::__do_is_nothrow_swappable_with_impl 2441: { 2441: typedef decltype(__test<_Tp, _Up>(0)) type; 2441: }; 2441: 2441: 2441: template 2441: struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> 2441: : public __swappable_details::__do_is_nothrow_swappable_impl 2441: { 2441: typedef decltype(__test<_Tp&>(0)) type; 2441: }; 2441: 2441: 2441: template 2441: struct is_swappable_with 2441: : public __is_swappable_with_impl<_Tp, _Up>::type 2441: { }; 2441: 2441: 2441: template 2441: struct is_nothrow_swappable_with 2441: : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type 2441: { }; 2441: 2441: 2441: 2441: template 2441: constexpr bool is_swappable_with_v = 2441: is_swappable_with<_Tp, _Up>::value; 2441: 2441: 2441: template 2441: constexpr bool is_nothrow_swappable_with_v = 2441: is_nothrow_swappable_with<_Tp, _Up>::value; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_invocable_impl : false_type { }; 2441: 2441: template 2441: struct __is_invocable_impl<_Result, _Ret, __void_t> 2441: : __or_, is_convertible>::type 2441: { }; 2441: 2441: template 2441: struct __is_invocable 2441: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type 2441: { }; 2441: 2441: template 2441: constexpr bool __call_is_nt(__invoke_memfun_ref) 2441: { 2441: using _Up = typename __inv_unwrap<_Tp>::type; 2441: return noexcept((std::declval<_Up>().*std::declval<_Fn>())( 2441: std::declval<_Args>()...)); 2441: } 2441: 2441: template 2441: constexpr bool __call_is_nt(__invoke_memfun_deref) 2441: { 2441: return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( 2441: std::declval<_Args>()...)); 2441: } 2441: 2441: template 2441: constexpr bool __call_is_nt(__invoke_memobj_ref) 2441: { 2441: using _Up = typename __inv_unwrap<_Tp>::type; 2441: return noexcept(std::declval<_Up>().*std::declval<_Fn>()); 2441: } 2441: 2441: template 2441: constexpr bool __call_is_nt(__invoke_memobj_deref) 2441: { 2441: return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); 2441: } 2441: 2441: template 2441: constexpr bool __call_is_nt(__invoke_other) 2441: { 2441: return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); 2441: } 2441: 2441: template 2441: struct __call_is_nothrow 2441: : __bool_constant< 2441: std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) 2441: > 2441: { }; 2441: 2441: template 2441: using __call_is_nothrow_ 2441: = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; 2441: 2441: 2441: template 2441: struct __is_nothrow_invocable 2441: : __and_<__is_invocable<_Fn, _Args...>, 2441: __call_is_nothrow_<_Fn, _Args...>>::type 2441: { }; 2441: 2441: struct __nonesuch { 2441: __nonesuch() = delete; 2441: ~__nonesuch() = delete; 2441: __nonesuch(__nonesuch const&) = delete; 2441: void operator=(__nonesuch const&) = delete; 2441: }; 2441: # 2973 "/usr/include/c++/8/type_traits" 3 2441: 2441: } 2441: # 56 "/usr/include/c++/8/bits/move.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 72 "/usr/include/c++/8/bits/move.h" 3 2441: template 2441: constexpr _Tp&& 2441: forward(typename std::remove_reference<_Tp>::type& __t) noexcept 2441: { return static_cast<_Tp&&>(__t); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: constexpr _Tp&& 2441: forward(typename std::remove_reference<_Tp>::type&& __t) noexcept 2441: { 2441: static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument" 2441: " substituting _Tp is an lvalue reference type"); 2441: return static_cast<_Tp&&>(__t); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: constexpr typename std::remove_reference<_Tp>::type&& 2441: move(_Tp&& __t) noexcept 2441: { return static_cast::type&&>(__t); } 2441: 2441: 2441: template 2441: struct __move_if_noexcept_cond 2441: : public __and_<__not_>, 2441: is_copy_constructible<_Tp>>::type { }; 2441: # 116 "/usr/include/c++/8/bits/move.h" 3 2441: template 2441: constexpr typename 2441: conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type 2441: move_if_noexcept(_Tp& __x) noexcept 2441: { return std::move(__x); } 2441: # 136 "/usr/include/c++/8/bits/move.h" 3 2441: template 2441: inline _Tp* 2441: addressof(_Tp& __r) noexcept 2441: { return std::__addressof(__r); } 2441: 2441: 2441: 2441: template 2441: const _Tp* addressof(const _Tp&&) = delete; 2441: 2441: 2441: template 2441: inline _Tp 2441: __exchange(_Tp& __obj, _Up&& __new_val) 2441: { 2441: _Tp __old_val = std::move(__obj); 2441: __obj = std::forward<_Up>(__new_val); 2441: return __old_val; 2441: } 2441: # 176 "/usr/include/c++/8/bits/move.h" 3 2441: template 2441: inline 2441: 2441: typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, 2441: is_move_constructible<_Tp>, 2441: is_move_assignable<_Tp>>::value>::type 2441: swap(_Tp& __a, _Tp& __b) 2441: noexcept(__and_, 2441: is_nothrow_move_assignable<_Tp>>::value) 2441: 2441: 2441: 2441: 2441: { 2441: 2441: 2441: 2441: _Tp __tmp = std::move(__a); 2441: __a = std::move(__b); 2441: __b = std::move(__tmp); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline 2441: 2441: typename enable_if<__is_swappable<_Tp>::value>::type 2441: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 2441: noexcept(__is_nothrow_swappable<_Tp>::value) 2441: 2441: 2441: 2441: 2441: { 2441: for (size_t __n = 0; __n < _Nm; ++__n) 2441: swap(__a[__n], __b[__n]); 2441: } 2441: 2441: 2441: 2441: } 2441: # 60 "/usr/include/c++/8/bits/stl_pair.h" 2 3 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 76 "/usr/include/c++/8/bits/stl_pair.h" 3 2441: struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; 2441: 2441: 2441: constexpr piecewise_construct_t piecewise_construct = 2441: piecewise_construct_t(); 2441: 2441: 2441: template 2441: class tuple; 2441: 2441: template 2441: struct _Index_tuple; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct _PCC 2441: { 2441: template 2441: static constexpr bool _ConstructiblePair() 2441: { 2441: return __and_, 2441: is_constructible<_T2, const _U2&>>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyConvertiblePair() 2441: { 2441: return __and_, 2441: is_convertible>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _MoveConstructiblePair() 2441: { 2441: return __and_, 2441: is_constructible<_T2, _U2&&>>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyMoveConvertiblePair() 2441: { 2441: return __and_, 2441: is_convertible<_U2&&, _T2>>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _CopyMovePair() 2441: { 2441: using __do_converts = __and_, 2441: is_convertible<_U2&&, _T2>>; 2441: using __converts = typename conditional<__implicit, 2441: __do_converts, 2441: __not_<__do_converts>>::type; 2441: return __and_, 2441: is_constructible<_T2, _U2&&>, 2441: __converts 2441: >::value; 2441: } 2441: 2441: template 2441: static constexpr bool _MoveCopyPair() 2441: { 2441: using __do_converts = __and_, 2441: is_convertible>; 2441: using __converts = typename conditional<__implicit, 2441: __do_converts, 2441: __not_<__do_converts>>::type; 2441: return __and_, 2441: is_constructible<_T2, const _U2&&>, 2441: __converts 2441: >::value; 2441: } 2441: }; 2441: 2441: template 2441: struct _PCC 2441: { 2441: template 2441: static constexpr bool _ConstructiblePair() 2441: { 2441: return false; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyConvertiblePair() 2441: { 2441: return false; 2441: } 2441: 2441: template 2441: static constexpr bool _MoveConstructiblePair() 2441: { 2441: return false; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyMoveConvertiblePair() 2441: { 2441: return false; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: struct __nonesuch_no_braces : std::__nonesuch { 2441: explicit __nonesuch_no_braces(const __nonesuch&) = delete; 2441: }; 2441: 2441: 2441: template class __pair_base 2441: { 2441: 2441: template friend struct pair; 2441: __pair_base() = default; 2441: ~__pair_base() = default; 2441: __pair_base(const __pair_base&) = default; 2441: __pair_base& operator=(const __pair_base&) = delete; 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct pair 2441: : private __pair_base<_T1, _T2> 2441: { 2441: typedef _T1 first_type; 2441: typedef _T2 second_type; 2441: 2441: _T1 first; 2441: _T2 second; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template , 2441: __is_implicitly_default_constructible<_U2>> 2441: ::value, bool>::type = true> 2441: 2441: constexpr pair() 2441: : first(), second() { } 2441: 2441: 2441: template , 2441: is_default_constructible<_U2>, 2441: __not_< 2441: __and_<__is_implicitly_default_constructible<_U1>, 2441: __is_implicitly_default_constructible<_U2>>>> 2441: ::value, bool>::type = false> 2441: explicit constexpr pair() 2441: : first(), second() { } 2441: # 252 "/usr/include/c++/8/bits/stl_pair.h" 3 2441: using _PCCP = _PCC; 2441: 2441: template() 2441: && _PCCP::template 2441: _ImplicitlyConvertiblePair<_U1, _U2>(), 2441: bool>::type=true> 2441: constexpr pair(const _T1& __a, const _T2& __b) 2441: : first(__a), second(__b) { } 2441: 2441: template() 2441: && !_PCCP::template 2441: _ImplicitlyConvertiblePair<_U1, _U2>(), 2441: bool>::type=false> 2441: explicit constexpr pair(const _T1& __a, const _T2& __b) 2441: : first(__a), second(__b) { } 2441: # 280 "/usr/include/c++/8/bits/stl_pair.h" 3 2441: template 2441: using _PCCFP = _PCC::value 2441: || !is_same<_T2, _U2>::value, 2441: _T1, _T2>; 2441: 2441: template::template 2441: _ConstructiblePair<_U1, _U2>() 2441: && _PCCFP<_U1, _U2>::template 2441: _ImplicitlyConvertiblePair<_U1, _U2>(), 2441: bool>::type=true> 2441: constexpr pair(const pair<_U1, _U2>& __p) 2441: : first(__p.first), second(__p.second) { } 2441: 2441: template::template 2441: _ConstructiblePair<_U1, _U2>() 2441: && !_PCCFP<_U1, _U2>::template 2441: _ImplicitlyConvertiblePair<_U1, _U2>(), 2441: bool>::type=false> 2441: explicit constexpr pair(const pair<_U1, _U2>& __p) 2441: : first(__p.first), second(__p.second) { } 2441: 2441: constexpr pair(const pair&) = default; 2441: constexpr pair(pair&&) = default; 2441: 2441: 2441: template(), 2441: bool>::type=true> 2441: constexpr pair(_U1&& __x, const _T2& __y) 2441: : first(std::forward<_U1>(__x)), second(__y) { } 2441: 2441: template(), 2441: bool>::type=false> 2441: explicit constexpr pair(_U1&& __x, const _T2& __y) 2441: : first(std::forward<_U1>(__x)), second(__y) { } 2441: 2441: template(), 2441: bool>::type=true> 2441: constexpr pair(const _T1& __x, _U2&& __y) 2441: : first(__x), second(std::forward<_U2>(__y)) { } 2441: 2441: template(), 2441: bool>::type=false> 2441: explicit pair(const _T1& __x, _U2&& __y) 2441: : first(__x), second(std::forward<_U2>(__y)) { } 2441: 2441: template() 2441: && _PCCP::template 2441: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 2441: bool>::type=true> 2441: constexpr pair(_U1&& __x, _U2&& __y) 2441: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 2441: 2441: template() 2441: && !_PCCP::template 2441: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 2441: bool>::type=false> 2441: explicit constexpr pair(_U1&& __x, _U2&& __y) 2441: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 2441: 2441: 2441: template::template 2441: _MoveConstructiblePair<_U1, _U2>() 2441: && _PCCFP<_U1, _U2>::template 2441: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 2441: bool>::type=true> 2441: constexpr pair(pair<_U1, _U2>&& __p) 2441: : first(std::forward<_U1>(__p.first)), 2441: second(std::forward<_U2>(__p.second)) { } 2441: 2441: template::template 2441: _MoveConstructiblePair<_U1, _U2>() 2441: && !_PCCFP<_U1, _U2>::template 2441: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 2441: bool>::type=false> 2441: explicit constexpr pair(pair<_U1, _U2>&& __p) 2441: : first(std::forward<_U1>(__p.first)), 2441: second(std::forward<_U2>(__p.second)) { } 2441: 2441: template 2441: pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); 2441: 2441: pair& 2441: operator=(typename conditional< 2441: __and_, 2441: is_copy_assignable<_T2>>::value, 2441: const pair&, const __nonesuch_no_braces&>::type __p) 2441: { 2441: first = __p.first; 2441: second = __p.second; 2441: return *this; 2441: } 2441: 2441: pair& 2441: operator=(typename conditional< 2441: __and_, 2441: is_move_assignable<_T2>>::value, 2441: pair&&, __nonesuch_no_braces&&>::type __p) 2441: noexcept(__and_, 2441: is_nothrow_move_assignable<_T2>>::value) 2441: { 2441: first = std::forward(__p.first); 2441: second = std::forward(__p.second); 2441: return *this; 2441: } 2441: 2441: template 2441: typename enable_if<__and_, 2441: is_assignable<_T2&, const _U2&>>::value, 2441: pair&>::type 2441: operator=(const pair<_U1, _U2>& __p) 2441: { 2441: first = __p.first; 2441: second = __p.second; 2441: return *this; 2441: } 2441: 2441: template 2441: typename enable_if<__and_, 2441: is_assignable<_T2&, _U2&&>>::value, 2441: pair&>::type 2441: operator=(pair<_U1, _U2>&& __p) 2441: { 2441: first = std::forward<_U1>(__p.first); 2441: second = std::forward<_U2>(__p.second); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(pair& __p) 2441: noexcept(__and_<__is_nothrow_swappable<_T1>, 2441: __is_nothrow_swappable<_T2>>::value) 2441: { 2441: using std::swap; 2441: swap(first, __p.first); 2441: swap(second, __p.second); 2441: } 2441: 2441: private: 2441: template 2441: pair(tuple<_Args1...>&, tuple<_Args2...>&, 2441: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline constexpr bool 2441: operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 2441: { return __x.first == __y.first && __x.second == __y.second; } 2441: 2441: 2441: template 2441: inline constexpr bool 2441: operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 2441: { return __x.first < __y.first 2441: || (!(__y.first < __x.first) && __x.second < __y.second); } 2441: 2441: 2441: template 2441: inline constexpr bool 2441: operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 2441: { return !(__x == __y); } 2441: 2441: 2441: template 2441: inline constexpr bool 2441: operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 2441: { return __y < __x; } 2441: 2441: 2441: template 2441: inline constexpr bool 2441: operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 2441: { return !(__y < __x); } 2441: 2441: 2441: template 2441: inline constexpr bool 2441: operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline 2441: 2441: 2441: typename enable_if<__and_<__is_swappable<_T1>, 2441: __is_swappable<_T2>>::value>::type 2441: 2441: 2441: 2441: swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: template 2441: typename enable_if, 2441: __is_swappable<_T2>>::value>::type 2441: swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; 2441: # 521 "/usr/include/c++/8/bits/stl_pair.h" 3 2441: template 2441: constexpr pair::__type, 2441: typename __decay_and_strip<_T2>::__type> 2441: make_pair(_T1&& __x, _T2&& __y) 2441: { 2441: typedef typename __decay_and_strip<_T1>::__type __ds_type1; 2441: typedef typename __decay_and_strip<_T2>::__type __ds_type2; 2441: typedef pair<__ds_type1, __ds_type2> __pair_type; 2441: return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); 2441: } 2441: # 540 "/usr/include/c++/8/bits/stl_pair.h" 3 2441: 2441: } 2441: # 71 "/usr/include/c++/8/utility" 2 3 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/initializer_list" 1 3 2441: # 33 "/usr/include/c++/8/initializer_list" 3 2441: 2441: # 34 "/usr/include/c++/8/initializer_list" 3 2441: 2441: 2441: 2441: 2441: 2441: #pragma GCC visibility push(default) 2441: 2441: 2441: 2441: namespace std 2441: { 2441: 2441: template 2441: class initializer_list 2441: { 2441: public: 2441: typedef _E value_type; 2441: typedef const _E& reference; 2441: typedef const _E& const_reference; 2441: typedef size_t size_type; 2441: typedef const _E* iterator; 2441: typedef const _E* const_iterator; 2441: 2441: private: 2441: iterator _M_array; 2441: size_type _M_len; 2441: 2441: 2441: constexpr initializer_list(const_iterator __a, size_type __l) 2441: : _M_array(__a), _M_len(__l) { } 2441: 2441: public: 2441: constexpr initializer_list() noexcept 2441: : _M_array(0), _M_len(0) { } 2441: 2441: 2441: constexpr size_type 2441: size() const noexcept { return _M_len; } 2441: 2441: 2441: constexpr const_iterator 2441: begin() const noexcept { return _M_array; } 2441: 2441: 2441: constexpr const_iterator 2441: end() const noexcept { return begin() + size(); } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: constexpr const _Tp* 2441: begin(initializer_list<_Tp> __ils) noexcept 2441: { return __ils.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: constexpr const _Tp* 2441: end(initializer_list<_Tp> __ils) noexcept 2441: { return __ils.end(); } 2441: } 2441: 2441: #pragma GCC visibility pop 2441: # 77 "/usr/include/c++/8/utility" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: struct tuple_size; 2441: 2441: 2441: 2441: 2441: 2441: template::type, 2441: typename = typename enable_if::value>::type, 2441: size_t = tuple_size<_Tp>::value> 2441: using __enable_if_has_tuple_size = _Tp; 2441: 2441: template 2441: struct tuple_size> 2441: : public tuple_size<_Tp> { }; 2441: 2441: template 2441: struct tuple_size> 2441: : public tuple_size<_Tp> { }; 2441: 2441: template 2441: struct tuple_size> 2441: : public tuple_size<_Tp> { }; 2441: 2441: 2441: template 2441: struct tuple_element; 2441: 2441: 2441: template 2441: using __tuple_element_t = typename tuple_element<__i, _Tp>::type; 2441: 2441: template 2441: struct tuple_element<__i, const _Tp> 2441: { 2441: typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type; 2441: }; 2441: 2441: template 2441: struct tuple_element<__i, volatile _Tp> 2441: { 2441: typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type; 2441: }; 2441: 2441: template 2441: struct tuple_element<__i, const volatile _Tp> 2441: { 2441: typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: using tuple_element_t = typename tuple_element<__i, _Tp>::type; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_tuple_like_impl> : true_type 2441: { }; 2441: 2441: 2441: template 2441: struct tuple_size> 2441: : public integral_constant { }; 2441: 2441: 2441: template 2441: struct tuple_element<0, std::pair<_Tp1, _Tp2>> 2441: { typedef _Tp1 type; }; 2441: 2441: 2441: template 2441: struct tuple_element<1, std::pair<_Tp1, _Tp2>> 2441: { typedef _Tp2 type; }; 2441: 2441: template 2441: struct __pair_get; 2441: 2441: template<> 2441: struct __pair_get<0> 2441: { 2441: template 2441: static constexpr _Tp1& 2441: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 2441: { return __pair.first; } 2441: 2441: template 2441: static constexpr _Tp1&& 2441: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 2441: { return std::forward<_Tp1>(__pair.first); } 2441: 2441: template 2441: static constexpr const _Tp1& 2441: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 2441: { return __pair.first; } 2441: 2441: template 2441: static constexpr const _Tp1&& 2441: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 2441: { return std::forward(__pair.first); } 2441: }; 2441: 2441: template<> 2441: struct __pair_get<1> 2441: { 2441: template 2441: static constexpr _Tp2& 2441: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 2441: { return __pair.second; } 2441: 2441: template 2441: static constexpr _Tp2&& 2441: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 2441: { return std::forward<_Tp2>(__pair.second); } 2441: 2441: template 2441: static constexpr const _Tp2& 2441: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 2441: { return __pair.second; } 2441: 2441: template 2441: static constexpr const _Tp2&& 2441: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 2441: { return std::forward(__pair.second); } 2441: }; 2441: 2441: template 2441: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 2441: get(std::pair<_Tp1, _Tp2>& __in) noexcept 2441: { return __pair_get<_Int>::__get(__in); } 2441: 2441: template 2441: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 2441: get(std::pair<_Tp1, _Tp2>&& __in) noexcept 2441: { return __pair_get<_Int>::__move_get(std::move(__in)); } 2441: 2441: template 2441: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 2441: get(const std::pair<_Tp1, _Tp2>& __in) noexcept 2441: { return __pair_get<_Int>::__const_get(__in); } 2441: 2441: template 2441: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 2441: get(const std::pair<_Tp1, _Tp2>&& __in) noexcept 2441: { return __pair_get<_Int>::__const_move_get(std::move(__in)); } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: constexpr _Tp& 2441: get(pair<_Tp, _Up>& __p) noexcept 2441: { return __p.first; } 2441: 2441: template 2441: constexpr const _Tp& 2441: get(const pair<_Tp, _Up>& __p) noexcept 2441: { return __p.first; } 2441: 2441: template 2441: constexpr _Tp&& 2441: get(pair<_Tp, _Up>&& __p) noexcept 2441: { return std::move(__p.first); } 2441: 2441: template 2441: constexpr const _Tp&& 2441: get(const pair<_Tp, _Up>&& __p) noexcept 2441: { return std::move(__p.first); } 2441: 2441: template 2441: constexpr _Tp& 2441: get(pair<_Up, _Tp>& __p) noexcept 2441: { return __p.second; } 2441: 2441: template 2441: constexpr const _Tp& 2441: get(const pair<_Up, _Tp>& __p) noexcept 2441: { return __p.second; } 2441: 2441: template 2441: constexpr _Tp&& 2441: get(pair<_Up, _Tp>&& __p) noexcept 2441: { return std::move(__p.second); } 2441: 2441: template 2441: constexpr const _Tp&& 2441: get(const pair<_Up, _Tp>&& __p) noexcept 2441: { return std::move(__p.second); } 2441: 2441: 2441: 2441: 2441: template 2441: inline _Tp 2441: exchange(_Tp& __obj, _Up&& __new_val) 2441: { return std::__exchange(__obj, std::forward<_Up>(__new_val)); } 2441: 2441: 2441: 2441: 2441: template struct _Index_tuple { }; 2441: # 298 "/usr/include/c++/8/utility" 3 2441: template 2441: struct _Build_index_tuple 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: using __type = _Index_tuple<__integer_pack(_Num)...>; 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct integer_sequence 2441: { 2441: typedef _Tp value_type; 2441: static constexpr size_t size() noexcept { return sizeof...(_Idx); } 2441: }; 2441: 2441: 2441: template 2441: using make_integer_sequence 2441: 2441: 2441: 2441: = integer_sequence<_Tp, __integer_pack(_Num)...>; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: using index_sequence = integer_sequence; 2441: 2441: 2441: template 2441: using make_index_sequence = make_integer_sequence; 2441: 2441: 2441: template 2441: using index_sequence_for = make_index_sequence; 2441: # 393 "/usr/include/c++/8/utility" 3 2441: 2441: } 2441: # 39 "/usr/include/gmpxx.h" 2 3 4 2441: # 1 "/usr/include/c++/8/algorithm" 1 3 4 2441: # 58 "/usr/include/c++/8/algorithm" 3 4 2441: 2441: # 59 "/usr/include/c++/8/algorithm" 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/stl_algobase.h" 1 3 2441: # 60 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: # 1 "/usr/include/c++/8/bits/functexcept.h" 1 3 2441: # 40 "/usr/include/c++/8/bits/functexcept.h" 3 2441: # 1 "/usr/include/c++/8/bits/exception_defines.h" 1 3 2441: # 41 "/usr/include/c++/8/bits/functexcept.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: void 2441: __throw_bad_exception(void) __attribute__((__noreturn__)); 2441: 2441: 2441: void 2441: __throw_bad_alloc(void) __attribute__((__noreturn__)); 2441: 2441: 2441: void 2441: __throw_bad_cast(void) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_bad_typeid(void) __attribute__((__noreturn__)); 2441: 2441: 2441: void 2441: __throw_logic_error(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_domain_error(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_invalid_argument(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_length_error(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_out_of_range(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) 2441: __attribute__((__format__(__gnu_printf__, 1, 2))); 2441: 2441: void 2441: __throw_runtime_error(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_range_error(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_overflow_error(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_underflow_error(const char*) __attribute__((__noreturn__)); 2441: 2441: 2441: void 2441: __throw_ios_failure(const char*) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_system_error(int) __attribute__((__noreturn__)); 2441: 2441: void 2441: __throw_future_error(int) __attribute__((__noreturn__)); 2441: 2441: 2441: void 2441: __throw_bad_function_call() __attribute__((__noreturn__)); 2441: 2441: 2441: } 2441: # 61 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: # 1 "/usr/include/c++/8/bits/cpp_type_traits.h" 1 3 2441: # 35 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 2441: 2441: # 36 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 2441: # 67 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 2441: extern "C++" { 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: struct __true_type { }; 2441: struct __false_type { }; 2441: 2441: template 2441: struct __truth_type 2441: { typedef __false_type __type; }; 2441: 2441: template<> 2441: struct __truth_type 2441: { typedef __true_type __type; }; 2441: 2441: 2441: 2441: template 2441: struct __traitor 2441: { 2441: enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; 2441: typedef typename __truth_type<__value>::__type __type; 2441: }; 2441: 2441: 2441: template 2441: struct __are_same 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: template 2441: struct __are_same<_Tp, _Tp> 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: template 2441: struct __is_void 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_void 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_integer 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_integer 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: # 278 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 2441: template 2441: struct __is_floating 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: 2441: template<> 2441: struct __is_floating 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_floating 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_floating 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_pointer 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: template 2441: struct __is_pointer<_Tp*> 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_arithmetic 2441: : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > 2441: { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_scalar 2441: : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > 2441: { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_char 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_char 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: template<> 2441: struct __is_char 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: 2441: template 2441: struct __is_byte 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_byte 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_byte 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template<> 2441: struct __is_byte 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: # 408 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 2441: template 2441: struct __is_move_iterator 2441: { 2441: enum { __value = 0 }; 2441: typedef __false_type __type; 2441: }; 2441: 2441: 2441: 2441: template 2441: inline _Iterator 2441: __miter_base(_Iterator __it) 2441: { return __it; } 2441: 2441: 2441: } 2441: } 2441: # 62 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: # 1 "/usr/include/c++/8/ext/type_traits.h" 1 3 2441: # 32 "/usr/include/c++/8/ext/type_traits.h" 3 2441: 2441: # 33 "/usr/include/c++/8/ext/type_traits.h" 3 2441: 2441: 2441: 2441: 2441: extern "C++" { 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: struct __enable_if 2441: { }; 2441: 2441: template 2441: struct __enable_if 2441: { typedef _Tp __type; }; 2441: 2441: 2441: 2441: template 2441: struct __conditional_type 2441: { typedef _Iftrue __type; }; 2441: 2441: template 2441: struct __conditional_type 2441: { typedef _Iffalse __type; }; 2441: 2441: 2441: 2441: template 2441: struct __add_unsigned 2441: { 2441: private: 2441: typedef __enable_if::__value, _Tp> __if_type; 2441: 2441: public: 2441: typedef typename __if_type::__type __type; 2441: }; 2441: 2441: template<> 2441: struct __add_unsigned 2441: { typedef unsigned char __type; }; 2441: 2441: template<> 2441: struct __add_unsigned 2441: { typedef unsigned char __type; }; 2441: 2441: template<> 2441: struct __add_unsigned 2441: { typedef unsigned short __type; }; 2441: 2441: template<> 2441: struct __add_unsigned 2441: { typedef unsigned int __type; }; 2441: 2441: template<> 2441: struct __add_unsigned 2441: { typedef unsigned long __type; }; 2441: 2441: template<> 2441: struct __add_unsigned 2441: { typedef unsigned long long __type; }; 2441: 2441: 2441: template<> 2441: struct __add_unsigned; 2441: 2441: template<> 2441: struct __add_unsigned; 2441: 2441: 2441: 2441: template 2441: struct __remove_unsigned 2441: { 2441: private: 2441: typedef __enable_if::__value, _Tp> __if_type; 2441: 2441: public: 2441: typedef typename __if_type::__type __type; 2441: }; 2441: 2441: template<> 2441: struct __remove_unsigned 2441: { typedef signed char __type; }; 2441: 2441: template<> 2441: struct __remove_unsigned 2441: { typedef signed char __type; }; 2441: 2441: template<> 2441: struct __remove_unsigned 2441: { typedef short __type; }; 2441: 2441: template<> 2441: struct __remove_unsigned 2441: { typedef int __type; }; 2441: 2441: template<> 2441: struct __remove_unsigned 2441: { typedef long __type; }; 2441: 2441: template<> 2441: struct __remove_unsigned 2441: { typedef long long __type; }; 2441: 2441: 2441: template<> 2441: struct __remove_unsigned; 2441: 2441: template<> 2441: struct __remove_unsigned; 2441: 2441: 2441: 2441: template 2441: inline bool 2441: __is_null_pointer(_Type* __ptr) 2441: { return __ptr == 0; } 2441: 2441: template 2441: inline bool 2441: __is_null_pointer(_Type) 2441: { return false; } 2441: 2441: 2441: inline bool 2441: __is_null_pointer(std::nullptr_t) 2441: { return true; } 2441: 2441: 2441: 2441: template::__value> 2441: struct __promote 2441: { typedef double __type; }; 2441: 2441: 2441: 2441: 2441: template 2441: struct __promote<_Tp, false> 2441: { }; 2441: 2441: template<> 2441: struct __promote 2441: { typedef long double __type; }; 2441: 2441: template<> 2441: struct __promote 2441: { typedef double __type; }; 2441: 2441: template<> 2441: struct __promote 2441: { typedef float __type; }; 2441: 2441: template::__type, 2441: typename _Up2 = typename __promote<_Up>::__type> 2441: struct __promote_2 2441: { 2441: typedef __typeof__(_Tp2() + _Up2()) __type; 2441: }; 2441: 2441: template::__type, 2441: typename _Up2 = typename __promote<_Up>::__type, 2441: typename _Vp2 = typename __promote<_Vp>::__type> 2441: struct __promote_3 2441: { 2441: typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; 2441: }; 2441: 2441: template::__type, 2441: typename _Up2 = typename __promote<_Up>::__type, 2441: typename _Vp2 = typename __promote<_Vp>::__type, 2441: typename _Wp2 = typename __promote<_Wp>::__type> 2441: struct __promote_4 2441: { 2441: typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; 2441: }; 2441: 2441: 2441: } 2441: } 2441: # 63 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: # 1 "/usr/include/c++/8/ext/numeric_traits.h" 1 3 2441: # 32 "/usr/include/c++/8/ext/numeric_traits.h" 3 2441: 2441: # 33 "/usr/include/c++/8/ext/numeric_traits.h" 3 2441: 2441: 2441: 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 54 "/usr/include/c++/8/ext/numeric_traits.h" 3 2441: template 2441: struct __numeric_traits_integer 2441: { 2441: 2441: static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); 2441: static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); 2441: 2441: 2441: 2441: static const bool __is_signed = ((_Value)(-1) < 0); 2441: static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); 2441: }; 2441: 2441: template 2441: const _Value __numeric_traits_integer<_Value>::__min; 2441: 2441: template 2441: const _Value __numeric_traits_integer<_Value>::__max; 2441: 2441: template 2441: const bool __numeric_traits_integer<_Value>::__is_signed; 2441: 2441: template 2441: const int __numeric_traits_integer<_Value>::__digits; 2441: # 99 "/usr/include/c++/8/ext/numeric_traits.h" 3 2441: template 2441: struct __numeric_traits_floating 2441: { 2441: 2441: static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136); 2441: 2441: 2441: static const bool __is_signed = true; 2441: static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18); 2441: static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932); 2441: }; 2441: 2441: template 2441: const int __numeric_traits_floating<_Value>::__max_digits10; 2441: 2441: template 2441: const bool __numeric_traits_floating<_Value>::__is_signed; 2441: 2441: template 2441: const int __numeric_traits_floating<_Value>::__digits10; 2441: 2441: template 2441: const int __numeric_traits_floating<_Value>::__max_exponent10; 2441: 2441: template 2441: struct __numeric_traits 2441: : public __conditional_type::__value, 2441: __numeric_traits_integer<_Value>, 2441: __numeric_traits_floating<_Value> >::__type 2441: { }; 2441: 2441: 2441: } 2441: # 64 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 1 3 2441: # 62 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 2441: 2441: # 63 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 89 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 2441: struct input_iterator_tag { }; 2441: 2441: 2441: struct output_iterator_tag { }; 2441: 2441: 2441: struct forward_iterator_tag : public input_iterator_tag { }; 2441: 2441: 2441: 2441: struct bidirectional_iterator_tag : public forward_iterator_tag { }; 2441: 2441: 2441: 2441: struct random_access_iterator_tag : public bidirectional_iterator_tag { }; 2441: # 116 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 2441: template 2441: struct iterator 2441: { 2441: 2441: typedef _Category iterator_category; 2441: 2441: typedef _Tp value_type; 2441: 2441: typedef _Distance difference_type; 2441: 2441: typedef _Pointer pointer; 2441: 2441: typedef _Reference reference; 2441: }; 2441: # 143 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 2441: template> 2441: struct __iterator_traits { }; 2441: 2441: template 2441: struct __iterator_traits<_Iterator, 2441: __void_t> 2441: { 2441: typedef typename _Iterator::iterator_category iterator_category; 2441: typedef typename _Iterator::value_type value_type; 2441: typedef typename _Iterator::difference_type difference_type; 2441: typedef typename _Iterator::pointer pointer; 2441: typedef typename _Iterator::reference reference; 2441: }; 2441: 2441: template 2441: struct iterator_traits 2441: : public __iterator_traits<_Iterator> { }; 2441: # 177 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 2441: template 2441: struct iterator_traits<_Tp*> 2441: { 2441: typedef random_access_iterator_tag iterator_category; 2441: typedef _Tp value_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Tp* pointer; 2441: typedef _Tp& reference; 2441: }; 2441: 2441: 2441: template 2441: struct iterator_traits 2441: { 2441: typedef random_access_iterator_tag iterator_category; 2441: typedef _Tp value_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef const _Tp* pointer; 2441: typedef const _Tp& reference; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline constexpr 2441: typename iterator_traits<_Iter>::iterator_category 2441: __iterator_category(const _Iter&) 2441: { return typename iterator_traits<_Iter>::iterator_category(); } 2441: # 231 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 2441: template 2441: using _RequireInputIter = typename 2441: enable_if::iterator_category, 2441: input_iterator_tag>::value>::type; 2441: 2441: 2441: 2441: } 2441: # 66 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 1 3 2441: # 62 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 2441: 2441: # 63 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/debug/assertions.h" 1 3 2441: # 66 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: template struct _List_iterator; 2441: template struct _List_const_iterator; 2441: 2441: 2441: template 2441: inline constexpr 2441: typename iterator_traits<_InputIterator>::difference_type 2441: __distance(_InputIterator __first, _InputIterator __last, 2441: input_iterator_tag) 2441: { 2441: 2441: 2441: 2441: typename iterator_traits<_InputIterator>::difference_type __n = 0; 2441: while (__first != __last) 2441: { 2441: ++__first; 2441: ++__n; 2441: } 2441: return __n; 2441: } 2441: 2441: template 2441: inline constexpr 2441: typename iterator_traits<_RandomAccessIterator>::difference_type 2441: __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: random_access_iterator_tag) 2441: { 2441: 2441: 2441: 2441: return __last - __first; 2441: } 2441: 2441: 2441: 2441: template 2441: ptrdiff_t 2441: __distance(std::_List_iterator<_Tp>, 2441: std::_List_iterator<_Tp>, 2441: input_iterator_tag); 2441: 2441: template 2441: ptrdiff_t 2441: __distance(std::_List_const_iterator<_Tp>, 2441: std::_List_const_iterator<_Tp>, 2441: input_iterator_tag); 2441: # 135 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 2441: template 2441: inline 2441: typename iterator_traits<_InputIterator>::difference_type 2441: distance(_InputIterator __first, _InputIterator __last) 2441: { 2441: 2441: return std::__distance(__first, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: template 2441: inline constexpr void 2441: __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) 2441: { 2441: 2441: 2441: ; 2441: while (__n--) 2441: ++__i; 2441: } 2441: 2441: template 2441: inline constexpr void 2441: __advance(_BidirectionalIterator& __i, _Distance __n, 2441: bidirectional_iterator_tag) 2441: { 2441: 2441: 2441: 2441: if (__n > 0) 2441: while (__n--) 2441: ++__i; 2441: else 2441: while (__n++) 2441: --__i; 2441: } 2441: 2441: template 2441: inline constexpr void 2441: __advance(_RandomAccessIterator& __i, _Distance __n, 2441: random_access_iterator_tag) 2441: { 2441: 2441: 2441: 2441: if (__builtin_constant_p(__n) && __n == 1) 2441: ++__i; 2441: else if (__builtin_constant_p(__n) && __n == -1) 2441: --__i; 2441: else 2441: __i += __n; 2441: } 2441: # 200 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 2441: template 2441: inline void 2441: advance(_InputIterator& __i, _Distance __n) 2441: { 2441: 2441: typename iterator_traits<_InputIterator>::difference_type __d = __n; 2441: std::__advance(__i, __d, std::__iterator_category(__i)); 2441: } 2441: 2441: 2441: 2441: template 2441: inline _InputIterator 2441: next(_InputIterator __x, typename 2441: iterator_traits<_InputIterator>::difference_type __n = 1) 2441: { 2441: 2441: 2441: std::advance(__x, __n); 2441: return __x; 2441: } 2441: 2441: template 2441: inline _BidirectionalIterator 2441: prev(_BidirectionalIterator __x, typename 2441: iterator_traits<_BidirectionalIterator>::difference_type __n = 1) 2441: { 2441: 2441: 2441: 2441: std::advance(__x, -__n); 2441: return __x; 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 67 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_iterator.h" 1 3 2441: # 66 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: # 1 "/usr/include/c++/8/bits/ptr_traits.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/ptr_traits.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: class __undefined; 2441: 2441: 2441: template 2441: struct __get_first_arg 2441: { using type = __undefined; }; 2441: 2441: template class _Template, typename _Tp, 2441: typename... _Types> 2441: struct __get_first_arg<_Template<_Tp, _Types...>> 2441: { using type = _Tp; }; 2441: 2441: template 2441: using __get_first_arg_t = typename __get_first_arg<_Tp>::type; 2441: 2441: 2441: template 2441: struct __replace_first_arg 2441: { }; 2441: 2441: template class _Template, typename _Up, 2441: typename _Tp, typename... _Types> 2441: struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> 2441: { using type = _Template<_Up, _Types...>; }; 2441: 2441: template 2441: using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; 2441: 2441: template 2441: using __make_not_void 2441: = typename conditional::value, __undefined, _Tp>::type; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct pointer_traits 2441: { 2441: private: 2441: template 2441: using __element_type = typename _Tp::element_type; 2441: 2441: template 2441: using __difference_type = typename _Tp::difference_type; 2441: 2441: template 2441: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 2441: 2441: template 2441: struct __rebind<_Tp, _Up, __void_t>> 2441: { using type = typename _Tp::template rebind<_Up>; }; 2441: 2441: public: 2441: 2441: using pointer = _Ptr; 2441: 2441: 2441: using element_type 2441: = __detected_or_t<__get_first_arg_t<_Ptr>, __element_type, _Ptr>; 2441: 2441: 2441: using difference_type 2441: = __detected_or_t; 2441: 2441: 2441: template 2441: using rebind = typename __rebind<_Ptr, _Up>::type; 2441: 2441: static _Ptr 2441: pointer_to(__make_not_void& __e) 2441: { return _Ptr::pointer_to(__e); } 2441: 2441: static_assert(!is_same::value, 2441: "pointer type defines element_type or is like SomePointer"); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct pointer_traits<_Tp*> 2441: { 2441: 2441: typedef _Tp* pointer; 2441: 2441: typedef _Tp element_type; 2441: 2441: typedef ptrdiff_t difference_type; 2441: 2441: template 2441: using rebind = _Up*; 2441: 2441: 2441: 2441: 2441: 2441: 2441: static pointer 2441: pointer_to(__make_not_void& __r) noexcept 2441: { return std::addressof(__r); } 2441: }; 2441: 2441: 2441: template 2441: using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; 2441: 2441: template 2441: constexpr _Tp* 2441: __to_address(_Tp* __ptr) noexcept 2441: { 2441: static_assert(!std::is_function<_Tp>::value, "not a function pointer"); 2441: return __ptr; 2441: } 2441: 2441: 2441: template 2441: constexpr typename std::pointer_traits<_Ptr>::element_type* 2441: __to_address(const _Ptr& __ptr) 2441: { return std::__to_address(__ptr.operator->()); } 2441: # 198 "/usr/include/c++/8/bits/ptr_traits.h" 3 2441: 2441: } 2441: # 67 "/usr/include/c++/8/bits/stl_iterator.h" 2 3 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 100 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: class reverse_iterator 2441: : public iterator::iterator_category, 2441: typename iterator_traits<_Iterator>::value_type, 2441: typename iterator_traits<_Iterator>::difference_type, 2441: typename iterator_traits<_Iterator>::pointer, 2441: typename iterator_traits<_Iterator>::reference> 2441: { 2441: protected: 2441: _Iterator current; 2441: 2441: typedef iterator_traits<_Iterator> __traits_type; 2441: 2441: public: 2441: typedef _Iterator iterator_type; 2441: typedef typename __traits_type::difference_type difference_type; 2441: typedef typename __traits_type::pointer pointer; 2441: typedef typename __traits_type::reference reference; 2441: # 126 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: 2441: reverse_iterator() : current() { } 2441: 2441: 2441: 2441: 2441: explicit 2441: reverse_iterator(iterator_type __x) : current(__x) { } 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator(const reverse_iterator& __x) 2441: : current(__x.current) { } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: 2441: reverse_iterator(const reverse_iterator<_Iter>& __x) 2441: : current(__x.base()) { } 2441: 2441: 2441: 2441: 2441: iterator_type 2441: base() const 2441: { return current; } 2441: # 168 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: reference 2441: operator*() const 2441: { 2441: _Iterator __tmp = current; 2441: return *--__tmp; 2441: } 2441: # 182 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: pointer 2441: operator->() const 2441: { return std::__addressof(operator*()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator& 2441: operator++() 2441: { 2441: --current; 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: operator++(int) 2441: { 2441: reverse_iterator __tmp = *this; 2441: --current; 2441: return __tmp; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator& 2441: operator--() 2441: { 2441: ++current; 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: operator--(int) 2441: { 2441: reverse_iterator __tmp = *this; 2441: ++current; 2441: return __tmp; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: operator+(difference_type __n) const 2441: { return reverse_iterator(current - __n); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator& 2441: operator+=(difference_type __n) 2441: { 2441: current -= __n; 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: operator-(difference_type __n) const 2441: { return reverse_iterator(current + __n); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator& 2441: operator-=(difference_type __n) 2441: { 2441: current += __n; 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reference 2441: operator[](difference_type __n) const 2441: { return *(*this + __n); } 2441: }; 2441: # 300 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: inline bool 2441: operator==(const reverse_iterator<_Iterator>& __x, 2441: const reverse_iterator<_Iterator>& __y) 2441: { return __x.base() == __y.base(); } 2441: 2441: template 2441: inline bool 2441: operator<(const reverse_iterator<_Iterator>& __x, 2441: const reverse_iterator<_Iterator>& __y) 2441: { return __y.base() < __x.base(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const reverse_iterator<_Iterator>& __x, 2441: const reverse_iterator<_Iterator>& __y) 2441: { return !(__x == __y); } 2441: 2441: template 2441: inline bool 2441: operator>(const reverse_iterator<_Iterator>& __x, 2441: const reverse_iterator<_Iterator>& __y) 2441: { return __y < __x; } 2441: 2441: template 2441: inline bool 2441: operator<=(const reverse_iterator<_Iterator>& __x, 2441: const reverse_iterator<_Iterator>& __y) 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator>=(const reverse_iterator<_Iterator>& __x, 2441: const reverse_iterator<_Iterator>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const reverse_iterator<_IteratorL>& __x, 2441: const reverse_iterator<_IteratorR>& __y) 2441: { return __x.base() == __y.base(); } 2441: 2441: template 2441: inline bool 2441: operator<(const reverse_iterator<_IteratorL>& __x, 2441: const reverse_iterator<_IteratorR>& __y) 2441: { return __y.base() < __x.base(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const reverse_iterator<_IteratorL>& __x, 2441: const reverse_iterator<_IteratorR>& __y) 2441: { return !(__x == __y); } 2441: 2441: template 2441: inline bool 2441: operator>(const reverse_iterator<_IteratorL>& __x, 2441: const reverse_iterator<_IteratorR>& __y) 2441: { return __y < __x; } 2441: 2441: template 2441: inline bool 2441: operator<=(const reverse_iterator<_IteratorL>& __x, 2441: const reverse_iterator<_IteratorR>& __y) 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator>=(const reverse_iterator<_IteratorL>& __x, 2441: const reverse_iterator<_IteratorR>& __y) 2441: { return !(__x < __y); } 2441: # 390 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: inline auto 2441: operator-(const reverse_iterator<_IteratorL>& __x, 2441: const reverse_iterator<_IteratorR>& __y) 2441: -> decltype(__y.base() - __x.base()) 2441: { return __y.base() - __x.base(); } 2441: 2441: 2441: template 2441: inline reverse_iterator<_Iterator> 2441: operator+(typename reverse_iterator<_Iterator>::difference_type __n, 2441: const reverse_iterator<_Iterator>& __x) 2441: { return reverse_iterator<_Iterator>(__x.base() - __n); } 2441: 2441: 2441: 2441: template 2441: inline reverse_iterator<_Iterator> 2441: __make_reverse_iterator(_Iterator __i) 2441: { return reverse_iterator<_Iterator>(__i); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline reverse_iterator<_Iterator> 2441: make_reverse_iterator(_Iterator __i) 2441: { return reverse_iterator<_Iterator>(__i); } 2441: 2441: 2441: 2441: 2441: template 2441: auto 2441: __niter_base(reverse_iterator<_Iterator> __it) 2441: -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) 2441: { return __make_reverse_iterator(__niter_base(__it.base())); } 2441: 2441: template 2441: struct __is_move_iterator > 2441: : __is_move_iterator<_Iterator> 2441: { }; 2441: 2441: template 2441: auto 2441: __miter_base(reverse_iterator<_Iterator> __it) 2441: -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) 2441: { return __make_reverse_iterator(__miter_base(__it.base())); } 2441: # 454 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: class back_insert_iterator 2441: : public iterator 2441: { 2441: protected: 2441: _Container* container; 2441: 2441: public: 2441: 2441: typedef _Container container_type; 2441: 2441: 2441: explicit 2441: back_insert_iterator(_Container& __x) 2441: : container(std::__addressof(__x)) { } 2441: # 489 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: back_insert_iterator& 2441: operator=(const typename _Container::value_type& __value) 2441: { 2441: container->push_back(__value); 2441: return *this; 2441: } 2441: 2441: back_insert_iterator& 2441: operator=(typename _Container::value_type&& __value) 2441: { 2441: container->push_back(std::move(__value)); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: back_insert_iterator& 2441: operator*() 2441: { return *this; } 2441: 2441: 2441: back_insert_iterator& 2441: operator++() 2441: { return *this; } 2441: 2441: 2441: back_insert_iterator 2441: operator++(int) 2441: { return *this; } 2441: }; 2441: # 531 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: inline back_insert_iterator<_Container> 2441: back_inserter(_Container& __x) 2441: { return back_insert_iterator<_Container>(__x); } 2441: # 546 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: class front_insert_iterator 2441: : public iterator 2441: { 2441: protected: 2441: _Container* container; 2441: 2441: public: 2441: 2441: typedef _Container container_type; 2441: 2441: 2441: explicit front_insert_iterator(_Container& __x) 2441: : container(std::__addressof(__x)) { } 2441: # 580 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: front_insert_iterator& 2441: operator=(const typename _Container::value_type& __value) 2441: { 2441: container->push_front(__value); 2441: return *this; 2441: } 2441: 2441: front_insert_iterator& 2441: operator=(typename _Container::value_type&& __value) 2441: { 2441: container->push_front(std::move(__value)); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: front_insert_iterator& 2441: operator*() 2441: { return *this; } 2441: 2441: 2441: front_insert_iterator& 2441: operator++() 2441: { return *this; } 2441: 2441: 2441: front_insert_iterator 2441: operator++(int) 2441: { return *this; } 2441: }; 2441: # 622 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: inline front_insert_iterator<_Container> 2441: front_inserter(_Container& __x) 2441: { return front_insert_iterator<_Container>(__x); } 2441: # 641 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: class insert_iterator 2441: : public iterator 2441: { 2441: protected: 2441: _Container* container; 2441: typename _Container::iterator iter; 2441: 2441: public: 2441: 2441: typedef _Container container_type; 2441: 2441: 2441: 2441: 2441: 2441: insert_iterator(_Container& __x, typename _Container::iterator __i) 2441: : container(std::__addressof(__x)), iter(__i) {} 2441: # 692 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: insert_iterator& 2441: operator=(const typename _Container::value_type& __value) 2441: { 2441: iter = container->insert(iter, __value); 2441: ++iter; 2441: return *this; 2441: } 2441: 2441: insert_iterator& 2441: operator=(typename _Container::value_type&& __value) 2441: { 2441: iter = container->insert(iter, std::move(__value)); 2441: ++iter; 2441: return *this; 2441: } 2441: 2441: 2441: 2441: insert_iterator& 2441: operator*() 2441: { return *this; } 2441: 2441: 2441: insert_iterator& 2441: operator++() 2441: { return *this; } 2441: 2441: 2441: insert_iterator& 2441: operator++(int) 2441: { return *this; } 2441: }; 2441: # 737 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: inline insert_iterator<_Container> 2441: inserter(_Container& __x, _Iterator __i) 2441: { 2441: return insert_iterator<_Container>(__x, 2441: typename _Container::iterator(__i)); 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 761 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: using std::iterator_traits; 2441: using std::iterator; 2441: template 2441: class __normal_iterator 2441: { 2441: protected: 2441: _Iterator _M_current; 2441: 2441: typedef iterator_traits<_Iterator> __traits_type; 2441: 2441: public: 2441: typedef _Iterator iterator_type; 2441: typedef typename __traits_type::iterator_category iterator_category; 2441: typedef typename __traits_type::value_type value_type; 2441: typedef typename __traits_type::difference_type difference_type; 2441: typedef typename __traits_type::reference reference; 2441: typedef typename __traits_type::pointer pointer; 2441: 2441: constexpr __normal_iterator() noexcept 2441: : _M_current(_Iterator()) { } 2441: 2441: explicit 2441: __normal_iterator(const _Iterator& __i) noexcept 2441: : _M_current(__i) { } 2441: 2441: 2441: template 2441: __normal_iterator(const __normal_iterator<_Iter, 2441: typename __enable_if< 2441: (std::__are_same<_Iter, typename _Container::pointer>::__value), 2441: _Container>::__type>& __i) noexcept 2441: : _M_current(__i.base()) { } 2441: 2441: 2441: reference 2441: operator*() const noexcept 2441: { return *_M_current; } 2441: 2441: pointer 2441: operator->() const noexcept 2441: { return _M_current; } 2441: 2441: __normal_iterator& 2441: operator++() noexcept 2441: { 2441: ++_M_current; 2441: return *this; 2441: } 2441: 2441: __normal_iterator 2441: operator++(int) noexcept 2441: { return __normal_iterator(_M_current++); } 2441: 2441: 2441: __normal_iterator& 2441: operator--() noexcept 2441: { 2441: --_M_current; 2441: return *this; 2441: } 2441: 2441: __normal_iterator 2441: operator--(int) noexcept 2441: { return __normal_iterator(_M_current--); } 2441: 2441: 2441: reference 2441: operator[](difference_type __n) const noexcept 2441: { return _M_current[__n]; } 2441: 2441: __normal_iterator& 2441: operator+=(difference_type __n) noexcept 2441: { _M_current += __n; return *this; } 2441: 2441: __normal_iterator 2441: operator+(difference_type __n) const noexcept 2441: { return __normal_iterator(_M_current + __n); } 2441: 2441: __normal_iterator& 2441: operator-=(difference_type __n) noexcept 2441: { _M_current -= __n; return *this; } 2441: 2441: __normal_iterator 2441: operator-(difference_type __n) const noexcept 2441: { return __normal_iterator(_M_current - __n); } 2441: 2441: const _Iterator& 2441: base() const noexcept 2441: { return _M_current; } 2441: }; 2441: # 861 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: inline bool 2441: operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, 2441: const __normal_iterator<_IteratorR, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() == __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator==(const __normal_iterator<_Iterator, _Container>& __lhs, 2441: const __normal_iterator<_Iterator, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() == __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, 2441: const __normal_iterator<_IteratorR, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() != __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, 2441: const __normal_iterator<_Iterator, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() != __rhs.base(); } 2441: 2441: 2441: template 2441: inline bool 2441: operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, 2441: const __normal_iterator<_IteratorR, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() < __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator<(const __normal_iterator<_Iterator, _Container>& __lhs, 2441: const __normal_iterator<_Iterator, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() < __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, 2441: const __normal_iterator<_IteratorR, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() > __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator>(const __normal_iterator<_Iterator, _Container>& __lhs, 2441: const __normal_iterator<_Iterator, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() > __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, 2441: const __normal_iterator<_IteratorR, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() <= __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, 2441: const __normal_iterator<_Iterator, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() <= __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, 2441: const __normal_iterator<_IteratorR, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() >= __rhs.base(); } 2441: 2441: template 2441: inline bool 2441: operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, 2441: const __normal_iterator<_Iterator, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() >= __rhs.base(); } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: 2441: 2441: inline auto 2441: operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, 2441: const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept 2441: -> decltype(__lhs.base() - __rhs.base()) 2441: 2441: 2441: 2441: 2441: 2441: { return __lhs.base() - __rhs.base(); } 2441: 2441: template 2441: inline typename __normal_iterator<_Iterator, _Container>::difference_type 2441: operator-(const __normal_iterator<_Iterator, _Container>& __lhs, 2441: const __normal_iterator<_Iterator, _Container>& __rhs) 2441: noexcept 2441: { return __lhs.base() - __rhs.base(); } 2441: 2441: template 2441: inline __normal_iterator<_Iterator, _Container> 2441: operator+(typename __normal_iterator<_Iterator, _Container>::difference_type 2441: __n, const __normal_iterator<_Iterator, _Container>& __i) 2441: noexcept 2441: { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } 2441: 2441: 2441: } 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: _Iterator 2441: __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) 2441: { return __it.base(); } 2441: # 1006 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: template 2441: class move_iterator 2441: { 2441: protected: 2441: _Iterator _M_current; 2441: 2441: typedef iterator_traits<_Iterator> __traits_type; 2441: typedef typename __traits_type::reference __base_ref; 2441: 2441: public: 2441: typedef _Iterator iterator_type; 2441: typedef typename __traits_type::iterator_category iterator_category; 2441: typedef typename __traits_type::value_type value_type; 2441: typedef typename __traits_type::difference_type difference_type; 2441: 2441: typedef _Iterator pointer; 2441: 2441: 2441: typedef typename conditional::value, 2441: typename remove_reference<__base_ref>::type&&, 2441: __base_ref>::type reference; 2441: 2441: 2441: move_iterator() 2441: : _M_current() { } 2441: 2441: explicit 2441: move_iterator(iterator_type __i) 2441: : _M_current(__i) { } 2441: 2441: template 2441: 2441: move_iterator(const move_iterator<_Iter>& __i) 2441: : _M_current(__i.base()) { } 2441: 2441: iterator_type 2441: base() const 2441: { return _M_current; } 2441: 2441: reference 2441: operator*() const 2441: { return static_cast(*_M_current); } 2441: 2441: pointer 2441: operator->() const 2441: { return _M_current; } 2441: 2441: move_iterator& 2441: operator++() 2441: { 2441: ++_M_current; 2441: return *this; 2441: } 2441: 2441: move_iterator 2441: operator++(int) 2441: { 2441: move_iterator __tmp = *this; 2441: ++_M_current; 2441: return __tmp; 2441: } 2441: 2441: move_iterator& 2441: operator--() 2441: { 2441: --_M_current; 2441: return *this; 2441: } 2441: 2441: move_iterator 2441: operator--(int) 2441: { 2441: move_iterator __tmp = *this; 2441: --_M_current; 2441: return __tmp; 2441: } 2441: 2441: move_iterator 2441: operator+(difference_type __n) const 2441: { return move_iterator(_M_current + __n); } 2441: 2441: move_iterator& 2441: operator+=(difference_type __n) 2441: { 2441: _M_current += __n; 2441: return *this; 2441: } 2441: 2441: move_iterator 2441: operator-(difference_type __n) const 2441: { return move_iterator(_M_current - __n); } 2441: 2441: move_iterator& 2441: operator-=(difference_type __n) 2441: { 2441: _M_current -= __n; 2441: return *this; 2441: } 2441: 2441: reference 2441: operator[](difference_type __n) const 2441: { return std::move(_M_current[__n]); } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const move_iterator<_IteratorL>& __x, 2441: const move_iterator<_IteratorR>& __y) 2441: { return __x.base() == __y.base(); } 2441: 2441: template 2441: inline bool 2441: operator==(const move_iterator<_Iterator>& __x, 2441: const move_iterator<_Iterator>& __y) 2441: { return __x.base() == __y.base(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const move_iterator<_IteratorL>& __x, 2441: const move_iterator<_IteratorR>& __y) 2441: { return !(__x == __y); } 2441: 2441: template 2441: inline bool 2441: operator!=(const move_iterator<_Iterator>& __x, 2441: const move_iterator<_Iterator>& __y) 2441: { return !(__x == __y); } 2441: 2441: template 2441: inline bool 2441: operator<(const move_iterator<_IteratorL>& __x, 2441: const move_iterator<_IteratorR>& __y) 2441: { return __x.base() < __y.base(); } 2441: 2441: template 2441: inline bool 2441: operator<(const move_iterator<_Iterator>& __x, 2441: const move_iterator<_Iterator>& __y) 2441: { return __x.base() < __y.base(); } 2441: 2441: template 2441: inline bool 2441: operator<=(const move_iterator<_IteratorL>& __x, 2441: const move_iterator<_IteratorR>& __y) 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator<=(const move_iterator<_Iterator>& __x, 2441: const move_iterator<_Iterator>& __y) 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator>(const move_iterator<_IteratorL>& __x, 2441: const move_iterator<_IteratorR>& __y) 2441: { return __y < __x; } 2441: 2441: template 2441: inline bool 2441: operator>(const move_iterator<_Iterator>& __x, 2441: const move_iterator<_Iterator>& __y) 2441: { return __y < __x; } 2441: 2441: template 2441: inline bool 2441: operator>=(const move_iterator<_IteratorL>& __x, 2441: const move_iterator<_IteratorR>& __y) 2441: { return !(__x < __y); } 2441: 2441: template 2441: inline bool 2441: operator>=(const move_iterator<_Iterator>& __x, 2441: const move_iterator<_Iterator>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: template 2441: inline auto 2441: operator-(const move_iterator<_IteratorL>& __x, 2441: const move_iterator<_IteratorR>& __y) 2441: -> decltype(__x.base() - __y.base()) 2441: { return __x.base() - __y.base(); } 2441: 2441: template 2441: inline move_iterator<_Iterator> 2441: operator+(typename move_iterator<_Iterator>::difference_type __n, 2441: const move_iterator<_Iterator>& __x) 2441: { return __x + __n; } 2441: 2441: template 2441: inline move_iterator<_Iterator> 2441: make_move_iterator(_Iterator __i) 2441: { return move_iterator<_Iterator>(__i); } 2441: 2441: template::value_type>::value, 2441: _Iterator, move_iterator<_Iterator>>::type> 2441: inline _ReturnType 2441: __make_move_if_noexcept_iterator(_Iterator __i) 2441: { return _ReturnType(__i); } 2441: 2441: 2441: 2441: template::value, 2441: const _Tp*, move_iterator<_Tp*>>::type> 2441: inline _ReturnType 2441: __make_move_if_noexcept_iterator(_Tp* __i) 2441: { return _ReturnType(__i); } 2441: 2441: 2441: 2441: template 2441: auto 2441: __niter_base(move_iterator<_Iterator> __it) 2441: -> decltype(make_move_iterator(__niter_base(__it.base()))) 2441: { return make_move_iterator(__niter_base(__it.base())); } 2441: 2441: template 2441: struct __is_move_iterator > 2441: { 2441: enum { __value = 1 }; 2441: typedef __true_type __type; 2441: }; 2441: 2441: template 2441: auto 2441: __miter_base(move_iterator<_Iterator> __it) 2441: -> decltype(__miter_base(__it.base())) 2441: { return __miter_base(__it.base()); } 2441: # 1271 "/usr/include/c++/8/bits/stl_iterator.h" 3 2441: 2441: } 2441: # 68 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: 2441: # 1 "/usr/include/c++/8/debug/debug.h" 1 3 2441: # 48 "/usr/include/c++/8/debug/debug.h" 3 2441: namespace std 2441: { 2441: namespace __debug { } 2441: } 2441: 2441: 2441: 2441: 2441: namespace __gnu_debug 2441: { 2441: using namespace std::__debug; 2441: } 2441: # 70 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/predefined_ops.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/predefined_ops.h" 3 2441: namespace __gnu_cxx 2441: { 2441: namespace __ops 2441: { 2441: struct _Iter_less_iter 2441: { 2441: template 2441: constexpr 2441: bool 2441: operator()(_Iterator1 __it1, _Iterator2 __it2) const 2441: { return *__it1 < *__it2; } 2441: }; 2441: 2441: constexpr 2441: inline _Iter_less_iter 2441: __iter_less_iter() 2441: { return _Iter_less_iter(); } 2441: 2441: struct _Iter_less_val 2441: { 2441: 2441: constexpr _Iter_less_val() = default; 2441: 2441: 2441: 2441: 2441: explicit 2441: _Iter_less_val(_Iter_less_iter) { } 2441: 2441: template 2441: bool 2441: operator()(_Iterator __it, _Value& __val) const 2441: { return *__it < __val; } 2441: }; 2441: 2441: inline _Iter_less_val 2441: __iter_less_val() 2441: { return _Iter_less_val(); } 2441: 2441: inline _Iter_less_val 2441: __iter_comp_val(_Iter_less_iter) 2441: { return _Iter_less_val(); } 2441: 2441: struct _Val_less_iter 2441: { 2441: 2441: constexpr _Val_less_iter() = default; 2441: 2441: 2441: 2441: 2441: explicit 2441: _Val_less_iter(_Iter_less_iter) { } 2441: 2441: template 2441: bool 2441: operator()(_Value& __val, _Iterator __it) const 2441: { return __val < *__it; } 2441: }; 2441: 2441: inline _Val_less_iter 2441: __val_less_iter() 2441: { return _Val_less_iter(); } 2441: 2441: inline _Val_less_iter 2441: __val_comp_iter(_Iter_less_iter) 2441: { return _Val_less_iter(); } 2441: 2441: struct _Iter_equal_to_iter 2441: { 2441: template 2441: bool 2441: operator()(_Iterator1 __it1, _Iterator2 __it2) const 2441: { return *__it1 == *__it2; } 2441: }; 2441: 2441: inline _Iter_equal_to_iter 2441: __iter_equal_to_iter() 2441: { return _Iter_equal_to_iter(); } 2441: 2441: struct _Iter_equal_to_val 2441: { 2441: template 2441: bool 2441: operator()(_Iterator __it, _Value& __val) const 2441: { return *__it == __val; } 2441: }; 2441: 2441: inline _Iter_equal_to_val 2441: __iter_equal_to_val() 2441: { return _Iter_equal_to_val(); } 2441: 2441: inline _Iter_equal_to_val 2441: __iter_comp_val(_Iter_equal_to_iter) 2441: { return _Iter_equal_to_val(); } 2441: 2441: template 2441: struct _Iter_comp_iter 2441: { 2441: _Compare _M_comp; 2441: 2441: explicit constexpr 2441: _Iter_comp_iter(_Compare __comp) 2441: : _M_comp(std::move(__comp)) 2441: { } 2441: 2441: template 2441: constexpr 2441: bool 2441: operator()(_Iterator1 __it1, _Iterator2 __it2) 2441: { return bool(_M_comp(*__it1, *__it2)); } 2441: }; 2441: 2441: template 2441: constexpr 2441: inline _Iter_comp_iter<_Compare> 2441: __iter_comp_iter(_Compare __comp) 2441: { return _Iter_comp_iter<_Compare>(std::move(__comp)); } 2441: 2441: template 2441: struct _Iter_comp_val 2441: { 2441: _Compare _M_comp; 2441: 2441: explicit 2441: _Iter_comp_val(_Compare __comp) 2441: : _M_comp(std::move(__comp)) 2441: { } 2441: 2441: explicit 2441: _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) 2441: : _M_comp(__comp._M_comp) 2441: { } 2441: 2441: 2441: explicit 2441: _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) 2441: : _M_comp(std::move(__comp._M_comp)) 2441: { } 2441: 2441: 2441: template 2441: bool 2441: operator()(_Iterator __it, _Value& __val) 2441: { return bool(_M_comp(*__it, __val)); } 2441: }; 2441: 2441: template 2441: inline _Iter_comp_val<_Compare> 2441: __iter_comp_val(_Compare __comp) 2441: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 2441: 2441: template 2441: inline _Iter_comp_val<_Compare> 2441: __iter_comp_val(_Iter_comp_iter<_Compare> __comp) 2441: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 2441: 2441: template 2441: struct _Val_comp_iter 2441: { 2441: _Compare _M_comp; 2441: 2441: explicit 2441: _Val_comp_iter(_Compare __comp) 2441: : _M_comp(std::move(__comp)) 2441: { } 2441: 2441: explicit 2441: _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) 2441: : _M_comp(__comp._M_comp) 2441: { } 2441: 2441: 2441: explicit 2441: _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) 2441: : _M_comp(std::move(__comp._M_comp)) 2441: { } 2441: 2441: 2441: template 2441: bool 2441: operator()(_Value& __val, _Iterator __it) 2441: { return bool(_M_comp(__val, *__it)); } 2441: }; 2441: 2441: template 2441: inline _Val_comp_iter<_Compare> 2441: __val_comp_iter(_Compare __comp) 2441: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 2441: 2441: template 2441: inline _Val_comp_iter<_Compare> 2441: __val_comp_iter(_Iter_comp_iter<_Compare> __comp) 2441: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 2441: 2441: template 2441: struct _Iter_equals_val 2441: { 2441: _Value& _M_value; 2441: 2441: explicit 2441: _Iter_equals_val(_Value& __value) 2441: : _M_value(__value) 2441: { } 2441: 2441: template 2441: bool 2441: operator()(_Iterator __it) 2441: { return *__it == _M_value; } 2441: }; 2441: 2441: template 2441: inline _Iter_equals_val<_Value> 2441: __iter_equals_val(_Value& __val) 2441: { return _Iter_equals_val<_Value>(__val); } 2441: 2441: template 2441: struct _Iter_equals_iter 2441: { 2441: _Iterator1 _M_it1; 2441: 2441: explicit 2441: _Iter_equals_iter(_Iterator1 __it1) 2441: : _M_it1(__it1) 2441: { } 2441: 2441: template 2441: bool 2441: operator()(_Iterator2 __it2) 2441: { return *__it2 == *_M_it1; } 2441: }; 2441: 2441: template 2441: inline _Iter_equals_iter<_Iterator> 2441: __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) 2441: { return _Iter_equals_iter<_Iterator>(__it); } 2441: 2441: template 2441: struct _Iter_pred 2441: { 2441: _Predicate _M_pred; 2441: 2441: explicit 2441: _Iter_pred(_Predicate __pred) 2441: : _M_pred(std::move(__pred)) 2441: { } 2441: 2441: template 2441: bool 2441: operator()(_Iterator __it) 2441: { return bool(_M_pred(*__it)); } 2441: }; 2441: 2441: template 2441: inline _Iter_pred<_Predicate> 2441: __pred_iter(_Predicate __pred) 2441: { return _Iter_pred<_Predicate>(std::move(__pred)); } 2441: 2441: template 2441: struct _Iter_comp_to_val 2441: { 2441: _Compare _M_comp; 2441: _Value& _M_value; 2441: 2441: _Iter_comp_to_val(_Compare __comp, _Value& __value) 2441: : _M_comp(std::move(__comp)), _M_value(__value) 2441: { } 2441: 2441: template 2441: bool 2441: operator()(_Iterator __it) 2441: { return bool(_M_comp(*__it, _M_value)); } 2441: }; 2441: 2441: template 2441: _Iter_comp_to_val<_Compare, _Value> 2441: __iter_comp_val(_Compare __comp, _Value &__val) 2441: { 2441: return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val); 2441: } 2441: 2441: template 2441: struct _Iter_comp_to_iter 2441: { 2441: _Compare _M_comp; 2441: _Iterator1 _M_it1; 2441: 2441: _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) 2441: : _M_comp(std::move(__comp)), _M_it1(__it1) 2441: { } 2441: 2441: template 2441: bool 2441: operator()(_Iterator2 __it2) 2441: { return bool(_M_comp(*__it2, *_M_it1)); } 2441: }; 2441: 2441: template 2441: inline _Iter_comp_to_iter<_Compare, _Iterator> 2441: __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) 2441: { 2441: return _Iter_comp_to_iter<_Compare, _Iterator>( 2441: std::move(__comp._M_comp), __it); 2441: } 2441: 2441: template 2441: struct _Iter_negate 2441: { 2441: _Predicate _M_pred; 2441: 2441: explicit 2441: _Iter_negate(_Predicate __pred) 2441: : _M_pred(std::move(__pred)) 2441: { } 2441: 2441: template 2441: bool 2441: operator()(_Iterator __it) 2441: { return !bool(_M_pred(*__it)); } 2441: }; 2441: 2441: template 2441: inline _Iter_negate<_Predicate> 2441: __negate(_Iter_pred<_Predicate> __pred) 2441: { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } 2441: 2441: } 2441: } 2441: # 72 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 118 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline void 2441: iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) 2441: { 2441: 2441: 2441: 2441: 2441: # 148 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: swap(*__a, *__b); 2441: 2441: } 2441: # 164 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: _ForwardIterator2 2441: swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first1 != __last1; ++__first1, (void)++__first2) 2441: std::iter_swap(__first1, __first2); 2441: return __first2; 2441: } 2441: # 192 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: constexpr 2441: inline const _Tp& 2441: min(const _Tp& __a, const _Tp& __b) 2441: { 2441: 2441: 2441: 2441: if (__b < __a) 2441: return __b; 2441: return __a; 2441: } 2441: # 216 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: constexpr 2441: inline const _Tp& 2441: max(const _Tp& __a, const _Tp& __b) 2441: { 2441: 2441: 2441: 2441: if (__a < __b) 2441: return __b; 2441: return __a; 2441: } 2441: # 240 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: constexpr 2441: inline const _Tp& 2441: min(const _Tp& __a, const _Tp& __b, _Compare __comp) 2441: { 2441: 2441: if (__comp(__b, __a)) 2441: return __b; 2441: return __a; 2441: } 2441: # 262 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: constexpr 2441: inline const _Tp& 2441: max(const _Tp& __a, const _Tp& __b, _Compare __comp) 2441: { 2441: 2441: if (__comp(__a, __b)) 2441: return __b; 2441: return __a; 2441: } 2441: 2441: 2441: 2441: template 2441: inline _Iterator 2441: __niter_base(_Iterator __it) 2441: { return __it; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __copy_move 2441: { 2441: template 2441: static _OI 2441: __copy_m(_II __first, _II __last, _OI __result) 2441: { 2441: for (; __first != __last; ++__result, (void)++__first) 2441: *__result = *__first; 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct __copy_move 2441: { 2441: template 2441: static _OI 2441: __copy_m(_II __first, _II __last, _OI __result) 2441: { 2441: for (; __first != __last; ++__result, (void)++__first) 2441: *__result = std::move(*__first); 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template<> 2441: struct __copy_move 2441: { 2441: template 2441: static _OI 2441: __copy_m(_II __first, _II __last, _OI __result) 2441: { 2441: typedef typename iterator_traits<_II>::difference_type _Distance; 2441: for(_Distance __n = __last - __first; __n > 0; --__n) 2441: { 2441: *__result = *__first; 2441: ++__first; 2441: ++__result; 2441: } 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template<> 2441: struct __copy_move 2441: { 2441: template 2441: static _OI 2441: __copy_m(_II __first, _II __last, _OI __result) 2441: { 2441: typedef typename iterator_traits<_II>::difference_type _Distance; 2441: for(_Distance __n = __last - __first; __n > 0; --__n) 2441: { 2441: *__result = std::move(*__first); 2441: ++__first; 2441: ++__result; 2441: } 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct __copy_move<_IsMove, true, random_access_iterator_tag> 2441: { 2441: template 2441: static _Tp* 2441: __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) 2441: { 2441: 2441: using __assignable = conditional<_IsMove, 2441: is_move_assignable<_Tp>, 2441: is_copy_assignable<_Tp>>; 2441: 2441: static_assert( __assignable::type::value, "type is not assignable" ); 2441: 2441: const ptrdiff_t _Num = __last - __first; 2441: if (_Num) 2441: __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); 2441: return __result + _Num; 2441: } 2441: }; 2441: 2441: template 2441: inline _OI 2441: __copy_move_a(_II __first, _II __last, _OI __result) 2441: { 2441: typedef typename iterator_traits<_II>::value_type _ValueTypeI; 2441: typedef typename iterator_traits<_OI>::value_type _ValueTypeO; 2441: typedef typename iterator_traits<_II>::iterator_category _Category; 2441: const bool __simple = (__is_trivial(_ValueTypeI) 2441: && __is_pointer<_II>::__value 2441: && __is_pointer<_OI>::__value 2441: && __are_same<_ValueTypeI, _ValueTypeO>::__value); 2441: 2441: return std::__copy_move<_IsMove, __simple, 2441: _Category>::__copy_m(__first, __last, __result); 2441: } 2441: 2441: 2441: 2441: template 2441: struct char_traits; 2441: 2441: template 2441: class istreambuf_iterator; 2441: 2441: template 2441: class ostreambuf_iterator; 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 2441: __copy_move_a2(_CharT*, _CharT*, 2441: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 2441: __copy_move_a2(const _CharT*, const _CharT*, 2441: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: _CharT*>::__type 2441: __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, 2441: istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); 2441: 2441: template 2441: inline _OI 2441: __copy_move_a2(_II __first, _II __last, _OI __result) 2441: { 2441: return _OI(std::__copy_move_a<_IsMove>(std::__niter_base(__first), 2441: std::__niter_base(__last), 2441: std::__niter_base(__result))); 2441: } 2441: # 444 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline _OI 2441: copy(_II __first, _II __last, _OI __result) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return (std::__copy_move_a2<__is_move_iterator<_II>::__value> 2441: (std::__miter_base(__first), std::__miter_base(__last), 2441: __result)); 2441: } 2441: # 477 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline _OI 2441: move(_II __first, _II __last, _OI __result) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__copy_move_a2(std::__miter_base(__first), 2441: std::__miter_base(__last), __result); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __copy_move_backward 2441: { 2441: template 2441: static _BI2 2441: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: while (__first != __last) 2441: *--__result = *--__last; 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct __copy_move_backward 2441: { 2441: template 2441: static _BI2 2441: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: while (__first != __last) 2441: *--__result = std::move(*--__last); 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template<> 2441: struct __copy_move_backward 2441: { 2441: template 2441: static _BI2 2441: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: typename iterator_traits<_BI1>::difference_type __n; 2441: for (__n = __last - __first; __n > 0; --__n) 2441: *--__result = *--__last; 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template<> 2441: struct __copy_move_backward 2441: { 2441: template 2441: static _BI2 2441: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: typename iterator_traits<_BI1>::difference_type __n; 2441: for (__n = __last - __first; __n > 0; --__n) 2441: *--__result = std::move(*--__last); 2441: return __result; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> 2441: { 2441: template 2441: static _Tp* 2441: __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) 2441: { 2441: 2441: using __assignable = conditional<_IsMove, 2441: is_move_assignable<_Tp>, 2441: is_copy_assignable<_Tp>>; 2441: 2441: static_assert( __assignable::type::value, "type is not assignable" ); 2441: 2441: const ptrdiff_t _Num = __last - __first; 2441: if (_Num) 2441: __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); 2441: return __result - _Num; 2441: } 2441: }; 2441: 2441: template 2441: inline _BI2 2441: __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: typedef typename iterator_traits<_BI1>::value_type _ValueType1; 2441: typedef typename iterator_traits<_BI2>::value_type _ValueType2; 2441: typedef typename iterator_traits<_BI1>::iterator_category _Category; 2441: const bool __simple = (__is_trivial(_ValueType1) 2441: && __is_pointer<_BI1>::__value 2441: && __is_pointer<_BI2>::__value 2441: && __are_same<_ValueType1, _ValueType2>::__value); 2441: 2441: return std::__copy_move_backward<_IsMove, __simple, 2441: _Category>::__copy_move_b(__first, 2441: __last, 2441: __result); 2441: } 2441: 2441: template 2441: inline _BI2 2441: __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: return _BI2(std::__copy_move_backward_a<_IsMove> 2441: (std::__niter_base(__first), std::__niter_base(__last), 2441: std::__niter_base(__result))); 2441: } 2441: # 620 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline _BI2 2441: copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> 2441: (std::__miter_base(__first), std::__miter_base(__last), 2441: __result)); 2441: } 2441: # 656 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline _BI2 2441: move_backward(_BI1 __first, _BI1 __last, _BI2 __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__copy_move_backward_a2(std::__miter_base(__first), 2441: std::__miter_base(__last), 2441: __result); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline typename 2441: __gnu_cxx::__enable_if::__value, void>::__type 2441: __fill_a(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __value) 2441: { 2441: for (; __first != __last; ++__first) 2441: *__first = __value; 2441: } 2441: 2441: template 2441: inline typename 2441: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type 2441: __fill_a(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __value) 2441: { 2441: const _Tp __tmp = __value; 2441: for (; __first != __last; ++__first) 2441: *__first = __tmp; 2441: } 2441: 2441: 2441: template 2441: inline typename 2441: __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type 2441: __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) 2441: { 2441: const _Tp __tmp = __c; 2441: if (const size_t __len = __last - __first) 2441: __builtin_memset(__first, static_cast(__tmp), __len); 2441: } 2441: # 722 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline void 2441: fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: std::__fill_a(std::__niter_base(__first), std::__niter_base(__last), 2441: __value); 2441: } 2441: 2441: template 2441: inline typename 2441: __gnu_cxx::__enable_if::__value, _OutputIterator>::__type 2441: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) 2441: { 2441: for (__decltype(__n + 0) __niter = __n; 2441: __niter > 0; --__niter, (void) ++__first) 2441: *__first = __value; 2441: return __first; 2441: } 2441: 2441: template 2441: inline typename 2441: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type 2441: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) 2441: { 2441: const _Tp __tmp = __value; 2441: for (__decltype(__n + 0) __niter = __n; 2441: __niter > 0; --__niter, (void) ++__first) 2441: *__first = __tmp; 2441: return __first; 2441: } 2441: 2441: template 2441: inline typename 2441: __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type 2441: __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) 2441: { 2441: std::__fill_a(__first, __first + __n, __c); 2441: return __first + __n; 2441: } 2441: # 782 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline _OI 2441: fill_n(_OI __first, _Size __n, const _Tp& __value) 2441: { 2441: 2441: 2441: 2441: return _OI(std::__fill_n_a(std::__niter_base(__first), __n, __value)); 2441: } 2441: 2441: template 2441: struct __equal 2441: { 2441: template 2441: static bool 2441: equal(_II1 __first1, _II1 __last1, _II2 __first2) 2441: { 2441: for (; __first1 != __last1; ++__first1, (void) ++__first2) 2441: if (!(*__first1 == *__first2)) 2441: return false; 2441: return true; 2441: } 2441: }; 2441: 2441: template<> 2441: struct __equal 2441: { 2441: template 2441: static bool 2441: equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) 2441: { 2441: if (const size_t __len = (__last1 - __first1)) 2441: return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * __len); 2441: return true; 2441: } 2441: }; 2441: 2441: template 2441: inline bool 2441: __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) 2441: { 2441: typedef typename iterator_traits<_II1>::value_type _ValueType1; 2441: typedef typename iterator_traits<_II2>::value_type _ValueType2; 2441: const bool __simple = ((__is_integer<_ValueType1>::__value 2441: || __is_pointer<_ValueType1>::__value) 2441: && __is_pointer<_II1>::__value 2441: && __is_pointer<_II2>::__value 2441: && __are_same<_ValueType1, _ValueType2>::__value); 2441: 2441: return std::__equal<__simple>::equal(__first1, __last1, __first2); 2441: } 2441: 2441: template 2441: struct __lc_rai 2441: { 2441: template 2441: static _II1 2441: __newlast1(_II1, _II1 __last1, _II2, _II2) 2441: { return __last1; } 2441: 2441: template 2441: static bool 2441: __cnd2(_II __first, _II __last) 2441: { return __first != __last; } 2441: }; 2441: 2441: template<> 2441: struct __lc_rai 2441: { 2441: template 2441: static _RAI1 2441: __newlast1(_RAI1 __first1, _RAI1 __last1, 2441: _RAI2 __first2, _RAI2 __last2) 2441: { 2441: const typename iterator_traits<_RAI1>::difference_type 2441: __diff1 = __last1 - __first1; 2441: const typename iterator_traits<_RAI2>::difference_type 2441: __diff2 = __last2 - __first2; 2441: return __diff2 < __diff1 ? __first1 + __diff2 : __last1; 2441: } 2441: 2441: template 2441: static bool 2441: __cnd2(_RAI, _RAI) 2441: { return true; } 2441: }; 2441: 2441: template 2441: bool 2441: __lexicographical_compare_impl(_II1 __first1, _II1 __last1, 2441: _II2 __first2, _II2 __last2, 2441: _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_II1>::iterator_category _Category1; 2441: typedef typename iterator_traits<_II2>::iterator_category _Category2; 2441: typedef std::__lc_rai<_Category1, _Category2> __rai_type; 2441: 2441: __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); 2441: for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); 2441: ++__first1, (void)++__first2) 2441: { 2441: if (__comp(__first1, __first2)) 2441: return true; 2441: if (__comp(__first2, __first1)) 2441: return false; 2441: } 2441: return __first1 == __last1 && __first2 != __last2; 2441: } 2441: 2441: template 2441: struct __lexicographical_compare 2441: { 2441: template 2441: static bool __lc(_II1, _II1, _II2, _II2); 2441: }; 2441: 2441: template 2441: template 2441: bool 2441: __lexicographical_compare<_BoolType>:: 2441: __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 2441: { 2441: return std::__lexicographical_compare_impl(__first1, __last1, 2441: __first2, __last2, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: 2441: template<> 2441: struct __lexicographical_compare 2441: { 2441: template 2441: static bool 2441: __lc(const _Tp* __first1, const _Tp* __last1, 2441: const _Up* __first2, const _Up* __last2) 2441: { 2441: const size_t __len1 = __last1 - __first1; 2441: const size_t __len2 = __last2 - __first2; 2441: if (const size_t __len = std::min(__len1, __len2)) 2441: if (int __result = __builtin_memcmp(__first1, __first2, __len)) 2441: return __result < 0; 2441: return __len1 < __len2; 2441: } 2441: }; 2441: 2441: template 2441: inline bool 2441: __lexicographical_compare_aux(_II1 __first1, _II1 __last1, 2441: _II2 __first2, _II2 __last2) 2441: { 2441: typedef typename iterator_traits<_II1>::value_type _ValueType1; 2441: typedef typename iterator_traits<_II2>::value_type _ValueType2; 2441: const bool __simple = 2441: (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value 2441: && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed 2441: && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed 2441: && __is_pointer<_II1>::__value 2441: && __is_pointer<_II2>::__value); 2441: 2441: return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, 2441: __first2, __last2); 2441: } 2441: 2441: template 2441: _ForwardIterator 2441: __lower_bound(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val, _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::difference_type 2441: _DistanceType; 2441: 2441: _DistanceType __len = std::distance(__first, __last); 2441: 2441: while (__len > 0) 2441: { 2441: _DistanceType __half = __len >> 1; 2441: _ForwardIterator __middle = __first; 2441: std::advance(__middle, __half); 2441: if (__comp(__middle, __val)) 2441: { 2441: __first = __middle; 2441: ++__first; 2441: __len = __len - __half - 1; 2441: } 2441: else 2441: __len = __half; 2441: } 2441: return __first; 2441: } 2441: # 982 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline _ForwardIterator 2441: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__lower_bound(__first, __last, __val, 2441: __gnu_cxx::__ops::__iter_less_val()); 2441: } 2441: 2441: 2441: 2441: inline constexpr int 2441: __lg(int __n) 2441: { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } 2441: 2441: inline constexpr unsigned 2441: __lg(unsigned __n) 2441: { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } 2441: 2441: inline constexpr long 2441: __lg(long __n) 2441: { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 2441: 2441: inline constexpr unsigned long 2441: __lg(unsigned long __n) 2441: { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 2441: 2441: inline constexpr long long 2441: __lg(long long __n) 2441: { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 2441: 2441: inline constexpr unsigned long long 2441: __lg(unsigned long long __n) 2441: { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 2441: 2441: 2441: # 1037 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline bool 2441: equal(_II1 __first1, _II1 __last1, _II2 __first2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__equal_aux(std::__niter_base(__first1), 2441: std::__niter_base(__last1), 2441: std::__niter_base(__first2)); 2441: } 2441: # 1069 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline bool 2441: equal(_IIter1 __first1, _IIter1 __last1, 2441: _IIter2 __first2, _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first1 != __last1; ++__first1, (void)++__first2) 2441: if (!bool(__binary_pred(*__first1, *__first2))) 2441: return false; 2441: return true; 2441: } 2441: 2441: 2441: 2441: template 2441: inline bool 2441: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 2441: { 2441: using _RATag = random_access_iterator_tag; 2441: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 2441: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 2441: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 2441: if (_RAIters()) 2441: { 2441: auto __d1 = std::distance(__first1, __last1); 2441: auto __d2 = std::distance(__first2, __last2); 2441: if (__d1 != __d2) 2441: return false; 2441: return std::equal(__first1, __last1, __first2); 2441: } 2441: 2441: for (; __first1 != __last1 && __first2 != __last2; 2441: ++__first1, (void)++__first2) 2441: if (!(*__first1 == *__first2)) 2441: return false; 2441: return __first1 == __last1 && __first2 == __last2; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: using _RATag = random_access_iterator_tag; 2441: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 2441: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 2441: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 2441: if (_RAIters()) 2441: { 2441: auto __d1 = std::distance(__first1, __last1); 2441: auto __d2 = std::distance(__first2, __last2); 2441: if (__d1 != __d2) 2441: return false; 2441: return std::equal(__first1, __last1, __first2, 2441: __binary_pred); 2441: } 2441: 2441: for (; __first1 != __last1 && __first2 != __last2; 2441: ++__first1, (void)++__first2) 2441: if (!bool(__binary_pred(*__first1, *__first2))) 2441: return false; 2441: return __first1 == __last1 && __first2 == __last2; 2441: } 2441: # 1156 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline bool 2441: equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__equal4(__first1, __last1, __first2, __last2); 2441: } 2441: # 1188 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline bool 2441: equal(_IIter1 __first1, _IIter1 __last1, 2441: _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__equal4(__first1, __last1, __first2, __last2, 2441: __binary_pred); 2441: } 2441: # 1219 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline bool 2441: lexicographical_compare(_II1 __first1, _II1 __last1, 2441: _II2 __first2, _II2 __last2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__lexicographical_compare_aux(std::__niter_base(__first1), 2441: std::__niter_base(__last1), 2441: std::__niter_base(__first2), 2441: std::__niter_base(__last2)); 2441: } 2441: # 1255 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline bool 2441: lexicographical_compare(_II1 __first1, _II1 __last1, 2441: _II2 __first2, _II2 __last2, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__lexicographical_compare_impl 2441: (__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: pair<_InputIterator1, _InputIterator2> 2441: __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 2441: { 2441: while (__first1 != __last1 && __binary_pred(__first1, __first2)) 2441: { 2441: ++__first1; 2441: ++__first2; 2441: } 2441: return pair<_InputIterator1, _InputIterator2>(__first1, __first2); 2441: } 2441: # 1298 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline pair<_InputIterator1, _InputIterator2> 2441: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__mismatch(__first1, __last1, __first2, 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 1331 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline pair<_InputIterator1, _InputIterator2> 2441: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__mismatch(__first1, __last1, __first2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 2441: } 2441: 2441: 2441: 2441: template 2441: pair<_InputIterator1, _InputIterator2> 2441: __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2 2441: && __binary_pred(__first1, __first2)) 2441: { 2441: ++__first1; 2441: ++__first2; 2441: } 2441: return pair<_InputIterator1, _InputIterator2>(__first1, __first2); 2441: } 2441: # 1378 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline pair<_InputIterator1, _InputIterator2> 2441: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__mismatch(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 1413 "/usr/include/c++/8/bits/stl_algobase.h" 3 2441: template 2441: inline pair<_InputIterator1, _InputIterator2> 2441: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__mismatch(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 62 "/usr/include/c++/8/algorithm" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_algo.h" 1 3 2441: # 59 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: # 1 "/usr/include/c++/8/cstdlib" 1 3 2441: # 39 "/usr/include/c++/8/cstdlib" 3 2441: 2441: # 40 "/usr/include/c++/8/cstdlib" 3 2441: # 75 "/usr/include/c++/8/cstdlib" 3 2441: # 1 "/usr/include/stdlib.h" 1 3 4 2441: # 25 "/usr/include/stdlib.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 1 3 4 2441: # 26 "/usr/include/stdlib.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 32 "/usr/include/stdlib.h" 2 3 4 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/waitflags.h" 1 3 4 2441: # 52 "/usr/include/i386-linux-gnu/bits/waitflags.h" 3 4 2441: typedef enum 2441: { 2441: P_ALL, 2441: P_PID, 2441: P_PGID 2441: } idtype_t; 2441: # 40 "/usr/include/stdlib.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/waitstatus.h" 1 3 4 2441: # 41 "/usr/include/stdlib.h" 2 3 4 2441: # 58 "/usr/include/stdlib.h" 3 4 2441: typedef struct 2441: { 2441: int quot; 2441: int rem; 2441: } div_t; 2441: 2441: 2441: 2441: typedef struct 2441: { 2441: long int quot; 2441: long int rem; 2441: } ldiv_t; 2441: 2441: 2441: 2441: 2441: 2441: __extension__ typedef struct 2441: { 2441: long long int quot; 2441: long long int rem; 2441: } lldiv_t; 2441: # 97 "/usr/include/stdlib.h" 3 4 2441: extern size_t __ctype_get_mb_cur_max (void) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: extern double atof (const char *__nptr) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern int atoi (const char *__nptr) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern long int atol (const char *__nptr) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: __extension__ extern long long int atoll (const char *__nptr) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: extern double strtod (const char *__restrict __nptr, 2441: char **__restrict __endptr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern float strtof (const char *__restrict __nptr, 2441: char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: extern long double strtold (const char *__restrict __nptr, 2441: char **__restrict __endptr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 140 "/usr/include/stdlib.h" 3 4 2441: extern _Float32 strtof32 (const char *__restrict __nptr, 2441: char **__restrict __endptr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern _Float64 strtof64 (const char *__restrict __nptr, 2441: char **__restrict __endptr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern _Float128 strtof128 (const char *__restrict __nptr, 2441: char **__restrict __endptr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern _Float32x strtof32x (const char *__restrict __nptr, 2441: char **__restrict __endptr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern _Float64x strtof64x (const char *__restrict __nptr, 2441: char **__restrict __endptr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 176 "/usr/include/stdlib.h" 3 4 2441: extern long int strtol (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: extern unsigned long int strtoul (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: __extension__ 2441: extern long long int strtoq (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: __extension__ 2441: extern unsigned long long int strtouq (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: __extension__ 2441: extern long long int strtoll (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: __extension__ 2441: extern unsigned long long int strtoull (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: extern int strfromd (char *__dest, size_t __size, const char *__format, 2441: double __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: extern int strfromf (char *__dest, size_t __size, const char *__format, 2441: float __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: extern int strfroml (char *__dest, size_t __size, const char *__format, 2441: long double __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: # 232 "/usr/include/stdlib.h" 3 4 2441: extern int strfromf32 (char *__dest, size_t __size, const char * __format, 2441: _Float32 __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: 2441: 2441: extern int strfromf64 (char *__dest, size_t __size, const char * __format, 2441: _Float64 __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: 2441: 2441: extern int strfromf128 (char *__dest, size_t __size, const char * __format, 2441: _Float128 __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: 2441: 2441: extern int strfromf32x (char *__dest, size_t __size, const char * __format, 2441: _Float32x __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: 2441: 2441: extern int strfromf64x (char *__dest, size_t __size, const char * __format, 2441: _Float64x __f) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: # 274 "/usr/include/stdlib.h" 3 4 2441: extern long int strtol_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base, 2441: locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); 2441: 2441: extern unsigned long int strtoul_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: int __base, locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 4))); 2441: 2441: __extension__ 2441: extern long long int strtoll_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, int __base, 2441: locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 4))); 2441: 2441: __extension__ 2441: extern unsigned long long int strtoull_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: int __base, locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 4))); 2441: 2441: extern double strtod_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: extern float strtof_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: extern long double strtold_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: # 316 "/usr/include/stdlib.h" 3 4 2441: extern _Float32 strtof32_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: extern _Float64 strtof64_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: extern _Float128 strtof128_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: extern _Float32x strtof32x_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: extern _Float64x strtof64x_l (const char *__restrict __nptr, 2441: char **__restrict __endptr, 2441: locale_t __loc) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: # 360 "/usr/include/stdlib.h" 3 4 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: __attribute__ ((__leaf__)) atoi (const char *__nptr) throw () 2441: { 2441: return (int) strtol (__nptr, (char **) __null, 10); 2441: } 2441: extern __inline __attribute__ ((__gnu_inline__)) long int 2441: __attribute__ ((__leaf__)) atol (const char *__nptr) throw () 2441: { 2441: return strtol (__nptr, (char **) __null, 10); 2441: } 2441: 2441: 2441: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int 2441: __attribute__ ((__leaf__)) atoll (const char *__nptr) throw () 2441: { 2441: return strtoll (__nptr, (char **) __null, 10); 2441: } 2441: # 385 "/usr/include/stdlib.h" 3 4 2441: extern char *l64a (long int __n) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: extern long int a64l (const char *__s) 2441: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/sys/types.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/sys/types.h" 3 4 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: 2441: typedef __u_char u_char; 2441: typedef __u_short u_short; 2441: typedef __u_int u_int; 2441: typedef __u_long u_long; 2441: typedef __quad_t quad_t; 2441: typedef __u_quad_t u_quad_t; 2441: typedef __fsid_t fsid_t; 2441: 2441: 2441: typedef __loff_t loff_t; 2441: 2441: 2441: 2441: 2441: typedef __ino_t ino_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __ino64_t ino64_t; 2441: 2441: 2441: 2441: 2441: typedef __dev_t dev_t; 2441: 2441: 2441: 2441: 2441: typedef __gid_t gid_t; 2441: 2441: 2441: 2441: 2441: typedef __mode_t mode_t; 2441: 2441: 2441: 2441: 2441: typedef __nlink_t nlink_t; 2441: 2441: 2441: 2441: 2441: typedef __uid_t uid_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef __off_t off_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __off64_t off64_t; 2441: 2441: 2441: 2441: 2441: typedef __pid_t pid_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef __id_t id_t; 2441: 2441: 2441: 2441: 2441: typedef __ssize_t ssize_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef __daddr_t daddr_t; 2441: typedef __caddr_t caddr_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef __key_t key_t; 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/clock_t.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __clock_t clock_t; 2441: # 127 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/clockid_t.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __clockid_t clockid_t; 2441: # 129 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/time_t.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __time_t time_t; 2441: # 130 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/timer_t.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __timer_t timer_t; 2441: # 131 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: 2441: 2441: 2441: typedef __useconds_t useconds_t; 2441: 2441: 2441: 2441: typedef __suseconds_t suseconds_t; 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 145 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: 2441: 2441: 2441: typedef unsigned long int ulong; 2441: typedef unsigned short int ushort; 2441: typedef unsigned int uint; 2441: # 177 "/usr/include/i386-linux-gnu/sys/types.h" 3 4 2441: typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); 2441: typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); 2441: typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); 2441: typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); 2441: 2441: typedef int register_t __attribute__ ((__mode__ (__word__))); 2441: # 193 "/usr/include/i386-linux-gnu/sys/types.h" 3 4 2441: # 1 "/usr/include/endian.h" 1 3 4 2441: # 36 "/usr/include/endian.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/endian.h" 1 3 4 2441: # 37 "/usr/include/endian.h" 2 3 4 2441: # 60 "/usr/include/endian.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/byteswap.h" 1 3 4 2441: # 33 "/usr/include/i386-linux-gnu/bits/byteswap.h" 3 4 2441: static __inline __uint16_t 2441: __bswap_16 (__uint16_t __bsx) 2441: { 2441: 2441: return __builtin_bswap16 (__bsx); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: static __inline __uint32_t 2441: __bswap_32 (__uint32_t __bsx) 2441: { 2441: 2441: return __builtin_bswap32 (__bsx); 2441: 2441: 2441: 2441: } 2441: # 69 "/usr/include/i386-linux-gnu/bits/byteswap.h" 3 4 2441: __extension__ static __inline __uint64_t 2441: __bswap_64 (__uint64_t __bsx) 2441: { 2441: 2441: return __builtin_bswap64 (__bsx); 2441: 2441: 2441: 2441: } 2441: # 61 "/usr/include/endian.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/uintn-identity.h" 1 3 4 2441: # 32 "/usr/include/i386-linux-gnu/bits/uintn-identity.h" 3 4 2441: static __inline __uint16_t 2441: __uint16_identity (__uint16_t __x) 2441: { 2441: return __x; 2441: } 2441: 2441: static __inline __uint32_t 2441: __uint32_identity (__uint32_t __x) 2441: { 2441: return __x; 2441: } 2441: 2441: static __inline __uint64_t 2441: __uint64_identity (__uint64_t __x) 2441: { 2441: return __x; 2441: } 2441: # 62 "/usr/include/endian.h" 2 3 4 2441: # 194 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/sys/select.h" 1 3 4 2441: # 30 "/usr/include/i386-linux-gnu/sys/select.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/select.h" 1 3 4 2441: # 22 "/usr/include/i386-linux-gnu/bits/select.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 23 "/usr/include/i386-linux-gnu/bits/select.h" 2 3 4 2441: # 31 "/usr/include/i386-linux-gnu/sys/select.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/sigset_t.h" 1 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/__sigset_t.h" 1 3 4 2441: 2441: 2441: 2441: 2441: typedef struct 2441: { 2441: unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; 2441: } __sigset_t; 2441: # 5 "/usr/include/i386-linux-gnu/bits/types/sigset_t.h" 2 3 4 2441: 2441: 2441: typedef __sigset_t sigset_t; 2441: # 34 "/usr/include/i386-linux-gnu/sys/select.h" 2 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/struct_timeval.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct timeval 2441: { 2441: __time_t tv_sec; 2441: __suseconds_t tv_usec; 2441: }; 2441: # 38 "/usr/include/i386-linux-gnu/sys/select.h" 2 3 4 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/struct_timespec.h" 1 3 4 2441: # 9 "/usr/include/i386-linux-gnu/bits/types/struct_timespec.h" 3 4 2441: struct timespec 2441: { 2441: __time_t tv_sec; 2441: __syscall_slong_t tv_nsec; 2441: }; 2441: # 40 "/usr/include/i386-linux-gnu/sys/select.h" 2 3 4 2441: # 49 "/usr/include/i386-linux-gnu/sys/select.h" 3 4 2441: typedef long int __fd_mask; 2441: # 59 "/usr/include/i386-linux-gnu/sys/select.h" 3 4 2441: typedef struct 2441: { 2441: 2441: 2441: 2441: __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; 2441: 2441: 2441: 2441: 2441: 2441: } fd_set; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __fd_mask fd_mask; 2441: # 91 "/usr/include/i386-linux-gnu/sys/select.h" 3 4 2441: extern "C" { 2441: # 101 "/usr/include/i386-linux-gnu/sys/select.h" 3 4 2441: extern int select (int __nfds, fd_set *__restrict __readfds, 2441: fd_set *__restrict __writefds, 2441: fd_set *__restrict __exceptfds, 2441: struct timeval *__restrict __timeout); 2441: # 113 "/usr/include/i386-linux-gnu/sys/select.h" 3 4 2441: extern int pselect (int __nfds, fd_set *__restrict __readfds, 2441: fd_set *__restrict __writefds, 2441: fd_set *__restrict __exceptfds, 2441: const struct timespec *__restrict __timeout, 2441: const __sigset_t *__restrict __sigmask); 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/select2.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/select2.h" 3 4 2441: extern long int __fdelt_chk (long int __d); 2441: extern long int __fdelt_warn (long int __d) 2441: __attribute__((__warning__ ("bit outside of fd_set selected"))); 2441: # 124 "/usr/include/i386-linux-gnu/sys/select.h" 2 3 4 2441: 2441: 2441: } 2441: # 197 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: typedef __blksize_t blksize_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __blkcnt_t blkcnt_t; 2441: 2441: 2441: 2441: typedef __fsblkcnt_t fsblkcnt_t; 2441: 2441: 2441: 2441: typedef __fsfilcnt_t fsfilcnt_t; 2441: # 236 "/usr/include/i386-linux-gnu/sys/types.h" 3 4 2441: typedef __blkcnt64_t blkcnt64_t; 2441: typedef __fsblkcnt64_t fsblkcnt64_t; 2441: typedef __fsfilcnt64_t fsfilcnt64_t; 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/pthreadtypes.h" 1 3 4 2441: # 23 "/usr/include/i386-linux-gnu/bits/pthreadtypes.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/thread-shared-types.h" 1 3 4 2441: # 77 "/usr/include/i386-linux-gnu/bits/thread-shared-types.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 2441: # 21 "/usr/include/i386-linux-gnu/bits/pthreadtypes-arch.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 22 "/usr/include/i386-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 2441: # 65 "/usr/include/i386-linux-gnu/bits/pthreadtypes-arch.h" 3 4 2441: struct __pthread_rwlock_arch_t 2441: { 2441: unsigned int __readers; 2441: unsigned int __writers; 2441: unsigned int __wrphase_futex; 2441: unsigned int __writers_futex; 2441: unsigned int __pad3; 2441: unsigned int __pad4; 2441: # 92 "/usr/include/i386-linux-gnu/bits/pthreadtypes-arch.h" 3 4 2441: unsigned char __flags; 2441: unsigned char __shared; 2441: signed char __rwelision; 2441: 2441: unsigned char __pad2; 2441: int __cur_writer; 2441: 2441: }; 2441: # 78 "/usr/include/i386-linux-gnu/bits/thread-shared-types.h" 2 3 4 2441: # 88 "/usr/include/i386-linux-gnu/bits/thread-shared-types.h" 3 4 2441: typedef struct __pthread_internal_slist 2441: { 2441: struct __pthread_internal_slist *__next; 2441: } __pthread_slist_t; 2441: # 118 "/usr/include/i386-linux-gnu/bits/thread-shared-types.h" 3 4 2441: struct __pthread_mutex_s 2441: { 2441: int __lock ; 2441: unsigned int __count; 2441: int __owner; 2441: # 148 "/usr/include/i386-linux-gnu/bits/thread-shared-types.h" 3 4 2441: int __kind; 2441: 2441: 2441: unsigned int __nusers; 2441: 2441: 2441: 2441: 2441: 2441: 2441: __extension__ union 2441: { 2441: struct { short __espins; short __eelision; } __elision_data; 2441: __pthread_slist_t __list; 2441: }; 2441: 2441: 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: struct __pthread_cond_s 2441: { 2441: __extension__ union 2441: { 2441: __extension__ unsigned long long int __wseq; 2441: struct 2441: { 2441: unsigned int __low; 2441: unsigned int __high; 2441: } __wseq32; 2441: }; 2441: __extension__ union 2441: { 2441: __extension__ unsigned long long int __g1_start; 2441: struct 2441: { 2441: unsigned int __low; 2441: unsigned int __high; 2441: } __g1_start32; 2441: }; 2441: unsigned int __g_refs[2] ; 2441: unsigned int __g_size[2]; 2441: unsigned int __g1_orig_size; 2441: unsigned int __wrefs; 2441: unsigned int __g_signals[2]; 2441: }; 2441: # 24 "/usr/include/i386-linux-gnu/bits/pthreadtypes.h" 2 3 4 2441: 2441: 2441: 2441: typedef unsigned long int pthread_t; 2441: 2441: 2441: 2441: 2441: typedef union 2441: { 2441: char __size[4]; 2441: int __align; 2441: } pthread_mutexattr_t; 2441: 2441: 2441: 2441: 2441: typedef union 2441: { 2441: char __size[4]; 2441: int __align; 2441: } pthread_condattr_t; 2441: 2441: 2441: 2441: typedef unsigned int pthread_key_t; 2441: 2441: 2441: 2441: typedef int pthread_once_t; 2441: 2441: 2441: union pthread_attr_t 2441: { 2441: char __size[36]; 2441: long int __align; 2441: }; 2441: 2441: typedef union pthread_attr_t pthread_attr_t; 2441: 2441: 2441: 2441: 2441: typedef union 2441: { 2441: struct __pthread_mutex_s __data; 2441: char __size[24]; 2441: long int __align; 2441: } pthread_mutex_t; 2441: 2441: 2441: typedef union 2441: { 2441: struct __pthread_cond_s __data; 2441: char __size[48]; 2441: __extension__ long long int __align; 2441: } pthread_cond_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef union 2441: { 2441: struct __pthread_rwlock_arch_t __data; 2441: char __size[32]; 2441: long int __align; 2441: } pthread_rwlock_t; 2441: 2441: typedef union 2441: { 2441: char __size[8]; 2441: long int __align; 2441: } pthread_rwlockattr_t; 2441: 2441: 2441: 2441: 2441: 2441: typedef volatile int pthread_spinlock_t; 2441: 2441: 2441: 2441: 2441: typedef union 2441: { 2441: char __size[20]; 2441: long int __align; 2441: } pthread_barrier_t; 2441: 2441: typedef union 2441: { 2441: char __size[4]; 2441: int __align; 2441: } pthread_barrierattr_t; 2441: # 245 "/usr/include/i386-linux-gnu/sys/types.h" 2 3 4 2441: 2441: 2441: } 2441: # 395 "/usr/include/stdlib.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int random (void) throw (); 2441: 2441: 2441: extern void srandom (unsigned int __seed) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern char *initstate (unsigned int __seed, char *__statebuf, 2441: size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct random_data 2441: { 2441: int32_t *fptr; 2441: int32_t *rptr; 2441: int32_t *state; 2441: int rand_type; 2441: int rand_deg; 2441: int rand_sep; 2441: int32_t *end_ptr; 2441: }; 2441: 2441: extern int random_r (struct random_data *__restrict __buf, 2441: int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern int srandom_r (unsigned int __seed, struct random_data *__buf) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, 2441: size_t __statelen, 2441: struct random_data *__restrict __buf) 2441: throw () __attribute__ ((__nonnull__ (2, 4))); 2441: 2441: extern int setstate_r (char *__restrict __statebuf, 2441: struct random_data *__restrict __buf) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: 2441: extern int rand (void) throw (); 2441: 2441: extern void srand (unsigned int __seed) throw (); 2441: 2441: 2441: 2441: extern int rand_r (unsigned int *__seed) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern double drand48 (void) throw (); 2441: extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern long int lrand48 (void) throw (); 2441: extern long int nrand48 (unsigned short int __xsubi[3]) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern long int mrand48 (void) throw (); 2441: extern long int jrand48 (unsigned short int __xsubi[3]) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern void srand48 (long int __seedval) throw (); 2441: extern unsigned short int *seed48 (unsigned short int __seed16v[3]) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: struct drand48_data 2441: { 2441: unsigned short int __x[3]; 2441: unsigned short int __old_x[3]; 2441: unsigned short int __c; 2441: unsigned short int __init; 2441: __extension__ unsigned long long int __a; 2441: 2441: }; 2441: 2441: 2441: extern int drand48_r (struct drand48_data *__restrict __buffer, 2441: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: extern int erand48_r (unsigned short int __xsubi[3], 2441: struct drand48_data *__restrict __buffer, 2441: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int lrand48_r (struct drand48_data *__restrict __buffer, 2441: long int *__restrict __result) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: extern int nrand48_r (unsigned short int __xsubi[3], 2441: struct drand48_data *__restrict __buffer, 2441: long int *__restrict __result) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int mrand48_r (struct drand48_data *__restrict __buffer, 2441: long int *__restrict __result) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: extern int jrand48_r (unsigned short int __xsubi[3], 2441: struct drand48_data *__restrict __buffer, 2441: long int *__restrict __result) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int srand48_r (long int __seedval, struct drand48_data *__buffer) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: extern int seed48_r (unsigned short int __seed16v[3], 2441: struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern int lcong48_r (unsigned short int __param[7], 2441: struct drand48_data *__buffer) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern void *calloc (size_t __nmemb, size_t __size) 2441: throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern void *realloc (void *__ptr, size_t __size) 2441: throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) 2441: throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: extern void free (void *__ptr) throw (); 2441: 2441: 2441: # 1 "/usr/include/alloca.h" 1 3 4 2441: # 24 "/usr/include/alloca.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 25 "/usr/include/alloca.h" 2 3 4 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: 2441: extern void *alloca (size_t __size) throw (); 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 567 "/usr/include/stdlib.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern void *aligned_alloc (size_t __alignment, size_t __size) 2441: throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: extern void abort (void) throw () __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: extern "C++" int at_quick_exit (void (*__func) (void)) 2441: throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); 2441: # 607 "/usr/include/stdlib.h" 3 4 2441: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: extern void exit (int __status) throw () __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: 2441: 2441: extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: 2441: 2441: extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: 2441: extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern char *secure_getenv (const char *__name) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: extern int setenv (const char *__name, const char *__value, int __replace) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int clearenv (void) throw (); 2441: # 672 "/usr/include/stdlib.h" 3 4 2441: extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); 2441: # 685 "/usr/include/stdlib.h" 3 4 2441: extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 695 "/usr/include/stdlib.h" 3 4 2441: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 707 "/usr/include/stdlib.h" 3 4 2441: extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 717 "/usr/include/stdlib.h" 3 4 2441: extern int mkstemps64 (char *__template, int __suffixlen) 2441: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 728 "/usr/include/stdlib.h" 3 4 2441: extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 739 "/usr/include/stdlib.h" 3 4 2441: extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 749 "/usr/include/stdlib.h" 3 4 2441: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 759 "/usr/include/stdlib.h" 3 4 2441: extern int mkostemps (char *__template, int __suffixlen, int __flags) 2441: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 771 "/usr/include/stdlib.h" 3 4 2441: extern int mkostemps64 (char *__template, int __suffixlen, int __flags) 2441: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 781 "/usr/include/stdlib.h" 3 4 2441: extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: extern char *canonicalize_file_name (const char *__name) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 797 "/usr/include/stdlib.h" 3 4 2441: extern char *realpath (const char *__restrict __name, 2441: char *__restrict __resolved) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef int (*__compar_fn_t) (const void *, const void *); 2441: 2441: 2441: typedef __compar_fn_t comparison_fn_t; 2441: 2441: 2441: 2441: typedef int (*__compar_d_fn_t) (const void *, const void *, void *); 2441: 2441: 2441: 2441: 2441: extern void *bsearch (const void *__key, const void *__base, 2441: size_t __nmemb, size_t __size, __compar_fn_t __compar) 2441: __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h" 1 3 4 2441: # 19 "/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h" 3 4 2441: extern __inline __attribute__ ((__gnu_inline__)) void * 2441: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, 2441: __compar_fn_t __compar) 2441: { 2441: size_t __l, __u, __idx; 2441: const void *__p; 2441: int __comparison; 2441: 2441: __l = 0; 2441: __u = __nmemb; 2441: while (__l < __u) 2441: { 2441: __idx = (__l + __u) / 2; 2441: __p = (void *) (((const char *) __base) + (__idx * __size)); 2441: __comparison = (*__compar) (__key, __p); 2441: if (__comparison < 0) 2441: __u = __idx; 2441: else if (__comparison > 0) 2441: __l = __idx + 1; 2441: else 2441: return (void *) __p; 2441: } 2441: 2441: return __null; 2441: } 2441: # 823 "/usr/include/stdlib.h" 2 3 4 2441: 2441: 2441: 2441: 2441: extern void qsort (void *__base, size_t __nmemb, size_t __size, 2441: __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); 2441: 2441: extern void qsort_r (void *__base, size_t __nmemb, size_t __size, 2441: __compar_d_fn_t __compar, void *__arg) 2441: __attribute__ ((__nonnull__ (1, 4))); 2441: 2441: 2441: 2441: 2441: extern int abs (int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 2441: extern long int labs (long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: __extension__ extern long long int llabs (long long int __x) 2441: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern div_t div (int __numer, int __denom) 2441: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 2441: extern ldiv_t ldiv (long int __numer, long int __denom) 2441: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: __extension__ extern lldiv_t lldiv (long long int __numer, 2441: long long int __denom) 2441: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 2441: # 869 "/usr/include/stdlib.h" 3 4 2441: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, 2441: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, 2441: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern char *gcvt (double __value, int __ndigit, char *__buf) 2441: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern char *qecvt (long double __value, int __ndigit, 2441: int *__restrict __decpt, int *__restrict __sign) 2441: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 2441: extern char *qfcvt (long double __value, int __ndigit, 2441: int *__restrict __decpt, int *__restrict __sign) 2441: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 2441: extern char *qgcvt (long double __value, int __ndigit, char *__buf) 2441: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, 2441: int *__restrict __sign, char *__restrict __buf, 2441: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 2441: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, 2441: int *__restrict __sign, char *__restrict __buf, 2441: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 2441: 2441: extern int qecvt_r (long double __value, int __ndigit, 2441: int *__restrict __decpt, int *__restrict __sign, 2441: char *__restrict __buf, size_t __len) 2441: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 2441: extern int qfcvt_r (long double __value, int __ndigit, 2441: int *__restrict __decpt, int *__restrict __sign, 2441: char *__restrict __buf, size_t __len) 2441: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 2441: 2441: 2441: 2441: 2441: 2441: extern int mblen (const char *__s, size_t __n) throw (); 2441: 2441: 2441: extern int mbtowc (wchar_t *__restrict __pwc, 2441: const char *__restrict __s, size_t __n) throw (); 2441: 2441: 2441: extern int wctomb (char *__s, wchar_t __wchar) throw (); 2441: 2441: 2441: 2441: extern size_t mbstowcs (wchar_t *__restrict __pwcs, 2441: const char *__restrict __s, size_t __n) throw (); 2441: 2441: extern size_t wcstombs (char *__restrict __s, 2441: const wchar_t *__restrict __pwcs, size_t __n) 2441: throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 2441: # 954 "/usr/include/stdlib.h" 3 4 2441: extern int getsubopt (char **__restrict __optionp, 2441: char *const *__restrict __tokens, 2441: char **__restrict __valuep) 2441: throw () __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int grantpt (int __fd) throw (); 2441: 2441: 2441: 2441: extern int unlockpt (int __fd) throw (); 2441: 2441: 2441: 2441: 2441: extern char *ptsname (int __fd) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int ptsname_r (int __fd, char *__buf, size_t __buflen) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: extern int getpt (void); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int getloadavg (double __loadavg[], int __nelem) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 1010 "/usr/include/stdlib.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdlib-float.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/stdlib-float.h" 3 4 2441: extern __inline __attribute__ ((__gnu_inline__)) double 2441: __attribute__ ((__leaf__)) atof (const char *__nptr) throw () 2441: { 2441: return strtod (__nptr, (char **) __null); 2441: } 2441: # 1011 "/usr/include/stdlib.h" 2 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdlib.h" 1 3 4 2441: # 23 "/usr/include/i386-linux-gnu/bits/stdlib.h" 3 4 2441: extern char *__realpath_chk (const char *__restrict __name, 2441: char *__restrict __resolved, 2441: size_t __resolvedlen) throw () __attribute__ ((__warn_unused_result__)); 2441: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) throw () __asm__ ("" "realpath") 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __asm__ ("" "__realpath_chk") 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)) 2441: __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 2441: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) throw () 2441: { 2441: if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) 2441: { 2441: 2441: 2441: 2441: 2441: return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); 2441: } 2441: 2441: return __realpath_alias (__name, __resolved); 2441: } 2441: 2441: 2441: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, 2441: size_t __nreal) throw () __attribute__ ((__nonnull__ (2))); 2441: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ptsname_r") 2441: 2441: __attribute__ ((__nonnull__ (2))); 2441: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ptsname_r_chk") 2441: 2441: 2441: __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) throw () 2441: { 2441: if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__buflen)) 2441: return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 2441: if (__buflen > __builtin_object_size (__buf, 2 > 1)) 2441: return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 2441: } 2441: return __ptsname_r_alias (__fd, __buf, __buflen); 2441: } 2441: 2441: 2441: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) 2441: throw () __attribute__ ((__warn_unused_result__)); 2441: extern int __wctomb_alias (char *__s, wchar_t __wchar) throw () __asm__ ("" "wctomb") 2441: __attribute__ ((__warn_unused_result__)); 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int 2441: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) throw () 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 2441: return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); 2441: return __wctomb_alias (__s, __wchar); 2441: } 2441: 2441: 2441: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, 2441: const char *__restrict __src, 2441: size_t __len, size_t __dstlen) throw (); 2441: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () __asm__ ("" "mbstowcs") 2441: 2441: 2441: ; 2441: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__mbstowcs_chk") 2441: 2441: 2441: 2441: __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 2441: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__len)) 2441: return __mbstowcs_chk (__dst, __src, __len, 2441: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 2441: 2441: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 2441: return __mbstowcs_chk_warn (__dst, __src, __len, 2441: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 2441: } 2441: return __mbstowcs_alias (__dst, __src, __len); 2441: } 2441: 2441: 2441: extern size_t __wcstombs_chk (char *__restrict __dst, 2441: const wchar_t *__restrict __src, 2441: size_t __len, size_t __dstlen) throw (); 2441: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () __asm__ ("" "wcstombs") 2441: 2441: 2441: ; 2441: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__wcstombs_chk") 2441: 2441: 2441: 2441: __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 2441: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () 2441: 2441: { 2441: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__len)) 2441: return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 2441: if (__len > __builtin_object_size (__dst, 2 > 1)) 2441: return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 2441: } 2441: return __wcstombs_alias (__dst, __src, __len); 2441: } 2441: # 1015 "/usr/include/stdlib.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 76 "/usr/include/c++/8/cstdlib" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/std_abs.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/std_abs.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/std_abs.h" 3 2441: # 46 "/usr/include/c++/8/bits/std_abs.h" 3 2441: extern "C++" 2441: { 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: using ::abs; 2441: 2441: 2441: inline long 2441: abs(long __i) { return __builtin_labs(__i); } 2441: 2441: 2441: 2441: inline long long 2441: abs(long long __x) { return __builtin_llabs (__x); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: inline constexpr double 2441: abs(double __x) 2441: { return __builtin_fabs(__x); } 2441: 2441: inline constexpr float 2441: abs(float __x) 2441: { return __builtin_fabsf(__x); } 2441: 2441: inline constexpr long double 2441: abs(long double __x) 2441: { return __builtin_fabsl(__x); } 2441: # 100 "/usr/include/c++/8/bits/std_abs.h" 3 2441: inline constexpr 2441: __float128 2441: abs(__float128 __x) 2441: { return __x < 0 ? -__x : __x; } 2441: 2441: 2441: 2441: } 2441: } 2441: # 78 "/usr/include/c++/8/cstdlib" 2 3 2441: # 121 "/usr/include/c++/8/cstdlib" 3 2441: extern "C++" 2441: { 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: using ::div_t; 2441: using ::ldiv_t; 2441: 2441: using ::abort; 2441: 2441: 2441: 2441: using ::atexit; 2441: 2441: 2441: using ::at_quick_exit; 2441: 2441: 2441: using ::atof; 2441: using ::atoi; 2441: using ::atol; 2441: using ::bsearch; 2441: using ::calloc; 2441: using ::div; 2441: using ::exit; 2441: using ::free; 2441: using ::getenv; 2441: using ::labs; 2441: using ::ldiv; 2441: using ::malloc; 2441: 2441: using ::mblen; 2441: using ::mbstowcs; 2441: using ::mbtowc; 2441: 2441: using ::qsort; 2441: 2441: 2441: using ::quick_exit; 2441: 2441: 2441: using ::rand; 2441: using ::realloc; 2441: using ::srand; 2441: using ::strtod; 2441: using ::strtol; 2441: using ::strtoul; 2441: using ::system; 2441: 2441: using ::wcstombs; 2441: using ::wctomb; 2441: 2441: 2441: 2441: inline ldiv_t 2441: div(long __i, long __j) { return ldiv(__i, __j); } 2441: 2441: 2441: 2441: 2441: } 2441: # 195 "/usr/include/c++/8/cstdlib" 3 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: using ::lldiv_t; 2441: 2441: 2441: 2441: 2441: 2441: using ::_Exit; 2441: 2441: 2441: 2441: using ::llabs; 2441: 2441: inline lldiv_t 2441: div(long long __n, long long __d) 2441: { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } 2441: 2441: using ::lldiv; 2441: # 227 "/usr/include/c++/8/cstdlib" 3 2441: using ::atoll; 2441: using ::strtoll; 2441: using ::strtoull; 2441: 2441: using ::strtof; 2441: using ::strtold; 2441: 2441: 2441: } 2441: 2441: namespace std 2441: { 2441: 2441: using ::__gnu_cxx::lldiv_t; 2441: 2441: using ::__gnu_cxx::_Exit; 2441: 2441: using ::__gnu_cxx::llabs; 2441: using ::__gnu_cxx::div; 2441: using ::__gnu_cxx::lldiv; 2441: 2441: using ::__gnu_cxx::atoll; 2441: using ::__gnu_cxx::strtof; 2441: using ::__gnu_cxx::strtoll; 2441: using ::__gnu_cxx::strtoull; 2441: using ::__gnu_cxx::strtold; 2441: } 2441: 2441: 2441: 2441: } 2441: # 60 "/usr/include/c++/8/bits/stl_algo.h" 2 3 2441: # 1 "/usr/include/c++/8/bits/algorithmfwd.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/algorithmfwd.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/algorithmfwd.h" 3 2441: # 42 "/usr/include/c++/8/bits/algorithmfwd.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 195 "/usr/include/c++/8/bits/algorithmfwd.h" 3 2441: template 2441: bool 2441: all_of(_IIter, _IIter, _Predicate); 2441: 2441: template 2441: bool 2441: any_of(_IIter, _IIter, _Predicate); 2441: 2441: 2441: template 2441: bool 2441: binary_search(_FIter, _FIter, const _Tp&); 2441: 2441: template 2441: bool 2441: binary_search(_FIter, _FIter, const _Tp&, _Compare); 2441: # 224 "/usr/include/c++/8/bits/algorithmfwd.h" 3 2441: template 2441: _OIter 2441: copy(_IIter, _IIter, _OIter); 2441: 2441: template 2441: _BIter2 2441: copy_backward(_BIter1, _BIter1, _BIter2); 2441: 2441: 2441: template 2441: _OIter 2441: copy_if(_IIter, _IIter, _OIter, _Predicate); 2441: 2441: template 2441: _OIter 2441: copy_n(_IIter, _Size, _OIter); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: pair<_FIter, _FIter> 2441: equal_range(_FIter, _FIter, const _Tp&); 2441: 2441: template 2441: pair<_FIter, _FIter> 2441: equal_range(_FIter, _FIter, const _Tp&, _Compare); 2441: 2441: template 2441: void 2441: fill(_FIter, _FIter, const _Tp&); 2441: 2441: template 2441: _OIter 2441: fill_n(_OIter, _Size, const _Tp&); 2441: 2441: 2441: 2441: template 2441: _FIter1 2441: find_end(_FIter1, _FIter1, _FIter2, _FIter2); 2441: 2441: template 2441: _FIter1 2441: find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _IIter 2441: find_if_not(_IIter, _IIter, _Predicate); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool 2441: includes(_IIter1, _IIter1, _IIter2, _IIter2); 2441: 2441: template 2441: bool 2441: includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 2441: 2441: template 2441: void 2441: inplace_merge(_BIter, _BIter, _BIter); 2441: 2441: template 2441: void 2441: inplace_merge(_BIter, _BIter, _BIter, _Compare); 2441: 2441: 2441: template 2441: bool 2441: is_heap(_RAIter, _RAIter); 2441: 2441: template 2441: bool 2441: is_heap(_RAIter, _RAIter, _Compare); 2441: 2441: template 2441: _RAIter 2441: is_heap_until(_RAIter, _RAIter); 2441: 2441: template 2441: _RAIter 2441: is_heap_until(_RAIter, _RAIter, _Compare); 2441: 2441: template 2441: bool 2441: is_partitioned(_IIter, _IIter, _Predicate); 2441: 2441: template 2441: bool 2441: is_permutation(_FIter1, _FIter1, _FIter2); 2441: 2441: template 2441: bool 2441: is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate); 2441: 2441: template 2441: bool 2441: is_sorted(_FIter, _FIter); 2441: 2441: template 2441: bool 2441: is_sorted(_FIter, _FIter, _Compare); 2441: 2441: template 2441: _FIter 2441: is_sorted_until(_FIter, _FIter); 2441: 2441: template 2441: _FIter 2441: is_sorted_until(_FIter, _FIter, _Compare); 2441: 2441: 2441: template 2441: void 2441: iter_swap(_FIter1, _FIter2); 2441: 2441: template 2441: _FIter 2441: lower_bound(_FIter, _FIter, const _Tp&); 2441: 2441: template 2441: _FIter 2441: lower_bound(_FIter, _FIter, const _Tp&, _Compare); 2441: 2441: template 2441: void 2441: make_heap(_RAIter, _RAIter); 2441: 2441: template 2441: void 2441: make_heap(_RAIter, _RAIter, _Compare); 2441: 2441: template 2441: constexpr 2441: const _Tp& 2441: max(const _Tp&, const _Tp&); 2441: 2441: template 2441: constexpr 2441: const _Tp& 2441: max(const _Tp&, const _Tp&, _Compare); 2441: 2441: 2441: 2441: 2441: template 2441: constexpr 2441: const _Tp& 2441: min(const _Tp&, const _Tp&); 2441: 2441: template 2441: constexpr 2441: const _Tp& 2441: min(const _Tp&, const _Tp&, _Compare); 2441: 2441: 2441: 2441: 2441: template 2441: constexpr 2441: pair 2441: minmax(const _Tp&, const _Tp&); 2441: 2441: template 2441: constexpr 2441: pair 2441: minmax(const _Tp&, const _Tp&, _Compare); 2441: 2441: template 2441: constexpr 2441: pair<_FIter, _FIter> 2441: minmax_element(_FIter, _FIter); 2441: 2441: template 2441: constexpr 2441: pair<_FIter, _FIter> 2441: minmax_element(_FIter, _FIter, _Compare); 2441: 2441: template 2441: constexpr 2441: _Tp 2441: min(initializer_list<_Tp>); 2441: 2441: template 2441: constexpr 2441: _Tp 2441: min(initializer_list<_Tp>, _Compare); 2441: 2441: template 2441: constexpr 2441: _Tp 2441: max(initializer_list<_Tp>); 2441: 2441: template 2441: constexpr 2441: _Tp 2441: max(initializer_list<_Tp>, _Compare); 2441: 2441: template 2441: constexpr 2441: pair<_Tp, _Tp> 2441: minmax(initializer_list<_Tp>); 2441: 2441: template 2441: constexpr 2441: pair<_Tp, _Tp> 2441: minmax(initializer_list<_Tp>, _Compare); 2441: 2441: 2441: 2441: 2441: template 2441: bool 2441: next_permutation(_BIter, _BIter); 2441: 2441: template 2441: bool 2441: next_permutation(_BIter, _BIter, _Compare); 2441: 2441: 2441: template 2441: bool 2441: none_of(_IIter, _IIter, _Predicate); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _RAIter 2441: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); 2441: 2441: template 2441: _RAIter 2441: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); 2441: 2441: 2441: 2441: 2441: template 2441: pair<_OIter1, _OIter2> 2441: partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate); 2441: 2441: template 2441: _FIter 2441: partition_point(_FIter, _FIter, _Predicate); 2441: 2441: 2441: template 2441: void 2441: pop_heap(_RAIter, _RAIter); 2441: 2441: template 2441: void 2441: pop_heap(_RAIter, _RAIter, _Compare); 2441: 2441: template 2441: bool 2441: prev_permutation(_BIter, _BIter); 2441: 2441: template 2441: bool 2441: prev_permutation(_BIter, _BIter, _Compare); 2441: 2441: template 2441: void 2441: push_heap(_RAIter, _RAIter); 2441: 2441: template 2441: void 2441: push_heap(_RAIter, _RAIter, _Compare); 2441: 2441: 2441: 2441: template 2441: _FIter 2441: remove(_FIter, _FIter, const _Tp&); 2441: 2441: template 2441: _FIter 2441: remove_if(_FIter, _FIter, _Predicate); 2441: 2441: template 2441: _OIter 2441: remove_copy(_IIter, _IIter, _OIter, const _Tp&); 2441: 2441: template 2441: _OIter 2441: remove_copy_if(_IIter, _IIter, _OIter, _Predicate); 2441: 2441: 2441: 2441: template 2441: _OIter 2441: replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); 2441: 2441: template 2441: _OIter 2441: replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); 2441: 2441: 2441: 2441: template 2441: void 2441: reverse(_BIter, _BIter); 2441: 2441: template 2441: _OIter 2441: reverse_copy(_BIter, _BIter, _OIter); 2441: 2441: inline namespace _V2 2441: { 2441: template 2441: _FIter 2441: rotate(_FIter, _FIter, _FIter); 2441: } 2441: 2441: template 2441: _OIter 2441: rotate_copy(_FIter, _FIter, _FIter, _OIter); 2441: # 565 "/usr/include/c++/8/bits/algorithmfwd.h" 3 2441: template 2441: void 2441: shuffle(_RAIter, _RAIter, _UGenerator&&); 2441: 2441: 2441: template 2441: void 2441: sort_heap(_RAIter, _RAIter); 2441: 2441: template 2441: void 2441: sort_heap(_RAIter, _RAIter, _Compare); 2441: 2441: template 2441: _BIter 2441: stable_partition(_BIter, _BIter, _Predicate); 2441: # 594 "/usr/include/c++/8/bits/algorithmfwd.h" 3 2441: template 2441: _FIter2 2441: swap_ranges(_FIter1, _FIter1, _FIter2); 2441: 2441: 2441: 2441: template 2441: _FIter 2441: unique(_FIter, _FIter); 2441: 2441: template 2441: _FIter 2441: unique(_FIter, _FIter, _BinaryPredicate); 2441: 2441: 2441: 2441: template 2441: _FIter 2441: upper_bound(_FIter, _FIter, const _Tp&); 2441: 2441: template 2441: _FIter 2441: upper_bound(_FIter, _FIter, const _Tp&, _Compare); 2441: 2441: 2441: 2441: template 2441: _FIter 2441: adjacent_find(_FIter, _FIter); 2441: 2441: template 2441: _FIter 2441: adjacent_find(_FIter, _FIter, _BinaryPredicate); 2441: 2441: template 2441: typename iterator_traits<_IIter>::difference_type 2441: count(_IIter, _IIter, const _Tp&); 2441: 2441: template 2441: typename iterator_traits<_IIter>::difference_type 2441: count_if(_IIter, _IIter, _Predicate); 2441: 2441: template 2441: bool 2441: equal(_IIter1, _IIter1, _IIter2); 2441: 2441: template 2441: bool 2441: equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 2441: 2441: template 2441: _IIter 2441: find(_IIter, _IIter, const _Tp&); 2441: 2441: template 2441: _FIter1 2441: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); 2441: 2441: template 2441: _FIter1 2441: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 2441: 2441: template 2441: _IIter 2441: find_if(_IIter, _IIter, _Predicate); 2441: 2441: template 2441: _Funct 2441: for_each(_IIter, _IIter, _Funct); 2441: 2441: template 2441: void 2441: generate(_FIter, _FIter, _Generator); 2441: 2441: template 2441: _OIter 2441: generate_n(_OIter, _Size, _Generator); 2441: 2441: template 2441: bool 2441: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); 2441: 2441: template 2441: bool 2441: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 2441: 2441: template 2441: constexpr 2441: _FIter 2441: max_element(_FIter, _FIter); 2441: 2441: template 2441: constexpr 2441: _FIter 2441: max_element(_FIter, _FIter, _Compare); 2441: 2441: template 2441: _OIter 2441: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 2441: 2441: template 2441: _OIter 2441: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 2441: 2441: template 2441: constexpr 2441: _FIter 2441: min_element(_FIter, _FIter); 2441: 2441: template 2441: constexpr 2441: _FIter 2441: min_element(_FIter, _FIter, _Compare); 2441: 2441: template 2441: pair<_IIter1, _IIter2> 2441: mismatch(_IIter1, _IIter1, _IIter2); 2441: 2441: template 2441: pair<_IIter1, _IIter2> 2441: mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 2441: 2441: template 2441: void 2441: nth_element(_RAIter, _RAIter, _RAIter); 2441: 2441: template 2441: void 2441: nth_element(_RAIter, _RAIter, _RAIter, _Compare); 2441: 2441: template 2441: void 2441: partial_sort(_RAIter, _RAIter, _RAIter); 2441: 2441: template 2441: void 2441: partial_sort(_RAIter, _RAIter, _RAIter, _Compare); 2441: 2441: template 2441: _BIter 2441: partition(_BIter, _BIter, _Predicate); 2441: 2441: template 2441: void 2441: random_shuffle(_RAIter, _RAIter); 2441: 2441: template 2441: void 2441: random_shuffle(_RAIter, _RAIter, 2441: 2441: _Generator&&); 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: replace(_FIter, _FIter, const _Tp&, const _Tp&); 2441: 2441: template 2441: void 2441: replace_if(_FIter, _FIter, _Predicate, const _Tp&); 2441: 2441: template 2441: _FIter1 2441: search(_FIter1, _FIter1, _FIter2, _FIter2); 2441: 2441: template 2441: _FIter1 2441: search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 2441: 2441: template 2441: _FIter 2441: search_n(_FIter, _FIter, _Size, const _Tp&); 2441: 2441: template 2441: _FIter 2441: search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); 2441: 2441: template 2441: _OIter 2441: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 2441: 2441: template 2441: _OIter 2441: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 2441: 2441: template 2441: _OIter 2441: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 2441: 2441: template 2441: _OIter 2441: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 2441: 2441: template 2441: _OIter 2441: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 2441: 2441: template 2441: _OIter 2441: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, 2441: _OIter, _Compare); 2441: 2441: template 2441: _OIter 2441: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 2441: 2441: template 2441: _OIter 2441: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 2441: 2441: template 2441: void 2441: sort(_RAIter, _RAIter); 2441: 2441: template 2441: void 2441: sort(_RAIter, _RAIter, _Compare); 2441: 2441: template 2441: void 2441: stable_sort(_RAIter, _RAIter); 2441: 2441: template 2441: void 2441: stable_sort(_RAIter, _RAIter, _Compare); 2441: 2441: template 2441: _OIter 2441: transform(_IIter, _IIter, _OIter, _UnaryOperation); 2441: 2441: template 2441: _OIter 2441: transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); 2441: 2441: template 2441: _OIter 2441: unique_copy(_IIter, _IIter, _OIter); 2441: 2441: template 2441: _OIter 2441: unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); 2441: 2441: 2441: 2441: } 2441: # 61 "/usr/include/c++/8/bits/stl_algo.h" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_heap.h" 1 3 2441: # 62 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _Distance 2441: __is_heap_until(_RandomAccessIterator __first, _Distance __n, 2441: _Compare& __comp) 2441: { 2441: _Distance __parent = 0; 2441: for (_Distance __child = 1; __child < __n; ++__child) 2441: { 2441: if (__comp(__first + __parent, __first + __child)) 2441: return __child; 2441: if ((__child & 1) == 0) 2441: ++__parent; 2441: } 2441: return __n; 2441: } 2441: 2441: 2441: 2441: template 2441: inline bool 2441: __is_heap(_RandomAccessIterator __first, _Distance __n) 2441: { 2441: __gnu_cxx::__ops::_Iter_less_iter __comp; 2441: return std::__is_heap_until(__first, __n, __comp) == __n; 2441: } 2441: 2441: template 2441: inline bool 2441: __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) 2441: { 2441: typedef __decltype(__comp) _Cmp; 2441: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 2441: return std::__is_heap_until(__first, __n, __cmp) == __n; 2441: } 2441: 2441: template 2441: inline bool 2441: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { return std::__is_heap(__first, std::distance(__first, __last)); } 2441: 2441: template 2441: inline bool 2441: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: return std::__is_heap(__first, std::move(__comp), 2441: std::distance(__first, __last)); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: __push_heap(_RandomAccessIterator __first, 2441: _Distance __holeIndex, _Distance __topIndex, _Tp __value, 2441: _Compare& __comp) 2441: { 2441: _Distance __parent = (__holeIndex - 1) / 2; 2441: while (__holeIndex > __topIndex && __comp(__first + __parent, __value)) 2441: { 2441: *(__first + __holeIndex) = std::move(*(__first + __parent)); 2441: __holeIndex = __parent; 2441: __parent = (__holeIndex - 1) / 2; 2441: } 2441: *(__first + __holeIndex) = std::move(__value); 2441: } 2441: # 152 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: typedef typename iterator_traits<_RandomAccessIterator>::value_type 2441: _ValueType; 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _DistanceType; 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: __gnu_cxx::__ops::_Iter_less_val __comp; 2441: _ValueType __value = std::move(*(__last - 1)); 2441: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 2441: _DistanceType(0), std::move(__value), __comp); 2441: } 2441: # 187 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_RandomAccessIterator>::value_type 2441: _ValueType; 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _DistanceType; 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 2441: __cmp(std::move(__comp)); 2441: _ValueType __value = std::move(*(__last - 1)); 2441: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 2441: _DistanceType(0), std::move(__value), __cmp); 2441: } 2441: 2441: template 2441: void 2441: __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 2441: _Distance __len, _Tp __value, _Compare __comp) 2441: { 2441: const _Distance __topIndex = __holeIndex; 2441: _Distance __secondChild = __holeIndex; 2441: while (__secondChild < (__len - 1) / 2) 2441: { 2441: __secondChild = 2 * (__secondChild + 1); 2441: if (__comp(__first + __secondChild, 2441: __first + (__secondChild - 1))) 2441: __secondChild--; 2441: *(__first + __holeIndex) = std::move(*(__first + __secondChild)); 2441: __holeIndex = __secondChild; 2441: } 2441: if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) 2441: { 2441: __secondChild = 2 * (__secondChild + 1); 2441: *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1))) 2441: ; 2441: __holeIndex = __secondChild - 1; 2441: } 2441: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 2441: __cmp(std::move(__comp)); 2441: std::__push_heap(__first, __holeIndex, __topIndex, 2441: std::move(__value), __cmp); 2441: } 2441: 2441: template 2441: inline void 2441: __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _RandomAccessIterator __result, _Compare& __comp) 2441: { 2441: typedef typename iterator_traits<_RandomAccessIterator>::value_type 2441: _ValueType; 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _DistanceType; 2441: 2441: _ValueType __value = std::move(*__result); 2441: *__result = std::move(*__first); 2441: std::__adjust_heap(__first, _DistanceType(0), 2441: _DistanceType(__last - __first), 2441: std::move(__value), __comp); 2441: } 2441: # 269 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: if (__last - __first > 1) 2441: { 2441: --__last; 2441: __gnu_cxx::__ops::_Iter_less_iter __comp; 2441: std::__pop_heap(__first, __last, __last, __comp); 2441: } 2441: } 2441: # 302 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: pop_heap(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: if (__last - __first > 1) 2441: { 2441: typedef __decltype(__comp) _Cmp; 2441: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 2441: --__last; 2441: std::__pop_heap(__first, __last, __last, __cmp); 2441: } 2441: } 2441: 2441: template 2441: void 2441: __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare& __comp) 2441: { 2441: typedef typename iterator_traits<_RandomAccessIterator>::value_type 2441: _ValueType; 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _DistanceType; 2441: 2441: if (__last - __first < 2) 2441: return; 2441: 2441: const _DistanceType __len = __last - __first; 2441: _DistanceType __parent = (__len - 2) / 2; 2441: while (true) 2441: { 2441: _ValueType __value = std::move(*(__first + __parent)); 2441: std::__adjust_heap(__first, __parent, __len, std::move(__value), 2441: __comp); 2441: if (__parent == 0) 2441: return; 2441: __parent--; 2441: } 2441: } 2441: # 358 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: __gnu_cxx::__ops::_Iter_less_iter __comp; 2441: std::__make_heap(__first, __last, __comp); 2441: } 2441: # 384 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: typedef __decltype(__comp) _Cmp; 2441: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 2441: std::__make_heap(__first, __last, __cmp); 2441: } 2441: 2441: template 2441: void 2441: __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare& __comp) 2441: { 2441: while (__last - __first > 1) 2441: { 2441: --__last; 2441: std::__pop_heap(__first, __last, __last, __comp); 2441: } 2441: } 2441: # 420 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: __gnu_cxx::__ops::_Iter_less_iter __comp; 2441: std::__sort_heap(__first, __last, __comp); 2441: } 2441: # 447 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline void 2441: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: typedef __decltype(__comp) _Cmp; 2441: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 2441: std::__sort_heap(__first, __last, __cmp); 2441: } 2441: # 475 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline _RandomAccessIterator 2441: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: __gnu_cxx::__ops::_Iter_less_iter __comp; 2441: return __first + 2441: std::__is_heap_until(__first, std::distance(__first, __last), __comp); 2441: } 2441: # 503 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline _RandomAccessIterator 2441: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: typedef __decltype(__comp) _Cmp; 2441: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 2441: return __first 2441: + std::__is_heap_until(__first, std::distance(__first, __last), __cmp); 2441: } 2441: # 527 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline bool 2441: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { return std::is_heap_until(__first, __last) == __last; } 2441: # 540 "/usr/include/c++/8/bits/stl_heap.h" 3 2441: template 2441: inline bool 2441: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: const auto __dist = std::distance(__first, __last); 2441: typedef __decltype(__comp) _Cmp; 2441: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 2441: return std::__is_heap_until(__first, __dist, __cmp) == __dist; 2441: } 2441: 2441: 2441: 2441: } 2441: # 62 "/usr/include/c++/8/bits/stl_algo.h" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_tempbuf.h" 1 3 2441: # 60 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 2441: # 1 "/usr/include/c++/8/bits/stl_construct.h" 1 3 2441: # 59 "/usr/include/c++/8/bits/stl_construct.h" 3 2441: # 1 "/usr/include/c++/8/new" 1 3 2441: # 37 "/usr/include/c++/8/new" 3 2441: 2441: # 38 "/usr/include/c++/8/new" 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/exception" 1 3 2441: # 33 "/usr/include/c++/8/exception" 3 2441: 2441: # 34 "/usr/include/c++/8/exception" 3 2441: 2441: #pragma GCC visibility push(default) 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/exception.h" 1 3 2441: # 34 "/usr/include/c++/8/bits/exception.h" 3 2441: 2441: # 35 "/usr/include/c++/8/bits/exception.h" 3 2441: 2441: #pragma GCC visibility push(default) 2441: 2441: 2441: 2441: extern "C++" { 2441: 2441: namespace std 2441: { 2441: # 60 "/usr/include/c++/8/bits/exception.h" 3 2441: class exception 2441: { 2441: public: 2441: exception() noexcept { } 2441: virtual ~exception() noexcept; 2441: 2441: 2441: 2441: virtual const char* 2441: what() const noexcept; 2441: }; 2441: 2441: } 2441: 2441: } 2441: 2441: #pragma GCC visibility pop 2441: # 39 "/usr/include/c++/8/exception" 2 3 2441: 2441: extern "C++" { 2441: 2441: namespace std 2441: { 2441: 2441: 2441: class bad_exception : public exception 2441: { 2441: public: 2441: bad_exception() noexcept { } 2441: 2441: 2441: 2441: virtual ~bad_exception() noexcept; 2441: 2441: 2441: virtual const char* 2441: what() const noexcept; 2441: }; 2441: 2441: 2441: typedef void (*terminate_handler) (); 2441: 2441: 2441: typedef void (*unexpected_handler) (); 2441: 2441: 2441: terminate_handler set_terminate(terminate_handler) noexcept; 2441: 2441: 2441: 2441: terminate_handler get_terminate() noexcept; 2441: 2441: 2441: 2441: 2441: void terminate() noexcept __attribute__ ((__noreturn__)); 2441: 2441: 2441: unexpected_handler set_unexpected(unexpected_handler) noexcept; 2441: 2441: 2441: 2441: unexpected_handler get_unexpected() noexcept; 2441: 2441: 2441: 2441: 2441: void unexpected() __attribute__ ((__noreturn__)); 2441: # 101 "/usr/include/c++/8/exception" 3 2441: 2441: bool uncaught_exception() noexcept __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: int uncaught_exceptions() noexcept __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: } 2441: 2441: namespace __gnu_cxx 2441: { 2441: 2441: # 133 "/usr/include/c++/8/exception" 3 2441: void __verbose_terminate_handler(); 2441: 2441: 2441: } 2441: 2441: } 2441: 2441: #pragma GCC visibility pop 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/exception_ptr.h" 1 3 2441: # 34 "/usr/include/c++/8/bits/exception_ptr.h" 3 2441: #pragma GCC visibility push(default) 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 1 3 2441: # 34 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 2441: 2441: # 35 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 2441: 2441: #pragma GCC visibility push(default) 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 149 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 3 4 2441: typedef int ptrdiff_t; 2441: # 426 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 3 4 2441: typedef struct { 2441: long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); 2441: long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: __float128 __max_align_f128 __attribute__((__aligned__(__alignof(__float128)))); 2441: 2441: } max_align_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef decltype(nullptr) nullptr_t; 2441: # 39 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 2 3 2441: # 50 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 2441: namespace std 2441: { 2441: class type_info; 2441: } 2441: 2441: namespace __cxxabiv1 2441: { 2441: struct __cxa_refcounted_exception; 2441: 2441: extern "C" 2441: { 2441: 2441: void* 2441: __cxa_allocate_exception(size_t) noexcept; 2441: 2441: void 2441: __cxa_free_exception(void*) noexcept; 2441: 2441: 2441: __cxa_refcounted_exception* 2441: __cxa_init_primary_exception(void *object, std::type_info *tinfo, 2441: void ( *dest) (void *)) noexcept; 2441: 2441: } 2441: } 2441: 2441: 2441: 2441: #pragma GCC visibility pop 2441: # 39 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 2441: # 1 "/usr/include/c++/8/typeinfo" 1 3 2441: # 32 "/usr/include/c++/8/typeinfo" 3 2441: 2441: # 33 "/usr/include/c++/8/typeinfo" 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/hash_bytes.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/hash_bytes.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/hash_bytes.h" 3 2441: 2441: 2441: 2441: namespace std 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: size_t 2441: _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); 2441: 2441: 2441: 2441: 2441: 2441: size_t 2441: _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); 2441: 2441: 2441: } 2441: # 37 "/usr/include/c++/8/typeinfo" 2 3 2441: 2441: 2441: #pragma GCC visibility push(default) 2441: 2441: extern "C++" { 2441: 2441: namespace __cxxabiv1 2441: { 2441: class __class_type_info; 2441: } 2441: # 80 "/usr/include/c++/8/typeinfo" 3 2441: namespace std 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: class type_info 2441: { 2441: public: 2441: 2441: 2441: 2441: 2441: virtual ~type_info(); 2441: 2441: 2441: 2441: const char* name() const noexcept 2441: { return __name[0] == '*' ? __name + 1 : __name; } 2441: # 115 "/usr/include/c++/8/typeinfo" 3 2441: bool before(const type_info& __arg) const noexcept 2441: { return (__name[0] == '*' && __arg.__name[0] == '*') 2441: ? __name < __arg.__name 2441: : __builtin_strcmp (__name, __arg.__name) < 0; } 2441: 2441: bool operator==(const type_info& __arg) const noexcept 2441: { 2441: return ((__name == __arg.__name) 2441: || (__name[0] != '*' && 2441: __builtin_strcmp (__name, __arg.__name) == 0)); 2441: } 2441: # 136 "/usr/include/c++/8/typeinfo" 3 2441: bool operator!=(const type_info& __arg) const noexcept 2441: { return !operator==(__arg); } 2441: 2441: 2441: size_t hash_code() const noexcept 2441: { 2441: 2441: return _Hash_bytes(name(), __builtin_strlen(name()), 2441: static_cast(0xc70f6907UL)); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: virtual bool __is_pointer_p() const; 2441: 2441: 2441: virtual bool __is_function_p() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, 2441: unsigned __outer) const; 2441: 2441: 2441: virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, 2441: void **__obj_ptr) const; 2441: 2441: protected: 2441: const char *__name; 2441: 2441: explicit type_info(const char *__n): __name(__n) { } 2441: 2441: private: 2441: 2441: type_info& operator=(const type_info&); 2441: type_info(const type_info&); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: class bad_cast : public exception 2441: { 2441: public: 2441: bad_cast() noexcept { } 2441: 2441: 2441: 2441: virtual ~bad_cast() noexcept; 2441: 2441: 2441: virtual const char* what() const noexcept; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: class bad_typeid : public exception 2441: { 2441: public: 2441: bad_typeid () noexcept { } 2441: 2441: 2441: 2441: virtual ~bad_typeid() noexcept; 2441: 2441: 2441: virtual const char* what() const noexcept; 2441: }; 2441: } 2441: 2441: } 2441: 2441: #pragma GCC visibility pop 2441: # 40 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 2441: # 1 "/usr/include/c++/8/new" 1 3 2441: # 41 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 2441: 2441: extern "C++" { 2441: 2441: namespace std 2441: { 2441: class type_info; 2441: 2441: 2441: 2441: 2441: 2441: namespace __exception_ptr 2441: { 2441: class exception_ptr; 2441: } 2441: 2441: using __exception_ptr::exception_ptr; 2441: 2441: 2441: 2441: 2441: 2441: exception_ptr current_exception() noexcept; 2441: 2441: template 2441: exception_ptr make_exception_ptr(_Ex) noexcept; 2441: 2441: 2441: void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); 2441: 2441: namespace __exception_ptr 2441: { 2441: using std::rethrow_exception; 2441: 2441: 2441: 2441: 2441: 2441: class exception_ptr 2441: { 2441: void* _M_exception_object; 2441: 2441: explicit exception_ptr(void* __e) noexcept; 2441: 2441: void _M_addref() noexcept; 2441: void _M_release() noexcept; 2441: 2441: void *_M_get() const noexcept __attribute__ ((__pure__)); 2441: 2441: friend exception_ptr std::current_exception() noexcept; 2441: friend void std::rethrow_exception(exception_ptr); 2441: template 2441: friend exception_ptr std::make_exception_ptr(_Ex) noexcept; 2441: 2441: public: 2441: exception_ptr() noexcept; 2441: 2441: exception_ptr(const exception_ptr&) noexcept; 2441: 2441: 2441: exception_ptr(nullptr_t) noexcept 2441: : _M_exception_object(0) 2441: { } 2441: 2441: exception_ptr(exception_ptr&& __o) noexcept 2441: : _M_exception_object(__o._M_exception_object) 2441: { __o._M_exception_object = 0; } 2441: # 117 "/usr/include/c++/8/bits/exception_ptr.h" 3 2441: exception_ptr& 2441: operator=(const exception_ptr&) noexcept; 2441: 2441: 2441: exception_ptr& 2441: operator=(exception_ptr&& __o) noexcept 2441: { 2441: exception_ptr(static_cast(__o)).swap(*this); 2441: return *this; 2441: } 2441: 2441: 2441: ~exception_ptr() noexcept; 2441: 2441: void 2441: swap(exception_ptr&) noexcept; 2441: # 144 "/usr/include/c++/8/bits/exception_ptr.h" 3 2441: explicit operator bool() const 2441: { return _M_exception_object; } 2441: 2441: 2441: friend bool 2441: operator==(const exception_ptr&, const exception_ptr&) 2441: noexcept __attribute__ ((__pure__)); 2441: 2441: const class std::type_info* 2441: __cxa_exception_type() const noexcept 2441: __attribute__ ((__pure__)); 2441: }; 2441: 2441: bool 2441: operator==(const exception_ptr&, const exception_ptr&) 2441: noexcept __attribute__ ((__pure__)); 2441: 2441: bool 2441: operator!=(const exception_ptr&, const exception_ptr&) 2441: noexcept __attribute__ ((__pure__)); 2441: 2441: inline void 2441: swap(exception_ptr& __lhs, exception_ptr& __rhs) 2441: { __lhs.swap(__rhs); } 2441: 2441: template 2441: inline void 2441: __dest_thunk(void* __x) 2441: { static_cast<_Ex*>(__x)->~_Ex(); } 2441: 2441: } 2441: 2441: 2441: template 2441: exception_ptr 2441: make_exception_ptr(_Ex __ex) noexcept 2441: { 2441: 2441: void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex)); 2441: (void) __cxxabiv1::__cxa_init_primary_exception( 2441: __e, const_cast(&typeid(__ex)), 2441: __exception_ptr::__dest_thunk<_Ex>); 2441: try 2441: { 2441: ::new (__e) _Ex(__ex); 2441: return exception_ptr(__e); 2441: } 2441: catch(...) 2441: { 2441: __cxxabiv1::__cxa_free_exception(__e); 2441: return current_exception(); 2441: } 2441: # 208 "/usr/include/c++/8/bits/exception_ptr.h" 3 2441: } 2441: 2441: 2441: } 2441: 2441: } 2441: 2441: #pragma GCC visibility pop 2441: # 144 "/usr/include/c++/8/exception" 2 3 2441: # 1 "/usr/include/c++/8/bits/nested_exception.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/nested_exception.h" 3 2441: #pragma GCC visibility push(default) 2441: # 42 "/usr/include/c++/8/bits/nested_exception.h" 3 2441: extern "C++" { 2441: 2441: namespace std 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: class nested_exception 2441: { 2441: exception_ptr _M_ptr; 2441: 2441: public: 2441: nested_exception() noexcept : _M_ptr(current_exception()) { } 2441: 2441: nested_exception(const nested_exception&) noexcept = default; 2441: 2441: nested_exception& operator=(const nested_exception&) noexcept = default; 2441: 2441: virtual ~nested_exception() noexcept; 2441: 2441: [[noreturn]] 2441: void 2441: rethrow_nested() const 2441: { 2441: if (_M_ptr) 2441: rethrow_exception(_M_ptr); 2441: std::terminate(); 2441: } 2441: 2441: exception_ptr 2441: nested_ptr() const noexcept 2441: { return _M_ptr; } 2441: }; 2441: 2441: template 2441: struct _Nested_exception : public _Except, public nested_exception 2441: { 2441: explicit _Nested_exception(const _Except& __ex) 2441: : _Except(__ex) 2441: { } 2441: 2441: explicit _Nested_exception(_Except&& __ex) 2441: : _Except(static_cast<_Except&&>(__ex)) 2441: { } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: [[noreturn]] 2441: inline void 2441: __throw_with_nested_impl(_Tp&& __t, true_type) 2441: { 2441: using _Up = typename remove_reference<_Tp>::type; 2441: throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; 2441: } 2441: 2441: template 2441: [[noreturn]] 2441: inline void 2441: __throw_with_nested_impl(_Tp&& __t, false_type) 2441: { throw std::forward<_Tp>(__t); } 2441: 2441: 2441: 2441: template 2441: [[noreturn]] 2441: inline void 2441: throw_with_nested(_Tp&& __t) 2441: { 2441: using _Up = typename decay<_Tp>::type; 2441: using _CopyConstructible 2441: = __and_, is_move_constructible<_Up>>; 2441: static_assert(_CopyConstructible::value, 2441: "throw_with_nested argument must be CopyConstructible"); 2441: using __nest = __and_, __bool_constant, 2441: __not_>>; 2441: std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{}); 2441: } 2441: 2441: 2441: template 2441: using __rethrow_if_nested_cond = typename enable_if< 2441: __and_, 2441: __or_<__not_>, 2441: is_convertible<_Tp*, nested_exception*>>>::value 2441: >::type; 2441: 2441: 2441: template 2441: inline __rethrow_if_nested_cond<_Ex> 2441: __rethrow_if_nested_impl(const _Ex* __ptr) 2441: { 2441: if (auto __ne_ptr = dynamic_cast(__ptr)) 2441: __ne_ptr->rethrow_nested(); 2441: } 2441: 2441: 2441: inline void 2441: __rethrow_if_nested_impl(const void*) 2441: { } 2441: 2441: 2441: template 2441: inline void 2441: rethrow_if_nested(const _Ex& __ex) 2441: { std::__rethrow_if_nested_impl(std::__addressof(__ex)); } 2441: 2441: 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: #pragma GCC visibility pop 2441: # 145 "/usr/include/c++/8/exception" 2 3 2441: # 41 "/usr/include/c++/8/new" 2 3 2441: 2441: #pragma GCC visibility push(default) 2441: 2441: extern "C++" { 2441: 2441: namespace std 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: class bad_alloc : public exception 2441: { 2441: public: 2441: bad_alloc() throw() { } 2441: 2441: 2441: 2441: virtual ~bad_alloc() throw(); 2441: 2441: 2441: virtual const char* what() const throw(); 2441: }; 2441: 2441: 2441: class bad_array_new_length : public bad_alloc 2441: { 2441: public: 2441: bad_array_new_length() throw() { } 2441: 2441: 2441: 2441: virtual ~bad_array_new_length() throw(); 2441: 2441: 2441: virtual const char* what() const throw(); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct nothrow_t 2441: { 2441: 2441: explicit nothrow_t() = default; 2441: 2441: }; 2441: 2441: extern const nothrow_t nothrow; 2441: 2441: 2441: 2441: typedef void (*new_handler)(); 2441: 2441: 2441: 2441: new_handler set_new_handler(new_handler) throw(); 2441: 2441: 2441: 2441: new_handler get_new_handler() noexcept; 2441: 2441: } 2441: # 120 "/usr/include/c++/8/new" 3 2441: void* operator new(std::size_t) 2441: __attribute__((__externally_visible__)); 2441: void* operator new[](std::size_t) 2441: __attribute__((__externally_visible__)); 2441: void operator delete(void*) noexcept 2441: __attribute__((__externally_visible__)); 2441: void operator delete[](void*) noexcept 2441: __attribute__((__externally_visible__)); 2441: 2441: void operator delete(void*, std::size_t) noexcept 2441: __attribute__((__externally_visible__)); 2441: void operator delete[](void*, std::size_t) noexcept 2441: __attribute__((__externally_visible__)); 2441: 2441: void* operator new(std::size_t, const std::nothrow_t&) noexcept 2441: __attribute__((__externally_visible__)); 2441: void* operator new[](std::size_t, const std::nothrow_t&) noexcept 2441: __attribute__((__externally_visible__)); 2441: void operator delete(void*, const std::nothrow_t&) noexcept 2441: __attribute__((__externally_visible__)); 2441: void operator delete[](void*, const std::nothrow_t&) noexcept 2441: __attribute__((__externally_visible__)); 2441: # 168 "/usr/include/c++/8/new" 3 2441: inline void* operator new(std::size_t, void* __p) noexcept 2441: { return __p; } 2441: inline void* operator new[](std::size_t, void* __p) noexcept 2441: { return __p; } 2441: 2441: 2441: inline void operator delete (void*, void*) noexcept { } 2441: inline void operator delete[](void*, void*) noexcept { } 2441: 2441: } 2441: # 216 "/usr/include/c++/8/new" 3 2441: #pragma GCC visibility pop 2441: # 60 "/usr/include/c++/8/bits/stl_construct.h" 2 3 2441: 2441: # 1 "/usr/include/c++/8/ext/alloc_traits.h" 1 3 2441: # 32 "/usr/include/c++/8/ext/alloc_traits.h" 3 2441: 2441: # 33 "/usr/include/c++/8/ext/alloc_traits.h" 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/alloc_traits.h" 1 3 2441: # 41 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: struct __allocator_traits_base 2441: { 2441: template 2441: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 2441: 2441: template 2441: struct __rebind<_Tp, _Up, 2441: __void_t::other>> 2441: { using type = typename _Tp::template rebind<_Up>::other; }; 2441: 2441: protected: 2441: template 2441: using __pointer = typename _Tp::pointer; 2441: template 2441: using __c_pointer = typename _Tp::const_pointer; 2441: template 2441: using __v_pointer = typename _Tp::void_pointer; 2441: template 2441: using __cv_pointer = typename _Tp::const_void_pointer; 2441: template 2441: using __pocca = typename _Tp::propagate_on_container_copy_assignment; 2441: template 2441: using __pocma = typename _Tp::propagate_on_container_move_assignment; 2441: template 2441: using __pocs = typename _Tp::propagate_on_container_swap; 2441: template 2441: using __equal = typename _Tp::is_always_equal; 2441: }; 2441: 2441: template 2441: using __alloc_rebind 2441: = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct allocator_traits : __allocator_traits_base 2441: { 2441: 2441: typedef _Alloc allocator_type; 2441: 2441: typedef typename _Alloc::value_type value_type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: using pointer = __detected_or_t; 2441: 2441: private: 2441: 2441: template class _Func, typename _Tp, typename = void> 2441: struct _Ptr 2441: { 2441: using type = typename pointer_traits::template rebind<_Tp>; 2441: }; 2441: 2441: template class _Func, typename _Tp> 2441: struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> 2441: { 2441: using type = _Func<_Alloc>; 2441: }; 2441: 2441: 2441: template 2441: struct _Diff 2441: { using type = typename pointer_traits<_PtrT>::difference_type; }; 2441: 2441: template 2441: struct _Diff<_A2, _PtrT, __void_t> 2441: { using type = typename _A2::difference_type; }; 2441: 2441: 2441: template 2441: struct _Size : make_unsigned<_DiffT> { }; 2441: 2441: template 2441: struct _Size<_A2, _DiffT, __void_t> 2441: { using type = typename _A2::size_type; }; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using void_pointer = typename _Ptr<__v_pointer, void>::type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using difference_type = typename _Diff<_Alloc, pointer>::type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using size_type = typename _Size<_Alloc, difference_type>::type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using propagate_on_container_copy_assignment 2441: = __detected_or_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using propagate_on_container_move_assignment 2441: = __detected_or_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using propagate_on_container_swap 2441: = __detected_or_t; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: using is_always_equal 2441: = __detected_or_t::type, __equal, _Alloc>; 2441: 2441: template 2441: using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; 2441: template 2441: using rebind_traits = allocator_traits>; 2441: 2441: private: 2441: template 2441: static auto 2441: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) 2441: -> decltype(__a.allocate(__n, __hint)) 2441: { return __a.allocate(__n, __hint); } 2441: 2441: template 2441: static pointer 2441: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) 2441: { return __a.allocate(__n); } 2441: 2441: template 2441: struct __construct_helper 2441: { 2441: template()->construct( 2441: std::declval<_Tp*>(), std::declval<_Args>()...))> 2441: static true_type __test(int); 2441: 2441: template 2441: static false_type __test(...); 2441: 2441: using type = decltype(__test<_Alloc>(0)); 2441: }; 2441: 2441: template 2441: using __has_construct 2441: = typename __construct_helper<_Tp, _Args...>::type; 2441: 2441: template 2441: static _Require<__has_construct<_Tp, _Args...>> 2441: _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 2441: { __a.construct(__p, std::forward<_Args>(__args)...); } 2441: 2441: template 2441: static 2441: _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, 2441: is_constructible<_Tp, _Args...>>> 2441: _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) 2441: { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); } 2441: 2441: template 2441: static auto 2441: _S_destroy(_Alloc2& __a, _Tp* __p, int) 2441: -> decltype(__a.destroy(__p)) 2441: { __a.destroy(__p); } 2441: 2441: template 2441: static void 2441: _S_destroy(_Alloc2&, _Tp* __p, ...) 2441: { __p->~_Tp(); } 2441: 2441: template 2441: static auto 2441: _S_max_size(_Alloc2& __a, int) 2441: -> decltype(__a.max_size()) 2441: { return __a.max_size(); } 2441: 2441: template 2441: static size_type 2441: _S_max_size(_Alloc2&, ...) 2441: { 2441: 2441: 2441: return __gnu_cxx::__numeric_traits::__max 2441: / sizeof(value_type); 2441: } 2441: 2441: template 2441: static auto 2441: _S_select(_Alloc2& __a, int) 2441: -> decltype(__a.select_on_container_copy_construction()) 2441: { return __a.select_on_container_copy_construction(); } 2441: 2441: template 2441: static _Alloc2 2441: _S_select(_Alloc2& __a, ...) 2441: { return __a; } 2441: 2441: public: 2441: # 299 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static pointer 2441: allocate(_Alloc& __a, size_type __n) 2441: { return __a.allocate(__n); } 2441: # 314 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static pointer 2441: allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) 2441: { return _S_allocate(__a, __n, __hint, 0); } 2441: # 326 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static void 2441: deallocate(_Alloc& __a, pointer __p, size_type __n) 2441: { __a.deallocate(__p, __n); } 2441: # 341 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: template 2441: static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 2441: -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) 2441: { _S_construct(__a, __p, std::forward<_Args>(__args)...); } 2441: # 354 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: template 2441: static void destroy(_Alloc& __a, _Tp* __p) 2441: { _S_destroy(__a, __p, 0); } 2441: # 366 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static size_type max_size(const _Alloc& __a) noexcept 2441: { return _S_max_size(__a, 0); } 2441: # 377 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static _Alloc 2441: select_on_container_copy_construction(const _Alloc& __rhs) 2441: { return _S_select(__rhs, 0); } 2441: }; 2441: 2441: 2441: template 2441: struct allocator_traits> 2441: { 2441: 2441: using allocator_type = allocator<_Tp>; 2441: 2441: using value_type = _Tp; 2441: 2441: 2441: using pointer = _Tp*; 2441: 2441: 2441: using const_pointer = const _Tp*; 2441: 2441: 2441: using void_pointer = void*; 2441: 2441: 2441: using const_void_pointer = const void*; 2441: 2441: 2441: using difference_type = std::ptrdiff_t; 2441: 2441: 2441: using size_type = std::size_t; 2441: 2441: 2441: using propagate_on_container_copy_assignment = false_type; 2441: 2441: 2441: using propagate_on_container_move_assignment = true_type; 2441: 2441: 2441: using propagate_on_container_swap = false_type; 2441: 2441: 2441: using is_always_equal = true_type; 2441: 2441: template 2441: using rebind_alloc = allocator<_Up>; 2441: 2441: template 2441: using rebind_traits = allocator_traits>; 2441: # 434 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static pointer 2441: allocate(allocator_type& __a, size_type __n) 2441: { return __a.allocate(__n); } 2441: # 448 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static pointer 2441: allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) 2441: { return __a.allocate(__n, __hint); } 2441: # 460 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: static void 2441: deallocate(allocator_type& __a, pointer __p, size_type __n) 2441: { __a.deallocate(__p, __n); } 2441: # 472 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: template 2441: static void 2441: construct(allocator_type& __a, _Up* __p, _Args&&... __args) 2441: { __a.construct(__p, std::forward<_Args>(__args)...); } 2441: # 484 "/usr/include/c++/8/bits/alloc_traits.h" 3 2441: template 2441: static void 2441: destroy(allocator_type& __a, _Up* __p) 2441: { __a.destroy(__p); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: static size_type 2441: max_size(const allocator_type& __a) noexcept 2441: { return __a.max_size(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: static allocator_type 2441: select_on_container_copy_construction(const allocator_type& __rhs) 2441: { return __rhs; } 2441: }; 2441: 2441: 2441: template 2441: inline void 2441: __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type) 2441: { __one = __two; } 2441: 2441: template 2441: inline void 2441: __do_alloc_on_copy(_Alloc&, const _Alloc&, false_type) 2441: { } 2441: 2441: template 2441: inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two) 2441: { 2441: typedef allocator_traits<_Alloc> __traits; 2441: typedef typename __traits::propagate_on_container_copy_assignment __pocca; 2441: __do_alloc_on_copy(__one, __two, __pocca()); 2441: } 2441: 2441: template 2441: inline _Alloc __alloc_on_copy(const _Alloc& __a) 2441: { 2441: typedef allocator_traits<_Alloc> __traits; 2441: return __traits::select_on_container_copy_construction(__a); 2441: } 2441: 2441: template 2441: inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type) 2441: { __one = std::move(__two); } 2441: 2441: template 2441: inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type) 2441: { } 2441: 2441: template 2441: inline void __alloc_on_move(_Alloc& __one, _Alloc& __two) 2441: { 2441: typedef allocator_traits<_Alloc> __traits; 2441: typedef typename __traits::propagate_on_container_move_assignment __pocma; 2441: __do_alloc_on_move(__one, __two, __pocma()); 2441: } 2441: 2441: template 2441: inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type) 2441: { 2441: using std::swap; 2441: swap(__one, __two); 2441: } 2441: 2441: template 2441: inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type) 2441: { } 2441: 2441: template 2441: inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two) 2441: { 2441: typedef allocator_traits<_Alloc> __traits; 2441: typedef typename __traits::propagate_on_container_swap __pocs; 2441: __do_alloc_on_swap(__one, __two, __pocs()); 2441: } 2441: 2441: template 2441: class __is_copy_insertable_impl 2441: { 2441: typedef allocator_traits<_Alloc> _Traits; 2441: 2441: template(), 2441: std::declval<_Up*>(), 2441: std::declval()))> 2441: static true_type 2441: _M_select(int); 2441: 2441: template 2441: static false_type 2441: _M_select(...); 2441: 2441: public: 2441: typedef decltype(_M_select(0)) type; 2441: }; 2441: 2441: 2441: template 2441: struct __is_copy_insertable 2441: : __is_copy_insertable_impl<_Alloc>::type 2441: { }; 2441: 2441: 2441: template 2441: struct __is_copy_insertable> 2441: : is_copy_constructible<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct __is_allocator : false_type { }; 2441: 2441: template 2441: struct __is_allocator<_Alloc, 2441: __void_t().allocate(size_t{}))>> 2441: : true_type { }; 2441: 2441: template 2441: using _RequireAllocator 2441: = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type; 2441: 2441: 2441: } 2441: # 37 "/usr/include/c++/8/ext/alloc_traits.h" 2 3 2441: 2441: 2441: 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __alloc_traits 2441: 2441: : std::allocator_traits<_Alloc> 2441: 2441: { 2441: typedef _Alloc allocator_type; 2441: 2441: typedef std::allocator_traits<_Alloc> _Base_type; 2441: typedef typename _Base_type::value_type value_type; 2441: typedef typename _Base_type::pointer pointer; 2441: typedef typename _Base_type::const_pointer const_pointer; 2441: typedef typename _Base_type::size_type size_type; 2441: typedef typename _Base_type::difference_type difference_type; 2441: 2441: typedef value_type& reference; 2441: typedef const value_type& const_reference; 2441: using _Base_type::allocate; 2441: using _Base_type::deallocate; 2441: using _Base_type::construct; 2441: using _Base_type::destroy; 2441: using _Base_type::max_size; 2441: 2441: private: 2441: template 2441: using __is_custom_pointer 2441: = std::__and_, 2441: std::__not_>>; 2441: 2441: public: 2441: 2441: template 2441: static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type 2441: construct(_Alloc& __a, _Ptr __p, _Args&&... __args) 2441: { 2441: _Base_type::construct(__a, std::__to_address(__p), 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: 2441: template 2441: static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type 2441: destroy(_Alloc& __a, _Ptr __p) 2441: { _Base_type::destroy(__a, std::__to_address(__p)); } 2441: 2441: static _Alloc _S_select_on_copy(const _Alloc& __a) 2441: { return _Base_type::select_on_container_copy_construction(__a); } 2441: 2441: static void _S_on_swap(_Alloc& __a, _Alloc& __b) 2441: { std::__alloc_on_swap(__a, __b); } 2441: 2441: static constexpr bool _S_propagate_on_copy_assign() 2441: { return _Base_type::propagate_on_container_copy_assignment::value; } 2441: 2441: static constexpr bool _S_propagate_on_move_assign() 2441: { return _Base_type::propagate_on_container_move_assignment::value; } 2441: 2441: static constexpr bool _S_propagate_on_swap() 2441: { return _Base_type::propagate_on_container_swap::value; } 2441: 2441: static constexpr bool _S_always_equal() 2441: { return _Base_type::is_always_equal::value; } 2441: 2441: static constexpr bool _S_nothrow_move() 2441: { return _S_propagate_on_move_assign() || _S_always_equal(); } 2441: 2441: template 2441: struct rebind 2441: { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; 2441: # 158 "/usr/include/c++/8/ext/alloc_traits.h" 3 2441: }; 2441: 2441: 2441: } 2441: # 62 "/usr/include/c++/8/bits/stl_construct.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: _Construct(_T1* __p, _Args&&... __args) 2441: { ::new(static_cast(__p)) _T1(std::forward<_Args>(__args)...); } 2441: # 87 "/usr/include/c++/8/bits/stl_construct.h" 3 2441: template 2441: inline void 2441: _Construct_novalue(_T1* __p) 2441: { ::new(static_cast(__p)) _T1; } 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: _Destroy(_Tp* __pointer) 2441: { __pointer->~_Tp(); } 2441: 2441: template 2441: struct _Destroy_aux 2441: { 2441: template 2441: static void 2441: __destroy(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: for (; __first != __last; ++__first) 2441: std::_Destroy(std::__addressof(*__first)); 2441: } 2441: }; 2441: 2441: template<> 2441: struct _Destroy_aux 2441: { 2441: template 2441: static void 2441: __destroy(_ForwardIterator, _ForwardIterator) { } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: _Destroy(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _Value_type; 2441: 2441: 2441: static_assert(is_destructible<_Value_type>::value, 2441: "value type is destructible"); 2441: 2441: std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: 2441: __destroy(__first, __last); 2441: } 2441: 2441: template 2441: struct _Destroy_n_aux 2441: { 2441: template 2441: static _ForwardIterator 2441: __destroy_n(_ForwardIterator __first, _Size __count) 2441: { 2441: for (; __count > 0; (void)++__first, --__count) 2441: std::_Destroy(std::__addressof(*__first)); 2441: return __first; 2441: } 2441: }; 2441: 2441: template<> 2441: struct _Destroy_n_aux 2441: { 2441: template 2441: static _ForwardIterator 2441: __destroy_n(_ForwardIterator __first, _Size __count) 2441: { 2441: std::advance(__first, __count); 2441: return __first; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline _ForwardIterator 2441: _Destroy_n(_ForwardIterator __first, _Size __count) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _Value_type; 2441: 2441: 2441: static_assert(is_destructible<_Value_type>::value, 2441: "value type is destructible"); 2441: 2441: return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: 2441: __destroy_n(__first, __count); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 2441: _Allocator& __alloc) 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 2441: for (; __first != __last; ++__first) 2441: __traits::destroy(__alloc, std::__addressof(*__first)); 2441: } 2441: 2441: template 2441: inline void 2441: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 2441: allocator<_Tp>&) 2441: { 2441: _Destroy(__first, __last); 2441: } 2441: # 232 "/usr/include/c++/8/bits/stl_construct.h" 3 2441: 2441: } 2441: # 61 "/usr/include/c++/8/bits/stl_tempbuf.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 83 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 2441: template 2441: pair<_Tp*, ptrdiff_t> 2441: get_temporary_buffer(ptrdiff_t __len) noexcept 2441: { 2441: const ptrdiff_t __max = 2441: __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); 2441: if (__len > __max) 2441: __len = __max; 2441: 2441: while (__len > 0) 2441: { 2441: _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), 2441: std::nothrow)); 2441: if (__tmp != 0) 2441: return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); 2441: __len /= 2; 2441: } 2441: return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); 2441: } 2441: # 110 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 2441: template 2441: inline void 2441: return_temporary_buffer(_Tp* __p) 2441: { ::operator delete(__p, std::nothrow); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class _Temporary_buffer 2441: { 2441: 2441: 2441: 2441: public: 2441: typedef _Tp value_type; 2441: typedef value_type* pointer; 2441: typedef pointer iterator; 2441: typedef ptrdiff_t size_type; 2441: 2441: protected: 2441: size_type _M_original_len; 2441: size_type _M_len; 2441: pointer _M_buffer; 2441: 2441: public: 2441: 2441: size_type 2441: size() const 2441: { return _M_len; } 2441: 2441: 2441: size_type 2441: requested_size() const 2441: { return _M_original_len; } 2441: 2441: 2441: iterator 2441: begin() 2441: { return _M_buffer; } 2441: 2441: 2441: iterator 2441: end() 2441: { return _M_buffer + _M_len; } 2441: 2441: 2441: 2441: 2441: 2441: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); 2441: 2441: ~_Temporary_buffer() 2441: { 2441: std::_Destroy(_M_buffer, _M_buffer + _M_len); 2441: std::return_temporary_buffer(_M_buffer); 2441: } 2441: 2441: private: 2441: 2441: _Temporary_buffer(const _Temporary_buffer&); 2441: 2441: void 2441: operator=(const _Temporary_buffer&); 2441: }; 2441: 2441: 2441: template 2441: struct __uninitialized_construct_buf_dispatch 2441: { 2441: template 2441: static void 2441: __ucr(_Pointer __first, _Pointer __last, 2441: _ForwardIterator __seed) 2441: { 2441: if(__first == __last) 2441: return; 2441: 2441: _Pointer __cur = __first; 2441: try 2441: { 2441: std::_Construct(std::__addressof(*__first), 2441: std::move(*__seed)); 2441: _Pointer __prev = __cur; 2441: ++__cur; 2441: for(; __cur != __last; ++__cur, ++__prev) 2441: std::_Construct(std::__addressof(*__cur), 2441: std::move(*__prev)); 2441: *__seed = std::move(*__prev); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_construct_buf_dispatch 2441: { 2441: template 2441: static void 2441: __ucr(_Pointer, _Pointer, _ForwardIterator) { } 2441: }; 2441: # 229 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 2441: template 2441: inline void 2441: __uninitialized_construct_buf(_Pointer __first, _Pointer __last, 2441: _ForwardIterator __seed) 2441: { 2441: typedef typename std::iterator_traits<_Pointer>::value_type 2441: _ValueType; 2441: 2441: std::__uninitialized_construct_buf_dispatch< 2441: __has_trivial_constructor(_ValueType)>:: 2441: __ucr(__first, __last, __seed); 2441: } 2441: 2441: template 2441: _Temporary_buffer<_ForwardIterator, _Tp>:: 2441: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) 2441: : _M_original_len(std::distance(__first, __last)), 2441: _M_len(0), _M_buffer(0) 2441: { 2441: try 2441: { 2441: std::pair __p(std::get_temporary_buffer< 2441: value_type>(_M_original_len)); 2441: _M_buffer = __p.first; 2441: _M_len = __p.second; 2441: if (_M_buffer) 2441: std::__uninitialized_construct_buf(_M_buffer, _M_buffer + _M_len, 2441: __first); 2441: } 2441: catch(...) 2441: { 2441: std::return_temporary_buffer(_M_buffer); 2441: _M_buffer = 0; 2441: _M_len = 0; 2441: throw; 2441: } 2441: } 2441: 2441: 2441: } 2441: # 63 "/usr/include/c++/8/bits/stl_algo.h" 2 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/uniform_int_dist.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: namespace __detail 2441: { 2441: 2441: template 2441: inline bool 2441: _Power_of_2(_Tp __x) 2441: { 2441: return ((__x - 1) & __x) == 0; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class uniform_int_distribution 2441: { 2441: static_assert(std::is_integral<_IntType>::value, 2441: "template argument must be an integral type"); 2441: 2441: public: 2441: 2441: typedef _IntType result_type; 2441: 2441: struct param_type 2441: { 2441: typedef uniform_int_distribution<_IntType> distribution_type; 2441: 2441: explicit 2441: param_type(_IntType __a = 0, 2441: _IntType __b = std::numeric_limits<_IntType>::max()) 2441: : _M_a(__a), _M_b(__b) 2441: { 2441: ; 2441: } 2441: 2441: result_type 2441: a() const 2441: { return _M_a; } 2441: 2441: result_type 2441: b() const 2441: { return _M_b; } 2441: 2441: friend bool 2441: operator==(const param_type& __p1, const param_type& __p2) 2441: { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } 2441: 2441: friend bool 2441: operator!=(const param_type& __p1, const param_type& __p2) 2441: { return !(__p1 == __p2); } 2441: 2441: private: 2441: _IntType _M_a; 2441: _IntType _M_b; 2441: }; 2441: 2441: public: 2441: 2441: 2441: 2441: explicit 2441: uniform_int_distribution(_IntType __a = 0, 2441: _IntType __b = std::numeric_limits<_IntType>::max()) 2441: : _M_param(__a, __b) 2441: { } 2441: 2441: explicit 2441: uniform_int_distribution(const param_type& __p) 2441: : _M_param(__p) 2441: { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: reset() { } 2441: 2441: result_type 2441: a() const 2441: { return _M_param.a(); } 2441: 2441: result_type 2441: b() const 2441: { return _M_param.b(); } 2441: 2441: 2441: 2441: 2441: param_type 2441: param() const 2441: { return _M_param; } 2441: 2441: 2441: 2441: 2441: 2441: void 2441: param(const param_type& __param) 2441: { _M_param = __param; } 2441: 2441: 2441: 2441: 2441: result_type 2441: min() const 2441: { return this->a(); } 2441: 2441: 2441: 2441: 2441: result_type 2441: max() const 2441: { return this->b(); } 2441: 2441: 2441: 2441: 2441: template 2441: result_type 2441: operator()(_UniformRandomNumberGenerator& __urng) 2441: { return this->operator()(__urng, _M_param); } 2441: 2441: template 2441: result_type 2441: operator()(_UniformRandomNumberGenerator& __urng, 2441: const param_type& __p); 2441: 2441: template 2441: void 2441: __generate(_ForwardIterator __f, _ForwardIterator __t, 2441: _UniformRandomNumberGenerator& __urng) 2441: { this->__generate(__f, __t, __urng, _M_param); } 2441: 2441: template 2441: void 2441: __generate(_ForwardIterator __f, _ForwardIterator __t, 2441: _UniformRandomNumberGenerator& __urng, 2441: const param_type& __p) 2441: { this->__generate_impl(__f, __t, __urng, __p); } 2441: 2441: template 2441: void 2441: __generate(result_type* __f, result_type* __t, 2441: _UniformRandomNumberGenerator& __urng, 2441: const param_type& __p) 2441: { this->__generate_impl(__f, __t, __urng, __p); } 2441: 2441: 2441: 2441: 2441: 2441: friend bool 2441: operator==(const uniform_int_distribution& __d1, 2441: const uniform_int_distribution& __d2) 2441: { return __d1._M_param == __d2._M_param; } 2441: 2441: private: 2441: template 2441: void 2441: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 2441: _UniformRandomNumberGenerator& __urng, 2441: const param_type& __p); 2441: 2441: param_type _M_param; 2441: }; 2441: 2441: template 2441: template 2441: typename uniform_int_distribution<_IntType>::result_type 2441: uniform_int_distribution<_IntType>:: 2441: operator()(_UniformRandomNumberGenerator& __urng, 2441: const param_type& __param) 2441: { 2441: typedef typename _UniformRandomNumberGenerator::result_type 2441: _Gresult_type; 2441: typedef typename std::make_unsigned::type __utype; 2441: typedef typename std::common_type<_Gresult_type, __utype>::type 2441: __uctype; 2441: 2441: const __uctype __urngmin = __urng.min(); 2441: const __uctype __urngmax = __urng.max(); 2441: const __uctype __urngrange = __urngmax - __urngmin; 2441: const __uctype __urange 2441: = __uctype(__param.b()) - __uctype(__param.a()); 2441: 2441: __uctype __ret; 2441: 2441: if (__urngrange > __urange) 2441: { 2441: 2441: const __uctype __uerange = __urange + 1; 2441: const __uctype __scaling = __urngrange / __uerange; 2441: const __uctype __past = __uerange * __scaling; 2441: do 2441: __ret = __uctype(__urng()) - __urngmin; 2441: while (__ret >= __past); 2441: __ret /= __scaling; 2441: } 2441: else if (__urngrange < __urange) 2441: { 2441: # 264 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 2441: __uctype __tmp; 2441: do 2441: { 2441: const __uctype __uerngrange = __urngrange + 1; 2441: __tmp = (__uerngrange * operator() 2441: (__urng, param_type(0, __urange / __uerngrange))); 2441: __ret = __tmp + (__uctype(__urng()) - __urngmin); 2441: } 2441: while (__ret > __urange || __ret < __tmp); 2441: } 2441: else 2441: __ret = __uctype(__urng()) - __urngmin; 2441: 2441: return __ret + __param.a(); 2441: } 2441: 2441: 2441: template 2441: template 2441: void 2441: uniform_int_distribution<_IntType>:: 2441: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 2441: _UniformRandomNumberGenerator& __urng, 2441: const param_type& __param) 2441: { 2441: 2441: typedef typename _UniformRandomNumberGenerator::result_type 2441: _Gresult_type; 2441: typedef typename std::make_unsigned::type __utype; 2441: typedef typename std::common_type<_Gresult_type, __utype>::type 2441: __uctype; 2441: 2441: const __uctype __urngmin = __urng.min(); 2441: const __uctype __urngmax = __urng.max(); 2441: const __uctype __urngrange = __urngmax - __urngmin; 2441: const __uctype __urange 2441: = __uctype(__param.b()) - __uctype(__param.a()); 2441: 2441: __uctype __ret; 2441: 2441: if (__urngrange > __urange) 2441: { 2441: if (__detail::_Power_of_2(__urngrange + 1) 2441: && __detail::_Power_of_2(__urange + 1)) 2441: { 2441: while (__f != __t) 2441: { 2441: __ret = __uctype(__urng()) - __urngmin; 2441: *__f++ = (__ret & __urange) + __param.a(); 2441: } 2441: } 2441: else 2441: { 2441: 2441: const __uctype __uerange = __urange + 1; 2441: const __uctype __scaling = __urngrange / __uerange; 2441: const __uctype __past = __uerange * __scaling; 2441: while (__f != __t) 2441: { 2441: do 2441: __ret = __uctype(__urng()) - __urngmin; 2441: while (__ret >= __past); 2441: *__f++ = __ret / __scaling + __param.a(); 2441: } 2441: } 2441: } 2441: else if (__urngrange < __urange) 2441: { 2441: # 348 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 2441: __uctype __tmp; 2441: while (__f != __t) 2441: { 2441: do 2441: { 2441: const __uctype __uerngrange = __urngrange + 1; 2441: __tmp = (__uerngrange * operator() 2441: (__urng, param_type(0, __urange / __uerngrange))); 2441: __ret = __tmp + (__uctype(__urng()) - __urngmin); 2441: } 2441: while (__ret > __urange || __ret < __tmp); 2441: *__f++ = __ret; 2441: } 2441: } 2441: else 2441: while (__f != __t) 2441: *__f++ = __uctype(__urng()) - __urngmin + __param.a(); 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 67 "/usr/include/c++/8/bits/stl_algo.h" 2 3 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: void 2441: __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b, 2441: _Iterator __c, _Compare __comp) 2441: { 2441: if (__comp(__a, __b)) 2441: { 2441: if (__comp(__b, __c)) 2441: std::iter_swap(__result, __b); 2441: else if (__comp(__a, __c)) 2441: std::iter_swap(__result, __c); 2441: else 2441: std::iter_swap(__result, __a); 2441: } 2441: else if (__comp(__a, __c)) 2441: std::iter_swap(__result, __a); 2441: else if (__comp(__b, __c)) 2441: std::iter_swap(__result, __c); 2441: else 2441: std::iter_swap(__result, __b); 2441: } 2441: 2441: 2441: template 2441: inline _InputIterator 2441: __find_if(_InputIterator __first, _InputIterator __last, 2441: _Predicate __pred, input_iterator_tag) 2441: { 2441: while (__first != __last && !__pred(__first)) 2441: ++__first; 2441: return __first; 2441: } 2441: 2441: 2441: template 2441: _RandomAccessIterator 2441: __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Predicate __pred, random_access_iterator_tag) 2441: { 2441: typename iterator_traits<_RandomAccessIterator>::difference_type 2441: __trip_count = (__last - __first) >> 2; 2441: 2441: for (; __trip_count > 0; --__trip_count) 2441: { 2441: if (__pred(__first)) 2441: return __first; 2441: ++__first; 2441: 2441: if (__pred(__first)) 2441: return __first; 2441: ++__first; 2441: 2441: if (__pred(__first)) 2441: return __first; 2441: ++__first; 2441: 2441: if (__pred(__first)) 2441: return __first; 2441: ++__first; 2441: } 2441: 2441: switch (__last - __first) 2441: { 2441: case 3: 2441: if (__pred(__first)) 2441: return __first; 2441: ++__first; 2441: case 2: 2441: if (__pred(__first)) 2441: return __first; 2441: ++__first; 2441: case 1: 2441: if (__pred(__first)) 2441: return __first; 2441: ++__first; 2441: case 0: 2441: default: 2441: return __last; 2441: } 2441: } 2441: 2441: template 2441: inline _Iterator 2441: __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) 2441: { 2441: return __find_if(__first, __last, __pred, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: 2441: template 2441: inline _InputIterator 2441: __find_if_not(_InputIterator __first, _InputIterator __last, 2441: _Predicate __pred) 2441: { 2441: return std::__find_if(__first, __last, 2441: __gnu_cxx::__ops::__negate(__pred), 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: _InputIterator 2441: __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred) 2441: { 2441: for (; __len; --__len, (void) ++__first) 2441: if (!__pred(__first)) 2441: break; 2441: return __first; 2441: } 2441: # 202 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _ForwardIterator1 2441: __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 2441: _BinaryPredicate __predicate) 2441: { 2441: 2441: if (__first1 == __last1 || __first2 == __last2) 2441: return __first1; 2441: 2441: 2441: _ForwardIterator2 __p1(__first2); 2441: if (++__p1 == __last2) 2441: return std::__find_if(__first1, __last1, 2441: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 2441: 2441: 2441: _ForwardIterator2 __p; 2441: _ForwardIterator1 __current = __first1; 2441: 2441: for (;;) 2441: { 2441: __first1 = 2441: std::__find_if(__first1, __last1, 2441: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 2441: 2441: if (__first1 == __last1) 2441: return __last1; 2441: 2441: __p = __p1; 2441: __current = __first1; 2441: if (++__current == __last1) 2441: return __last1; 2441: 2441: while (__predicate(__current, __p)) 2441: { 2441: if (++__p == __last2) 2441: return __first1; 2441: if (++__current == __last1) 2441: return __last1; 2441: } 2441: ++__first1; 2441: } 2441: return __first1; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _ForwardIterator 2441: __search_n_aux(_ForwardIterator __first, _ForwardIterator __last, 2441: _Integer __count, _UnaryPredicate __unary_pred, 2441: std::forward_iterator_tag) 2441: { 2441: __first = std::__find_if(__first, __last, __unary_pred); 2441: while (__first != __last) 2441: { 2441: typename iterator_traits<_ForwardIterator>::difference_type 2441: __n = __count; 2441: _ForwardIterator __i = __first; 2441: ++__i; 2441: while (__i != __last && __n != 1 && __unary_pred(__i)) 2441: { 2441: ++__i; 2441: --__n; 2441: } 2441: if (__n == 1) 2441: return __first; 2441: if (__i == __last) 2441: return __last; 2441: __first = std::__find_if(++__i, __last, __unary_pred); 2441: } 2441: return __last; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _RandomAccessIter 2441: __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last, 2441: _Integer __count, _UnaryPredicate __unary_pred, 2441: std::random_access_iterator_tag) 2441: { 2441: typedef typename std::iterator_traits<_RandomAccessIter>::difference_type 2441: _DistanceType; 2441: 2441: _DistanceType __tailSize = __last - __first; 2441: _DistanceType __remainder = __count; 2441: 2441: while (__remainder <= __tailSize) 2441: { 2441: __first += __remainder; 2441: __tailSize -= __remainder; 2441: 2441: 2441: _RandomAccessIter __backTrack = __first; 2441: while (__unary_pred(--__backTrack)) 2441: { 2441: if (--__remainder == 0) 2441: return (__first - __count); 2441: } 2441: __remainder = __count + 1 - (__first - __backTrack); 2441: } 2441: return __last; 2441: } 2441: 2441: template 2441: _ForwardIterator 2441: __search_n(_ForwardIterator __first, _ForwardIterator __last, 2441: _Integer __count, 2441: _UnaryPredicate __unary_pred) 2441: { 2441: if (__count <= 0) 2441: return __first; 2441: 2441: if (__count == 1) 2441: return std::__find_if(__first, __last, __unary_pred); 2441: 2441: return std::__search_n_aux(__first, __last, __count, __unary_pred, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: 2441: template 2441: _ForwardIterator1 2441: __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 2441: forward_iterator_tag, forward_iterator_tag, 2441: _BinaryPredicate __comp) 2441: { 2441: if (__first2 == __last2) 2441: return __last1; 2441: 2441: _ForwardIterator1 __result = __last1; 2441: while (1) 2441: { 2441: _ForwardIterator1 __new_result 2441: = std::__search(__first1, __last1, __first2, __last2, __comp); 2441: if (__new_result == __last1) 2441: return __result; 2441: else 2441: { 2441: __result = __new_result; 2441: __first1 = __new_result; 2441: ++__first1; 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: _BidirectionalIterator1 2441: __find_end(_BidirectionalIterator1 __first1, 2441: _BidirectionalIterator1 __last1, 2441: _BidirectionalIterator2 __first2, 2441: _BidirectionalIterator2 __last2, 2441: bidirectional_iterator_tag, bidirectional_iterator_tag, 2441: _BinaryPredicate __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; 2441: typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; 2441: 2441: _RevIterator1 __rlast1(__first1); 2441: _RevIterator2 __rlast2(__first2); 2441: _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1, 2441: _RevIterator2(__last2), __rlast2, 2441: __comp); 2441: 2441: if (__rresult == __rlast1) 2441: return __last1; 2441: else 2441: { 2441: _BidirectionalIterator1 __result = __rresult.base(); 2441: std::advance(__result, -std::distance(__first2, __last2)); 2441: return __result; 2441: } 2441: } 2441: # 423 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator1 2441: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__find_end(__first1, __last1, __first2, __last2, 2441: std::__iterator_category(__first1), 2441: std::__iterator_category(__first2), 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 471 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator1 2441: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 2441: _BinaryPredicate __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__find_end(__first1, __last1, __first2, __last2, 2441: std::__iterator_category(__first1), 2441: std::__iterator_category(__first2), 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: # 506 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 2441: { return __last == std::find_if_not(__first, __last, __pred); } 2441: # 523 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 2441: { return __last == std::find_if(__first, __last, __pred); } 2441: # 541 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 2441: { return !std::none_of(__first, __last, __pred); } 2441: # 556 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _InputIterator 2441: find_if_not(_InputIterator __first, _InputIterator __last, 2441: _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: return std::__find_if_not(__first, __last, 2441: __gnu_cxx::__ops::__pred_iter(__pred)); 2441: } 2441: # 580 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: is_partitioned(_InputIterator __first, _InputIterator __last, 2441: _Predicate __pred) 2441: { 2441: __first = std::find_if_not(__first, __last, __pred); 2441: if (__first == __last) 2441: return true; 2441: ++__first; 2441: return std::none_of(__first, __last, __pred); 2441: } 2441: # 601 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _ForwardIterator 2441: partition_point(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: typedef typename iterator_traits<_ForwardIterator>::difference_type 2441: _DistanceType; 2441: 2441: _DistanceType __len = std::distance(__first, __last); 2441: _DistanceType __half; 2441: _ForwardIterator __middle; 2441: 2441: while (__len > 0) 2441: { 2441: __half = __len >> 1; 2441: __middle = __first; 2441: std::advance(__middle, __half); 2441: if (__pred(*__middle)) 2441: { 2441: __first = __middle; 2441: ++__first; 2441: __len = __len - __half - 1; 2441: } 2441: else 2441: __len = __half; 2441: } 2441: return __first; 2441: } 2441: 2441: 2441: template 2441: _OutputIterator 2441: __remove_copy_if(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, _Predicate __pred) 2441: { 2441: for (; __first != __last; ++__first) 2441: if (!__pred(__first)) 2441: { 2441: *__result = *__first; 2441: ++__result; 2441: } 2441: return __result; 2441: } 2441: # 668 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: remove_copy(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, const _Tp& __value) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__remove_copy_if(__first, __last, __result, 2441: __gnu_cxx::__ops::__iter_equals_val(__value)); 2441: } 2441: # 700 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: remove_copy_if(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__remove_copy_if(__first, __last, __result, 2441: __gnu_cxx::__ops::__pred_iter(__pred)); 2441: } 2441: # 734 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _OutputIterator 2441: copy_if(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first != __last; ++__first) 2441: if (__pred(*__first)) 2441: { 2441: *__result = *__first; 2441: ++__result; 2441: } 2441: return __result; 2441: } 2441: 2441: template 2441: _OutputIterator 2441: __copy_n(_InputIterator __first, _Size __n, 2441: _OutputIterator __result, input_iterator_tag) 2441: { 2441: if (__n > 0) 2441: { 2441: while (true) 2441: { 2441: *__result = *__first; 2441: ++__result; 2441: if (--__n > 0) 2441: ++__first; 2441: else 2441: break; 2441: } 2441: } 2441: return __result; 2441: } 2441: 2441: template 2441: inline _OutputIterator 2441: __copy_n(_RandomAccessIterator __first, _Size __n, 2441: _OutputIterator __result, random_access_iterator_tag) 2441: { return std::copy(__first, __first + __n, __result); } 2441: # 797 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: copy_n(_InputIterator __first, _Size __n, _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: return std::__copy_n(__first, __n, __result, 2441: std::__iterator_category(__first)); 2441: } 2441: # 825 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: pair<_OutputIterator1, _OutputIterator2> 2441: partition_copy(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator1 __out_true, _OutputIterator2 __out_false, 2441: _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first != __last; ++__first) 2441: if (__pred(*__first)) 2441: { 2441: *__out_true = *__first; 2441: ++__out_true; 2441: } 2441: else 2441: { 2441: *__out_false = *__first; 2441: ++__out_false; 2441: } 2441: 2441: return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false); 2441: } 2441: 2441: 2441: template 2441: _ForwardIterator 2441: __remove_if(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred) 2441: { 2441: __first = std::__find_if(__first, __last, __pred); 2441: if (__first == __last) 2441: return __first; 2441: _ForwardIterator __result = __first; 2441: ++__first; 2441: for (; __first != __last; ++__first) 2441: if (!__pred(__first)) 2441: { 2441: *__result = std::move(*__first); 2441: ++__result; 2441: } 2441: return __result; 2441: } 2441: # 894 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: remove(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __value) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__remove_if(__first, __last, 2441: __gnu_cxx::__ops::__iter_equals_val(__value)); 2441: } 2441: # 927 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: remove_if(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__remove_if(__first, __last, 2441: __gnu_cxx::__ops::__pred_iter(__pred)); 2441: } 2441: 2441: template 2441: _ForwardIterator 2441: __adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: if (__first == __last) 2441: return __last; 2441: _ForwardIterator __next = __first; 2441: while (++__next != __last) 2441: { 2441: if (__binary_pred(__first, __next)) 2441: return __first; 2441: __first = __next; 2441: } 2441: return __last; 2441: } 2441: 2441: template 2441: _ForwardIterator 2441: __unique(_ForwardIterator __first, _ForwardIterator __last, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: 2441: __first = std::__adjacent_find(__first, __last, __binary_pred); 2441: if (__first == __last) 2441: return __last; 2441: 2441: 2441: _ForwardIterator __dest = __first; 2441: ++__first; 2441: while (++__first != __last) 2441: if (!__binary_pred(__dest, __first)) 2441: *++__dest = std::move(*__first); 2441: return ++__dest; 2441: } 2441: # 993 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: unique(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__unique(__first, __last, 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 1023 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: unique(_ForwardIterator __first, _ForwardIterator __last, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__unique(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _OutputIterator 2441: __unique_copy(_ForwardIterator __first, _ForwardIterator __last, 2441: _OutputIterator __result, _BinaryPredicate __binary_pred, 2441: forward_iterator_tag, output_iterator_tag) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: _ForwardIterator __next = __first; 2441: *__result = *__first; 2441: while (++__next != __last) 2441: if (!__binary_pred(__first, __next)) 2441: { 2441: __first = __next; 2441: *++__result = *__first; 2441: } 2441: return ++__result; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _OutputIterator 2441: __unique_copy(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, _BinaryPredicate __binary_pred, 2441: input_iterator_tag, output_iterator_tag) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: typename iterator_traits<_InputIterator>::value_type __value = *__first; 2441: __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred)) 2441: __rebound_pred 2441: = __gnu_cxx::__ops::__iter_comp_val(__binary_pred); 2441: *__result = __value; 2441: while (++__first != __last) 2441: if (!__rebound_pred(__first, __value)) 2441: { 2441: __value = *__first; 2441: *++__result = __value; 2441: } 2441: return ++__result; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _ForwardIterator 2441: __unique_copy(_InputIterator __first, _InputIterator __last, 2441: _ForwardIterator __result, _BinaryPredicate __binary_pred, 2441: input_iterator_tag, forward_iterator_tag) 2441: { 2441: 2441: 2441: 2441: 2441: *__result = *__first; 2441: while (++__first != __last) 2441: if (!__binary_pred(__result, __first)) 2441: *++__result = *__first; 2441: return ++__result; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, 2441: bidirectional_iterator_tag) 2441: { 2441: while (true) 2441: if (__first == __last || __first == --__last) 2441: return; 2441: else 2441: { 2441: std::iter_swap(__first, __last); 2441: ++__first; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: random_access_iterator_tag) 2441: { 2441: if (__first == __last) 2441: return; 2441: --__last; 2441: while (__first < __last) 2441: { 2441: std::iter_swap(__first, __last); 2441: ++__first; 2441: --__last; 2441: } 2441: } 2441: # 1178 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) 2441: { 2441: 2441: 2441: 2441: ; 2441: std::__reverse(__first, __last, std::__iterator_category(__first)); 2441: } 2441: # 1205 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _OutputIterator 2441: reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, 2441: _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: while (__first != __last) 2441: { 2441: --__last; 2441: *__result = *__last; 2441: ++__result; 2441: } 2441: return __result; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _EuclideanRingElement 2441: __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) 2441: { 2441: while (__n != 0) 2441: { 2441: _EuclideanRingElement __t = __m % __n; 2441: __m = __n; 2441: __n = __t; 2441: } 2441: return __m; 2441: } 2441: 2441: inline namespace _V2 2441: { 2441: 2441: 2441: template 2441: _ForwardIterator 2441: __rotate(_ForwardIterator __first, 2441: _ForwardIterator __middle, 2441: _ForwardIterator __last, 2441: forward_iterator_tag) 2441: { 2441: if (__first == __middle) 2441: return __last; 2441: else if (__last == __middle) 2441: return __first; 2441: 2441: _ForwardIterator __first2 = __middle; 2441: do 2441: { 2441: std::iter_swap(__first, __first2); 2441: ++__first; 2441: ++__first2; 2441: if (__first == __middle) 2441: __middle = __first2; 2441: } 2441: while (__first2 != __last); 2441: 2441: _ForwardIterator __ret = __first; 2441: 2441: __first2 = __middle; 2441: 2441: while (__first2 != __last) 2441: { 2441: std::iter_swap(__first, __first2); 2441: ++__first; 2441: ++__first2; 2441: if (__first == __middle) 2441: __middle = __first2; 2441: else if (__first2 == __last) 2441: __first2 = __middle; 2441: } 2441: return __ret; 2441: } 2441: 2441: 2441: template 2441: _BidirectionalIterator 2441: __rotate(_BidirectionalIterator __first, 2441: _BidirectionalIterator __middle, 2441: _BidirectionalIterator __last, 2441: bidirectional_iterator_tag) 2441: { 2441: 2441: 2441: 2441: 2441: if (__first == __middle) 2441: return __last; 2441: else if (__last == __middle) 2441: return __first; 2441: 2441: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 2441: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 2441: 2441: while (__first != __middle && __middle != __last) 2441: { 2441: std::iter_swap(__first, --__last); 2441: ++__first; 2441: } 2441: 2441: if (__first == __middle) 2441: { 2441: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 2441: return __last; 2441: } 2441: else 2441: { 2441: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 2441: return __first; 2441: } 2441: } 2441: 2441: 2441: template 2441: _RandomAccessIterator 2441: __rotate(_RandomAccessIterator __first, 2441: _RandomAccessIterator __middle, 2441: _RandomAccessIterator __last, 2441: random_access_iterator_tag) 2441: { 2441: 2441: 2441: 2441: 2441: if (__first == __middle) 2441: return __last; 2441: else if (__last == __middle) 2441: return __first; 2441: 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _Distance; 2441: typedef typename iterator_traits<_RandomAccessIterator>::value_type 2441: _ValueType; 2441: 2441: _Distance __n = __last - __first; 2441: _Distance __k = __middle - __first; 2441: 2441: if (__k == __n - __k) 2441: { 2441: std::swap_ranges(__first, __middle, __middle); 2441: return __middle; 2441: } 2441: 2441: _RandomAccessIterator __p = __first; 2441: _RandomAccessIterator __ret = __first + (__last - __middle); 2441: 2441: for (;;) 2441: { 2441: if (__k < __n - __k) 2441: { 2441: if (__is_pod(_ValueType) && __k == 1) 2441: { 2441: _ValueType __t = std::move(*__p); 2441: std::move(__p + 1, __p + __n, __p); 2441: *(__p + __n - 1) = std::move(__t); 2441: return __ret; 2441: } 2441: _RandomAccessIterator __q = __p + __k; 2441: for (_Distance __i = 0; __i < __n - __k; ++ __i) 2441: { 2441: std::iter_swap(__p, __q); 2441: ++__p; 2441: ++__q; 2441: } 2441: __n %= __k; 2441: if (__n == 0) 2441: return __ret; 2441: std::swap(__n, __k); 2441: __k = __n - __k; 2441: } 2441: else 2441: { 2441: __k = __n - __k; 2441: if (__is_pod(_ValueType) && __k == 1) 2441: { 2441: _ValueType __t = std::move(*(__p + __n - 1)); 2441: std::move_backward(__p, __p + __n - 1, __p + __n); 2441: *__p = std::move(__t); 2441: return __ret; 2441: } 2441: _RandomAccessIterator __q = __p + __n; 2441: __p = __q - __k; 2441: for (_Distance __i = 0; __i < __n - __k; ++ __i) 2441: { 2441: --__p; 2441: --__q; 2441: std::iter_swap(__p, __q); 2441: } 2441: __n %= __k; 2441: if (__n == 0) 2441: return __ret; 2441: std::swap(__n, __k); 2441: } 2441: } 2441: } 2441: # 1432 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: rotate(_ForwardIterator __first, _ForwardIterator __middle, 2441: _ForwardIterator __last) 2441: { 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__rotate(__first, __middle, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: } 2441: # 1469 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, 2441: _ForwardIterator __last, _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::copy(__first, __middle, 2441: std::copy(__middle, __last, __result)); 2441: } 2441: 2441: 2441: template 2441: _ForwardIterator 2441: __partition(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred, forward_iterator_tag) 2441: { 2441: if (__first == __last) 2441: return __first; 2441: 2441: while (__pred(*__first)) 2441: if (++__first == __last) 2441: return __first; 2441: 2441: _ForwardIterator __next = __first; 2441: 2441: while (++__next != __last) 2441: if (__pred(*__next)) 2441: { 2441: std::iter_swap(__first, __next); 2441: ++__first; 2441: } 2441: 2441: return __first; 2441: } 2441: 2441: 2441: template 2441: _BidirectionalIterator 2441: __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, 2441: _Predicate __pred, bidirectional_iterator_tag) 2441: { 2441: while (true) 2441: { 2441: while (true) 2441: if (__first == __last) 2441: return __first; 2441: else if (__pred(*__first)) 2441: ++__first; 2441: else 2441: break; 2441: --__last; 2441: while (true) 2441: if (__first == __last) 2441: return __first; 2441: else if (!bool(__pred(*__last))) 2441: --__last; 2441: else 2441: break; 2441: std::iter_swap(__first, __last); 2441: ++__first; 2441: } 2441: } 2441: # 1546 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _ForwardIterator 2441: __stable_partition_adaptive(_ForwardIterator __first, 2441: _ForwardIterator __last, 2441: _Predicate __pred, _Distance __len, 2441: _Pointer __buffer, 2441: _Distance __buffer_size) 2441: { 2441: if (__len == 1) 2441: return __first; 2441: 2441: if (__len <= __buffer_size) 2441: { 2441: _ForwardIterator __result1 = __first; 2441: _Pointer __result2 = __buffer; 2441: 2441: 2441: 2441: 2441: *__result2 = std::move(*__first); 2441: ++__result2; 2441: ++__first; 2441: for (; __first != __last; ++__first) 2441: if (__pred(__first)) 2441: { 2441: *__result1 = std::move(*__first); 2441: ++__result1; 2441: } 2441: else 2441: { 2441: *__result2 = std::move(*__first); 2441: ++__result2; 2441: } 2441: 2441: std::move(__buffer, __result2, __result1); 2441: return __result1; 2441: } 2441: 2441: _ForwardIterator __middle = __first; 2441: std::advance(__middle, __len / 2); 2441: _ForwardIterator __left_split = 2441: std::__stable_partition_adaptive(__first, __middle, __pred, 2441: __len / 2, __buffer, 2441: __buffer_size); 2441: 2441: 2441: 2441: _Distance __right_len = __len - __len / 2; 2441: _ForwardIterator __right_split = 2441: std::__find_if_not_n(__middle, __right_len, __pred); 2441: 2441: if (__right_len) 2441: __right_split = 2441: std::__stable_partition_adaptive(__right_split, __last, __pred, 2441: __right_len, 2441: __buffer, __buffer_size); 2441: 2441: std::rotate(__left_split, __middle, __right_split); 2441: std::advance(__left_split, std::distance(__middle, __right_split)); 2441: return __left_split; 2441: } 2441: 2441: template 2441: _ForwardIterator 2441: __stable_partition(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred) 2441: { 2441: __first = std::__find_if_not(__first, __last, __pred); 2441: 2441: if (__first == __last) 2441: return __first; 2441: 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: typedef typename iterator_traits<_ForwardIterator>::difference_type 2441: _DistanceType; 2441: 2441: _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, __last); 2441: return 2441: std::__stable_partition_adaptive(__first, __last, __pred, 2441: _DistanceType(__buf.requested_size()), 2441: __buf.begin(), 2441: _DistanceType(__buf.size())); 2441: } 2441: # 1649 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: stable_partition(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__stable_partition(__first, __last, 2441: __gnu_cxx::__ops::__pred_iter(__pred)); 2441: } 2441: 2441: 2441: template 2441: void 2441: __heap_select(_RandomAccessIterator __first, 2441: _RandomAccessIterator __middle, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: std::__make_heap(__first, __middle, __comp); 2441: for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) 2441: if (__comp(__i, __first)) 2441: std::__pop_heap(__first, __middle, __i, __comp); 2441: } 2441: 2441: 2441: 2441: template 2441: _RandomAccessIterator 2441: __partial_sort_copy(_InputIterator __first, _InputIterator __last, 2441: _RandomAccessIterator __result_first, 2441: _RandomAccessIterator __result_last, 2441: _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_InputIterator>::value_type 2441: _InputValueType; 2441: typedef iterator_traits<_RandomAccessIterator> _RItTraits; 2441: typedef typename _RItTraits::difference_type _DistanceType; 2441: 2441: if (__result_first == __result_last) 2441: return __result_last; 2441: _RandomAccessIterator __result_real_last = __result_first; 2441: while (__first != __last && __result_real_last != __result_last) 2441: { 2441: *__result_real_last = *__first; 2441: ++__result_real_last; 2441: ++__first; 2441: } 2441: 2441: std::__make_heap(__result_first, __result_real_last, __comp); 2441: while (__first != __last) 2441: { 2441: if (__comp(__first, __result_first)) 2441: std::__adjust_heap(__result_first, _DistanceType(0), 2441: _DistanceType(__result_real_last 2441: - __result_first), 2441: _InputValueType(*__first), __comp); 2441: ++__first; 2441: } 2441: std::__sort_heap(__result_first, __result_real_last, __comp); 2441: return __result_real_last; 2441: } 2441: # 1735 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _RandomAccessIterator 2441: partial_sort_copy(_InputIterator __first, _InputIterator __last, 2441: _RandomAccessIterator __result_first, 2441: _RandomAccessIterator __result_last) 2441: { 2441: # 1749 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__partial_sort_copy(__first, __last, 2441: __result_first, __result_last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 1784 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _RandomAccessIterator 2441: partial_sort_copy(_InputIterator __first, _InputIterator __last, 2441: _RandomAccessIterator __result_first, 2441: _RandomAccessIterator __result_last, 2441: _Compare __comp) 2441: { 2441: # 1800 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__partial_sort_copy(__first, __last, 2441: __result_first, __result_last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: 2441: template 2441: void 2441: __unguarded_linear_insert(_RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: typename iterator_traits<_RandomAccessIterator>::value_type 2441: __val = std::move(*__last); 2441: _RandomAccessIterator __next = __last; 2441: --__next; 2441: while (__comp(__val, __next)) 2441: { 2441: *__last = std::move(*__next); 2441: __last = __next; 2441: --__next; 2441: } 2441: *__last = std::move(__val); 2441: } 2441: 2441: 2441: template 2441: void 2441: __insertion_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: if (__first == __last) return; 2441: 2441: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 2441: { 2441: if (__comp(__i, __first)) 2441: { 2441: typename iterator_traits<_RandomAccessIterator>::value_type 2441: __val = std::move(*__i); 2441: std::move_backward(__first, __i, __i + 1); 2441: *__first = std::move(__val); 2441: } 2441: else 2441: std::__unguarded_linear_insert(__i, 2441: __gnu_cxx::__ops::__val_comp_iter(__comp)); 2441: } 2441: } 2441: 2441: 2441: template 2441: inline void 2441: __unguarded_insertion_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: for (_RandomAccessIterator __i = __first; __i != __last; ++__i) 2441: std::__unguarded_linear_insert(__i, 2441: __gnu_cxx::__ops::__val_comp_iter(__comp)); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: enum { _S_threshold = 16 }; 2441: 2441: 2441: template 2441: void 2441: __final_insertion_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: if (__last - __first > int(_S_threshold)) 2441: { 2441: std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 2441: std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, 2441: __comp); 2441: } 2441: else 2441: std::__insertion_sort(__first, __last, __comp); 2441: } 2441: 2441: 2441: template 2441: _RandomAccessIterator 2441: __unguarded_partition(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, 2441: _RandomAccessIterator __pivot, _Compare __comp) 2441: { 2441: while (true) 2441: { 2441: while (__comp(__first, __pivot)) 2441: ++__first; 2441: --__last; 2441: while (__comp(__pivot, __last)) 2441: --__last; 2441: if (!(__first < __last)) 2441: return __first; 2441: std::iter_swap(__first, __last); 2441: ++__first; 2441: } 2441: } 2441: 2441: 2441: template 2441: inline _RandomAccessIterator 2441: __unguarded_partition_pivot(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: _RandomAccessIterator __mid = __first + (__last - __first) / 2; 2441: std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, 2441: __comp); 2441: return std::__unguarded_partition(__first + 1, __last, __first, __comp); 2441: } 2441: 2441: template 2441: inline void 2441: __partial_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __middle, 2441: _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: std::__heap_select(__first, __middle, __last, __comp); 2441: std::__sort_heap(__first, __middle, __comp); 2441: } 2441: 2441: 2441: template 2441: void 2441: __introsort_loop(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, 2441: _Size __depth_limit, _Compare __comp) 2441: { 2441: while (__last - __first > int(_S_threshold)) 2441: { 2441: if (__depth_limit == 0) 2441: { 2441: std::__partial_sort(__first, __last, __last, __comp); 2441: return; 2441: } 2441: --__depth_limit; 2441: _RandomAccessIterator __cut = 2441: std::__unguarded_partition_pivot(__first, __last, __comp); 2441: std::__introsort_loop(__cut, __last, __depth_limit, __comp); 2441: __last = __cut; 2441: } 2441: } 2441: 2441: 2441: 2441: template 2441: inline void 2441: __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: if (__first != __last) 2441: { 2441: std::__introsort_loop(__first, __last, 2441: std::__lg(__last - __first) * 2, 2441: __comp); 2441: std::__final_insertion_sort(__first, __last, __comp); 2441: } 2441: } 2441: 2441: template 2441: void 2441: __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, 2441: _RandomAccessIterator __last, _Size __depth_limit, 2441: _Compare __comp) 2441: { 2441: while (__last - __first > 3) 2441: { 2441: if (__depth_limit == 0) 2441: { 2441: std::__heap_select(__first, __nth + 1, __last, __comp); 2441: 2441: std::iter_swap(__first, __nth); 2441: return; 2441: } 2441: --__depth_limit; 2441: _RandomAccessIterator __cut = 2441: std::__unguarded_partition_pivot(__first, __last, __comp); 2441: if (__cut <= __nth) 2441: __first = __cut; 2441: else 2441: __last = __cut; 2441: } 2441: std::__insertion_sort(__first, __last, __comp); 2441: } 2441: # 2021 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__lower_bound(__first, __last, __val, 2441: __gnu_cxx::__ops::__iter_comp_val(__comp)); 2441: } 2441: 2441: template 2441: _ForwardIterator 2441: __upper_bound(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val, _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::difference_type 2441: _DistanceType; 2441: 2441: _DistanceType __len = std::distance(__first, __last); 2441: 2441: while (__len > 0) 2441: { 2441: _DistanceType __half = __len >> 1; 2441: _ForwardIterator __middle = __first; 2441: std::advance(__middle, __half); 2441: if (__comp(__val, __middle)) 2441: __len = __half; 2441: else 2441: { 2441: __first = __middle; 2441: ++__first; 2441: __len = __len - __half - 1; 2441: } 2441: } 2441: return __first; 2441: } 2441: # 2075 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__upper_bound(__first, __last, __val, 2441: __gnu_cxx::__ops::__val_less_iter()); 2441: } 2441: # 2105 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__upper_bound(__first, __last, __val, 2441: __gnu_cxx::__ops::__val_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: pair<_ForwardIterator, _ForwardIterator> 2441: __equal_range(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val, 2441: _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::difference_type 2441: _DistanceType; 2441: 2441: _DistanceType __len = std::distance(__first, __last); 2441: 2441: while (__len > 0) 2441: { 2441: _DistanceType __half = __len >> 1; 2441: _ForwardIterator __middle = __first; 2441: std::advance(__middle, __half); 2441: if (__comp_it_val(__middle, __val)) 2441: { 2441: __first = __middle; 2441: ++__first; 2441: __len = __len - __half - 1; 2441: } 2441: else if (__comp_val_it(__val, __middle)) 2441: __len = __half; 2441: else 2441: { 2441: _ForwardIterator __left 2441: = std::__lower_bound(__first, __middle, __val, __comp_it_val); 2441: std::advance(__first, __len); 2441: _ForwardIterator __right 2441: = std::__upper_bound(++__middle, __first, __val, __comp_val_it); 2441: return pair<_ForwardIterator, _ForwardIterator>(__left, __right); 2441: } 2441: } 2441: return pair<_ForwardIterator, _ForwardIterator>(__first, __first); 2441: } 2441: # 2176 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline pair<_ForwardIterator, _ForwardIterator> 2441: equal_range(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__equal_range(__first, __last, __val, 2441: __gnu_cxx::__ops::__iter_less_val(), 2441: __gnu_cxx::__ops::__val_less_iter()); 2441: } 2441: # 2212 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline pair<_ForwardIterator, _ForwardIterator> 2441: equal_range(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: ; 2441: 2441: return std::__equal_range(__first, __last, __val, 2441: __gnu_cxx::__ops::__iter_comp_val(__comp), 2441: __gnu_cxx::__ops::__val_comp_iter(__comp)); 2441: } 2441: # 2245 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: bool 2441: binary_search(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: _ForwardIterator __i 2441: = std::__lower_bound(__first, __last, __val, 2441: __gnu_cxx::__ops::__iter_less_val()); 2441: return __i != __last && !(__val < *__i); 2441: } 2441: # 2278 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: bool 2441: binary_search(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __val, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: ; 2441: 2441: _ForwardIterator __i 2441: = std::__lower_bound(__first, __last, __val, 2441: __gnu_cxx::__ops::__iter_comp_val(__comp)); 2441: return __i != __last && !bool(__comp(__val, *__i)); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: { 2441: if (__comp(__first2, __first1)) 2441: { 2441: *__result = std::move(*__first2); 2441: ++__first2; 2441: } 2441: else 2441: { 2441: *__result = std::move(*__first1); 2441: ++__first1; 2441: } 2441: ++__result; 2441: } 2441: if (__first1 != __last1) 2441: std::move(__first1, __last1, __result); 2441: } 2441: 2441: 2441: template 2441: void 2441: __move_merge_adaptive_backward(_BidirectionalIterator1 __first1, 2441: _BidirectionalIterator1 __last1, 2441: _BidirectionalIterator2 __first2, 2441: _BidirectionalIterator2 __last2, 2441: _BidirectionalIterator3 __result, 2441: _Compare __comp) 2441: { 2441: if (__first1 == __last1) 2441: { 2441: std::move_backward(__first2, __last2, __result); 2441: return; 2441: } 2441: else if (__first2 == __last2) 2441: return; 2441: 2441: --__last1; 2441: --__last2; 2441: while (true) 2441: { 2441: if (__comp(__last2, __last1)) 2441: { 2441: *--__result = std::move(*__last1); 2441: if (__first1 == __last1) 2441: { 2441: std::move_backward(__first2, ++__last2, __result); 2441: return; 2441: } 2441: --__last1; 2441: } 2441: else 2441: { 2441: *--__result = std::move(*__last2); 2441: if (__first2 == __last2) 2441: return; 2441: --__last2; 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: _BidirectionalIterator1 2441: __rotate_adaptive(_BidirectionalIterator1 __first, 2441: _BidirectionalIterator1 __middle, 2441: _BidirectionalIterator1 __last, 2441: _Distance __len1, _Distance __len2, 2441: _BidirectionalIterator2 __buffer, 2441: _Distance __buffer_size) 2441: { 2441: _BidirectionalIterator2 __buffer_end; 2441: if (__len1 > __len2 && __len2 <= __buffer_size) 2441: { 2441: if (__len2) 2441: { 2441: __buffer_end = std::move(__middle, __last, __buffer); 2441: std::move_backward(__first, __middle, __last); 2441: return std::move(__buffer, __buffer_end, __first); 2441: } 2441: else 2441: return __first; 2441: } 2441: else if (__len1 <= __buffer_size) 2441: { 2441: if (__len1) 2441: { 2441: __buffer_end = std::move(__first, __middle, __buffer); 2441: std::move(__middle, __last, __first); 2441: return std::move_backward(__buffer, __buffer_end, __last); 2441: } 2441: else 2441: return __last; 2441: } 2441: else 2441: { 2441: std::rotate(__first, __middle, __last); 2441: std::advance(__first, std::distance(__middle, __last)); 2441: return __first; 2441: } 2441: } 2441: 2441: 2441: template 2441: void 2441: __merge_adaptive(_BidirectionalIterator __first, 2441: _BidirectionalIterator __middle, 2441: _BidirectionalIterator __last, 2441: _Distance __len1, _Distance __len2, 2441: _Pointer __buffer, _Distance __buffer_size, 2441: _Compare __comp) 2441: { 2441: if (__len1 <= __len2 && __len1 <= __buffer_size) 2441: { 2441: _Pointer __buffer_end = std::move(__first, __middle, __buffer); 2441: std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last, 2441: __first, __comp); 2441: } 2441: else if (__len2 <= __buffer_size) 2441: { 2441: _Pointer __buffer_end = std::move(__middle, __last, __buffer); 2441: std::__move_merge_adaptive_backward(__first, __middle, __buffer, 2441: __buffer_end, __last, __comp); 2441: } 2441: else 2441: { 2441: _BidirectionalIterator __first_cut = __first; 2441: _BidirectionalIterator __second_cut = __middle; 2441: _Distance __len11 = 0; 2441: _Distance __len22 = 0; 2441: if (__len1 > __len2) 2441: { 2441: __len11 = __len1 / 2; 2441: std::advance(__first_cut, __len11); 2441: __second_cut 2441: = std::__lower_bound(__middle, __last, *__first_cut, 2441: __gnu_cxx::__ops::__iter_comp_val(__comp)); 2441: __len22 = std::distance(__middle, __second_cut); 2441: } 2441: else 2441: { 2441: __len22 = __len2 / 2; 2441: std::advance(__second_cut, __len22); 2441: __first_cut 2441: = std::__upper_bound(__first, __middle, *__second_cut, 2441: __gnu_cxx::__ops::__val_comp_iter(__comp)); 2441: __len11 = std::distance(__first, __first_cut); 2441: } 2441: 2441: _BidirectionalIterator __new_middle 2441: = std::__rotate_adaptive(__first_cut, __middle, __second_cut, 2441: __len1 - __len11, __len22, __buffer, 2441: __buffer_size); 2441: std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, 2441: __len22, __buffer, __buffer_size, __comp); 2441: std::__merge_adaptive(__new_middle, __second_cut, __last, 2441: __len1 - __len11, 2441: __len2 - __len22, __buffer, 2441: __buffer_size, __comp); 2441: } 2441: } 2441: 2441: 2441: template 2441: void 2441: __merge_without_buffer(_BidirectionalIterator __first, 2441: _BidirectionalIterator __middle, 2441: _BidirectionalIterator __last, 2441: _Distance __len1, _Distance __len2, 2441: _Compare __comp) 2441: { 2441: if (__len1 == 0 || __len2 == 0) 2441: return; 2441: 2441: if (__len1 + __len2 == 2) 2441: { 2441: if (__comp(__middle, __first)) 2441: std::iter_swap(__first, __middle); 2441: return; 2441: } 2441: 2441: _BidirectionalIterator __first_cut = __first; 2441: _BidirectionalIterator __second_cut = __middle; 2441: _Distance __len11 = 0; 2441: _Distance __len22 = 0; 2441: if (__len1 > __len2) 2441: { 2441: __len11 = __len1 / 2; 2441: std::advance(__first_cut, __len11); 2441: __second_cut 2441: = std::__lower_bound(__middle, __last, *__first_cut, 2441: __gnu_cxx::__ops::__iter_comp_val(__comp)); 2441: __len22 = std::distance(__middle, __second_cut); 2441: } 2441: else 2441: { 2441: __len22 = __len2 / 2; 2441: std::advance(__second_cut, __len22); 2441: __first_cut 2441: = std::__upper_bound(__first, __middle, *__second_cut, 2441: __gnu_cxx::__ops::__val_comp_iter(__comp)); 2441: __len11 = std::distance(__first, __first_cut); 2441: } 2441: 2441: std::rotate(__first_cut, __middle, __second_cut); 2441: _BidirectionalIterator __new_middle = __first_cut; 2441: std::advance(__new_middle, std::distance(__middle, __second_cut)); 2441: std::__merge_without_buffer(__first, __first_cut, __new_middle, 2441: __len11, __len22, __comp); 2441: std::__merge_without_buffer(__new_middle, __second_cut, __last, 2441: __len1 - __len11, __len2 - __len22, __comp); 2441: } 2441: 2441: template 2441: void 2441: __inplace_merge(_BidirectionalIterator __first, 2441: _BidirectionalIterator __middle, 2441: _BidirectionalIterator __last, 2441: _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_BidirectionalIterator>::value_type 2441: _ValueType; 2441: typedef typename iterator_traits<_BidirectionalIterator>::difference_type 2441: _DistanceType; 2441: 2441: if (__first == __middle || __middle == __last) 2441: return; 2441: 2441: const _DistanceType __len1 = std::distance(__first, __middle); 2441: const _DistanceType __len2 = std::distance(__middle, __last); 2441: 2441: typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf; 2441: _TmpBuf __buf(__first, __last); 2441: 2441: if (__buf.begin() == 0) 2441: std::__merge_without_buffer 2441: (__first, __middle, __last, __len1, __len2, __comp); 2441: else 2441: std::__merge_adaptive 2441: (__first, __middle, __last, __len1, __len2, __buf.begin(), 2441: _DistanceType(__buf.size()), __comp); 2441: } 2441: # 2572 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: inplace_merge(_BidirectionalIterator __first, 2441: _BidirectionalIterator __middle, 2441: _BidirectionalIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: std::__inplace_merge(__first, __middle, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 2613 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: inplace_merge(_BidirectionalIterator __first, 2441: _BidirectionalIterator __middle, 2441: _BidirectionalIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: std::__inplace_merge(__first, __middle, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: 2441: 2441: template 2441: _OutputIterator 2441: __move_merge(_InputIterator __first1, _InputIterator __last1, 2441: _InputIterator __first2, _InputIterator __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: { 2441: if (__comp(__first2, __first1)) 2441: { 2441: *__result = std::move(*__first2); 2441: ++__first2; 2441: } 2441: else 2441: { 2441: *__result = std::move(*__first1); 2441: ++__first1; 2441: } 2441: ++__result; 2441: } 2441: return std::move(__first2, __last2, std::move(__first1, __last1, __result)) 2441: 2441: ; 2441: } 2441: 2441: template 2441: void 2441: __merge_sort_loop(_RandomAccessIterator1 __first, 2441: _RandomAccessIterator1 __last, 2441: _RandomAccessIterator2 __result, _Distance __step_size, 2441: _Compare __comp) 2441: { 2441: const _Distance __two_step = 2 * __step_size; 2441: 2441: while (__last - __first >= __two_step) 2441: { 2441: __result = std::__move_merge(__first, __first + __step_size, 2441: __first + __step_size, 2441: __first + __two_step, 2441: __result, __comp); 2441: __first += __two_step; 2441: } 2441: __step_size = std::min(_Distance(__last - __first), __step_size); 2441: 2441: std::__move_merge(__first, __first + __step_size, 2441: __first + __step_size, __last, __result, __comp); 2441: } 2441: 2441: template 2441: void 2441: __chunk_insertion_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, 2441: _Distance __chunk_size, _Compare __comp) 2441: { 2441: while (__last - __first >= __chunk_size) 2441: { 2441: std::__insertion_sort(__first, __first + __chunk_size, __comp); 2441: __first += __chunk_size; 2441: } 2441: std::__insertion_sort(__first, __last, __comp); 2441: } 2441: 2441: enum { _S_chunk_size = 7 }; 2441: 2441: template 2441: void 2441: __merge_sort_with_buffer(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, 2441: _Pointer __buffer, _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _Distance; 2441: 2441: const _Distance __len = __last - __first; 2441: const _Pointer __buffer_last = __buffer + __len; 2441: 2441: _Distance __step_size = _S_chunk_size; 2441: std::__chunk_insertion_sort(__first, __last, __step_size, __comp); 2441: 2441: while (__step_size < __len) 2441: { 2441: std::__merge_sort_loop(__first, __last, __buffer, 2441: __step_size, __comp); 2441: __step_size *= 2; 2441: std::__merge_sort_loop(__buffer, __buffer_last, __first, 2441: __step_size, __comp); 2441: __step_size *= 2; 2441: } 2441: } 2441: 2441: template 2441: void 2441: __stable_sort_adaptive(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, 2441: _Pointer __buffer, _Distance __buffer_size, 2441: _Compare __comp) 2441: { 2441: const _Distance __len = (__last - __first + 1) / 2; 2441: const _RandomAccessIterator __middle = __first + __len; 2441: if (__len > __buffer_size) 2441: { 2441: std::__stable_sort_adaptive(__first, __middle, __buffer, 2441: __buffer_size, __comp); 2441: std::__stable_sort_adaptive(__middle, __last, __buffer, 2441: __buffer_size, __comp); 2441: } 2441: else 2441: { 2441: std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); 2441: std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); 2441: } 2441: std::__merge_adaptive(__first, __middle, __last, 2441: _Distance(__middle - __first), 2441: _Distance(__last - __middle), 2441: __buffer, __buffer_size, 2441: __comp); 2441: } 2441: 2441: 2441: template 2441: void 2441: __inplace_stable_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: if (__last - __first < 15) 2441: { 2441: std::__insertion_sort(__first, __last, __comp); 2441: return; 2441: } 2441: _RandomAccessIterator __middle = __first + (__last - __first) / 2; 2441: std::__inplace_stable_sort(__first, __middle, __comp); 2441: std::__inplace_stable_sort(__middle, __last, __comp); 2441: std::__merge_without_buffer(__first, __middle, __last, 2441: __middle - __first, 2441: __last - __middle, 2441: __comp); 2441: } 2441: # 2785 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: bool 2441: __includes(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: if (__comp(__first2, __first1)) 2441: return false; 2441: else if (__comp(__first1, __first2)) 2441: ++__first1; 2441: else 2441: { 2441: ++__first1; 2441: ++__first2; 2441: } 2441: 2441: return __first2 == __last2; 2441: } 2441: # 2824 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: includes(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__includes(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 2868 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: includes(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__includes(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: # 2903 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: bool 2441: __next_permutation(_BidirectionalIterator __first, 2441: _BidirectionalIterator __last, _Compare __comp) 2441: { 2441: if (__first == __last) 2441: return false; 2441: _BidirectionalIterator __i = __first; 2441: ++__i; 2441: if (__i == __last) 2441: return false; 2441: __i = __last; 2441: --__i; 2441: 2441: for(;;) 2441: { 2441: _BidirectionalIterator __ii = __i; 2441: --__i; 2441: if (__comp(__i, __ii)) 2441: { 2441: _BidirectionalIterator __j = __last; 2441: while (!__comp(__i, --__j)) 2441: {} 2441: std::iter_swap(__i, __j); 2441: std::__reverse(__ii, __last, 2441: std::__iterator_category(__first)); 2441: return true; 2441: } 2441: if (__i == __first) 2441: { 2441: std::__reverse(__first, __last, 2441: std::__iterator_category(__first)); 2441: return false; 2441: } 2441: } 2441: } 2441: # 2952 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: next_permutation(_BidirectionalIterator __first, 2441: _BidirectionalIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__next_permutation 2441: (__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 2984 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: next_permutation(_BidirectionalIterator __first, 2441: _BidirectionalIterator __last, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__next_permutation 2441: (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: bool 2441: __prev_permutation(_BidirectionalIterator __first, 2441: _BidirectionalIterator __last, _Compare __comp) 2441: { 2441: if (__first == __last) 2441: return false; 2441: _BidirectionalIterator __i = __first; 2441: ++__i; 2441: if (__i == __last) 2441: return false; 2441: __i = __last; 2441: --__i; 2441: 2441: for(;;) 2441: { 2441: _BidirectionalIterator __ii = __i; 2441: --__i; 2441: if (__comp(__ii, __i)) 2441: { 2441: _BidirectionalIterator __j = __last; 2441: while (!__comp(--__j, __i)) 2441: {} 2441: std::iter_swap(__i, __j); 2441: std::__reverse(__ii, __last, 2441: std::__iterator_category(__first)); 2441: return true; 2441: } 2441: if (__i == __first) 2441: { 2441: std::__reverse(__first, __last, 2441: std::__iterator_category(__first)); 2441: return false; 2441: } 2441: } 2441: } 2441: # 3052 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: prev_permutation(_BidirectionalIterator __first, 2441: _BidirectionalIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__prev_permutation(__first, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 3084 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: prev_permutation(_BidirectionalIterator __first, 2441: _BidirectionalIterator __last, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__prev_permutation(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: _OutputIterator 2441: __replace_copy_if(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, 2441: _Predicate __pred, const _Tp& __new_value) 2441: { 2441: for (; __first != __last; ++__first, (void)++__result) 2441: if (__pred(__first)) 2441: *__result = __new_value; 2441: else 2441: *__result = *__first; 2441: return __result; 2441: } 2441: # 3134 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: replace_copy(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, 2441: const _Tp& __old_value, const _Tp& __new_value) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__replace_copy_if(__first, __last, __result, 2441: __gnu_cxx::__ops::__iter_equals_val(__old_value), 2441: __new_value); 2441: } 2441: # 3168 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: replace_copy_if(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, 2441: _Predicate __pred, const _Tp& __new_value) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__replace_copy_if(__first, __last, __result, 2441: __gnu_cxx::__ops::__pred_iter(__pred), 2441: __new_value); 2441: } 2441: 2441: template 2441: typename iterator_traits<_InputIterator>::difference_type 2441: __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 2441: { 2441: typename iterator_traits<_InputIterator>::difference_type __n = 0; 2441: for (; __first != __last; ++__first) 2441: if (__pred(__first)) 2441: ++__n; 2441: return __n; 2441: } 2441: # 3207 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: is_sorted(_ForwardIterator __first, _ForwardIterator __last) 2441: { return std::is_sorted_until(__first, __last) == __last; } 2441: # 3221 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: is_sorted(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { return std::is_sorted_until(__first, __last, __comp) == __last; } 2441: 2441: template 2441: _ForwardIterator 2441: __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: if (__first == __last) 2441: return __last; 2441: 2441: _ForwardIterator __next = __first; 2441: for (++__next; __next != __last; __first = __next, (void)++__next) 2441: if (__comp(__next, __first)) 2441: return __next; 2441: return __next; 2441: } 2441: # 3250 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__is_sorted_until(__first, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 3274 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__is_sorted_until(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: # 3299 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: inline pair 2441: minmax(const _Tp& __a, const _Tp& __b) 2441: { 2441: 2441: 2441: 2441: return __b < __a ? pair(__b, __a) 2441: : pair(__a, __b); 2441: } 2441: # 3320 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: inline pair 2441: minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) 2441: { 2441: return __comp(__b, __a) ? pair(__b, __a) 2441: : pair(__a, __b); 2441: } 2441: 2441: template 2441: constexpr 2441: pair<_ForwardIterator, _ForwardIterator> 2441: __minmax_element(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: _ForwardIterator __next = __first; 2441: if (__first == __last 2441: || ++__next == __last) 2441: return std::make_pair(__first, __first); 2441: 2441: _ForwardIterator __min{}, __max{}; 2441: if (__comp(__next, __first)) 2441: { 2441: __min = __next; 2441: __max = __first; 2441: } 2441: else 2441: { 2441: __min = __first; 2441: __max = __next; 2441: } 2441: 2441: __first = __next; 2441: ++__first; 2441: 2441: while (__first != __last) 2441: { 2441: __next = __first; 2441: if (++__next == __last) 2441: { 2441: if (__comp(__first, __min)) 2441: __min = __first; 2441: else if (!__comp(__first, __max)) 2441: __max = __first; 2441: break; 2441: } 2441: 2441: if (__comp(__next, __first)) 2441: { 2441: if (__comp(__next, __min)) 2441: __min = __next; 2441: if (!__comp(__first, __max)) 2441: __max = __first; 2441: } 2441: else 2441: { 2441: if (__comp(__first, __min)) 2441: __min = __first; 2441: if (!__comp(__next, __max)) 2441: __max = __next; 2441: } 2441: 2441: __first = __next; 2441: ++__first; 2441: } 2441: 2441: return std::make_pair(__min, __max); 2441: } 2441: # 3400 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: inline pair<_ForwardIterator, _ForwardIterator> 2441: minmax_element(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__minmax_element(__first, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 3428 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: inline pair<_ForwardIterator, _ForwardIterator> 2441: minmax_element(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__minmax_element(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: 2441: template 2441: constexpr 2441: inline _Tp 2441: min(initializer_list<_Tp> __l) 2441: { return *std::min_element(__l.begin(), __l.end()); } 2441: 2441: template 2441: constexpr 2441: inline _Tp 2441: min(initializer_list<_Tp> __l, _Compare __comp) 2441: { return *std::min_element(__l.begin(), __l.end(), __comp); } 2441: 2441: template 2441: constexpr 2441: inline _Tp 2441: max(initializer_list<_Tp> __l) 2441: { return *std::max_element(__l.begin(), __l.end()); } 2441: 2441: template 2441: constexpr 2441: inline _Tp 2441: max(initializer_list<_Tp> __l, _Compare __comp) 2441: { return *std::max_element(__l.begin(), __l.end(), __comp); } 2441: 2441: template 2441: constexpr 2441: inline pair<_Tp, _Tp> 2441: minmax(initializer_list<_Tp> __l) 2441: { 2441: pair __p = 2441: std::minmax_element(__l.begin(), __l.end()); 2441: return std::make_pair(*__p.first, *__p.second); 2441: } 2441: 2441: template 2441: constexpr 2441: inline pair<_Tp, _Tp> 2441: minmax(initializer_list<_Tp> __l, _Compare __comp) 2441: { 2441: pair __p = 2441: std::minmax_element(__l.begin(), __l.end(), __comp); 2441: return std::make_pair(*__p.first, *__p.second); 2441: } 2441: 2441: template 2441: bool 2441: __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _BinaryPredicate __pred) 2441: { 2441: 2441: 2441: for (; __first1 != __last1; ++__first1, (void)++__first2) 2441: if (!__pred(__first1, __first2)) 2441: break; 2441: 2441: if (__first1 == __last1) 2441: return true; 2441: 2441: 2441: 2441: _ForwardIterator2 __last2 = __first2; 2441: std::advance(__last2, std::distance(__first1, __last1)); 2441: for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) 2441: { 2441: if (__scan != std::__find_if(__first1, __scan, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) 2441: continue; 2441: 2441: auto __matches 2441: = std::__count_if(__first2, __last2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); 2441: if (0 == __matches || 2441: std::__count_if(__scan, __last1, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) 2441: != __matches) 2441: return false; 2441: } 2441: return true; 2441: } 2441: # 3540 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__is_permutation(__first1, __last1, __first2, 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 3571 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _BinaryPredicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__is_permutation(__first1, __last1, __first2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred)); 2441: } 2441: 2441: 2441: template 2441: bool 2441: __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 2441: _BinaryPredicate __pred) 2441: { 2441: using _Cat1 2441: = typename iterator_traits<_ForwardIterator1>::iterator_category; 2441: using _Cat2 2441: = typename iterator_traits<_ForwardIterator2>::iterator_category; 2441: using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>; 2441: using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>; 2441: constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA(); 2441: if (__ra_iters) 2441: { 2441: auto __d1 = std::distance(__first1, __last1); 2441: auto __d2 = std::distance(__first2, __last2); 2441: if (__d1 != __d2) 2441: return false; 2441: } 2441: 2441: 2441: 2441: for (; __first1 != __last1 && __first2 != __last2; 2441: ++__first1, (void)++__first2) 2441: if (!__pred(__first1, __first2)) 2441: break; 2441: 2441: if (__ra_iters) 2441: { 2441: if (__first1 == __last1) 2441: return true; 2441: } 2441: else 2441: { 2441: auto __d1 = std::distance(__first1, __last1); 2441: auto __d2 = std::distance(__first2, __last2); 2441: if (__d1 == 0 && __d2 == 0) 2441: return true; 2441: if (__d1 != __d2) 2441: return false; 2441: } 2441: 2441: for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) 2441: { 2441: if (__scan != std::__find_if(__first1, __scan, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) 2441: continue; 2441: 2441: auto __matches = std::__count_if(__first2, __last2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); 2441: if (0 == __matches 2441: || std::__count_if(__scan, __last1, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) 2441: != __matches) 2441: return false; 2441: } 2441: return true; 2441: } 2441: # 3664 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 2441: { 2441: ; 2441: ; 2441: 2441: return 2441: std::__is_permutation(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 3691 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline bool 2441: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 2441: _BinaryPredicate __pred) 2441: { 2441: ; 2441: ; 2441: 2441: return std::__is_permutation(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__pred)); 2441: } 2441: # 3767 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: pair<_IntType, _IntType> 2441: __gen_two_uniform_ints(_IntType __b0, _IntType __b1, 2441: _UniformRandomBitGenerator&& __g) 2441: { 2441: _IntType __x 2441: = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g); 2441: return std::make_pair(__x / __b1, __x % __b1); 2441: } 2441: # 3789 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: void 2441: shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _UniformRandomNumberGenerator&& __g) 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: if (__first == __last) 2441: return; 2441: 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _DistanceType; 2441: 2441: typedef typename std::make_unsigned<_DistanceType>::type __ud_type; 2441: typedef typename std::uniform_int_distribution<__ud_type> __distr_type; 2441: typedef typename __distr_type::param_type __p_type; 2441: 2441: typedef typename remove_reference<_UniformRandomNumberGenerator>::type 2441: _Gen; 2441: typedef typename common_type::type 2441: __uc_type; 2441: 2441: const __uc_type __urngrange = __g.max() - __g.min(); 2441: const __uc_type __urange = __uc_type(__last - __first); 2441: 2441: if (__urngrange / __urange >= __urange) 2441: 2441: { 2441: _RandomAccessIterator __i = __first + 1; 2441: 2441: 2441: 2441: 2441: 2441: if ((__urange % 2) == 0) 2441: { 2441: __distr_type __d{0, 1}; 2441: std::iter_swap(__i++, __first + __d(__g)); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: while (__i != __last) 2441: { 2441: const __uc_type __swap_range = __uc_type(__i - __first) + 1; 2441: 2441: const pair<__uc_type, __uc_type> __pospos = 2441: __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g); 2441: 2441: std::iter_swap(__i++, __first + __pospos.first); 2441: std::iter_swap(__i++, __first + __pospos.second); 2441: } 2441: 2441: return; 2441: } 2441: 2441: __distr_type __d; 2441: 2441: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 2441: std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: # 3874 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _Function 2441: for_each(_InputIterator __first, _InputIterator __last, _Function __f) 2441: { 2441: 2441: 2441: ; 2441: for (; __first != __last; ++__first) 2441: __f(*__first); 2441: return __f; 2441: } 2441: # 3895 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _InputIterator 2441: find(_InputIterator __first, _InputIterator __last, 2441: const _Tp& __val) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: return std::__find_if(__first, __last, 2441: __gnu_cxx::__ops::__iter_equals_val(__val)); 2441: } 2441: # 3919 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _InputIterator 2441: find_if(_InputIterator __first, _InputIterator __last, 2441: _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__find_if(__first, __last, 2441: __gnu_cxx::__ops::__pred_iter(__pred)); 2441: } 2441: # 3950 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _InputIterator 2441: find_first_of(_InputIterator __first1, _InputIterator __last1, 2441: _ForwardIterator __first2, _ForwardIterator __last2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: for (; __first1 != __last1; ++__first1) 2441: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 2441: if (*__first1 == *__iter) 2441: return __first1; 2441: return __last1; 2441: } 2441: # 3990 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _InputIterator 2441: find_first_of(_InputIterator __first1, _InputIterator __last1, 2441: _ForwardIterator __first2, _ForwardIterator __last2, 2441: _BinaryPredicate __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: for (; __first1 != __last1; ++__first1) 2441: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 2441: if (__comp(*__first1, *__iter)) 2441: return __first1; 2441: return __last1; 2441: } 2441: # 4022 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: adjacent_find(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__adjacent_find(__first, __last, 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 4047 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__adjacent_find(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 2441: } 2441: # 4072 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline typename iterator_traits<_InputIterator>::difference_type 2441: count(_InputIterator __first, _InputIterator __last, const _Tp& __value) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__count_if(__first, __last, 2441: __gnu_cxx::__ops::__iter_equals_val(__value)); 2441: } 2441: # 4095 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline typename iterator_traits<_InputIterator>::difference_type 2441: count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__count_if(__first, __last, 2441: __gnu_cxx::__ops::__pred_iter(__pred)); 2441: } 2441: # 4135 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator1 2441: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__search(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_equal_to_iter()); 2441: } 2441: # 4174 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator1 2441: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 2441: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 2441: _BinaryPredicate __predicate) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__search(__first1, __last1, __first2, __last2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__predicate)); 2441: } 2441: # 4209 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: search_n(_ForwardIterator __first, _ForwardIterator __last, 2441: _Integer __count, const _Tp& __val) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__search_n(__first, __last, __count, 2441: __gnu_cxx::__ops::__iter_equals_val(__val)); 2441: } 2441: # 4242 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: search_n(_ForwardIterator __first, _ForwardIterator __last, 2441: _Integer __count, const _Tp& __val, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__search_n(__first, __last, __count, 2441: __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val)); 2441: } 2441: # 4290 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _OutputIterator 2441: transform(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, _UnaryOperation __unary_op) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first != __last; ++__first, (void)++__result) 2441: *__result = __unary_op(*__first); 2441: return __result; 2441: } 2441: # 4327 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _OutputIterator 2441: transform(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _OutputIterator __result, 2441: _BinaryOperation __binary_op) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result) 2441: *__result = __binary_op(*__first1, *__first2); 2441: return __result; 2441: } 2441: # 4360 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: void 2441: replace(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __old_value, const _Tp& __new_value) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first != __last; ++__first) 2441: if (*__first == __old_value) 2441: *__first = __new_value; 2441: } 2441: # 4392 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: void 2441: replace_if(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred, const _Tp& __new_value) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first != __last; ++__first) 2441: if (__pred(*__first)) 2441: *__first = __new_value; 2441: } 2441: # 4424 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: void 2441: generate(_ForwardIterator __first, _ForwardIterator __last, 2441: _Generator __gen) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: for (; __first != __last; ++__first) 2441: *__first = __gen(); 2441: } 2441: # 4455 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: _OutputIterator 2441: generate_n(_OutputIterator __first, _Size __n, _Generator __gen) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: for (__decltype(__n + 0) __niter = __n; 2441: __niter > 0; --__niter, (void) ++__first) 2441: *__first = __gen(); 2441: return __first; 2441: } 2441: # 4491 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: unique_copy(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: if (__first == __last) 2441: return __result; 2441: return std::__unique_copy(__first, __last, __result, 2441: __gnu_cxx::__ops::__iter_equal_to_iter(), 2441: std::__iterator_category(__first), 2441: std::__iterator_category(__result)); 2441: } 2441: # 4531 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: unique_copy(_InputIterator __first, _InputIterator __last, 2441: _OutputIterator __result, 2441: _BinaryPredicate __binary_pred) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: if (__first == __last) 2441: return __result; 2441: return std::__unique_copy(__first, __last, __result, 2441: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred), 2441: std::__iterator_category(__first), 2441: std::__iterator_category(__result)); 2441: } 2441: # 4564 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: if (__first != __last) 2441: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 2441: { 2441: 2441: _RandomAccessIterator __j = __first 2441: + std::rand() % ((__i - __first) + 1); 2441: if (__i != __j) 2441: std::iter_swap(__i, __j); 2441: } 2441: } 2441: # 4599 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: void 2441: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: 2441: _RandomNumberGenerator&& __rand) 2441: 2441: 2441: 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: if (__first == __last) 2441: return; 2441: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 2441: { 2441: _RandomAccessIterator __j = __first + __rand((__i - __first) + 1); 2441: if (__i != __j) 2441: std::iter_swap(__i, __j); 2441: } 2441: } 2441: # 4639 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _ForwardIterator 2441: partition(_ForwardIterator __first, _ForwardIterator __last, 2441: _Predicate __pred) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: 2441: return std::__partition(__first, __last, __pred, 2441: std::__iterator_category(__first)); 2441: } 2441: # 4672 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: partial_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __middle, 2441: _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: std::__partial_sort(__first, __middle, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 4710 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: partial_sort(_RandomAccessIterator __first, 2441: _RandomAccessIterator __middle, 2441: _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: std::__partial_sort(__first, __middle, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: # 4746 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 2441: _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: if (__first == __last || __nth == __last) 2441: return; 2441: 2441: std::__introselect(__first, __nth, __last, 2441: std::__lg(__last - __first) * 2, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 4785 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 2441: _RandomAccessIterator __last, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: if (__first == __last || __nth == __last) 2441: return; 2441: 2441: std::__introselect(__first, __nth, __last, 2441: std::__lg(__last - __first) * 2, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: # 4822 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 4852 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: _OutputIterator 2441: __merge(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: { 2441: if (__comp(__first2, __first1)) 2441: { 2441: *__result = *__first2; 2441: ++__first2; 2441: } 2441: else 2441: { 2441: *__result = *__first1; 2441: ++__first1; 2441: } 2441: ++__result; 2441: } 2441: return std::copy(__first2, __last2, 2441: std::copy(__first1, __last1, __result)); 2441: } 2441: # 4913 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: merge(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__merge(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 4963 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: merge(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__merge(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: inline void 2441: __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: typedef typename iterator_traits<_RandomAccessIterator>::value_type 2441: _ValueType; 2441: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 2441: _DistanceType; 2441: 2441: typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf; 2441: _TmpBuf __buf(__first, __last); 2441: 2441: if (__buf.begin() == 0) 2441: std::__inplace_stable_sort(__first, __last, __comp); 2441: else 2441: std::__stable_sort_adaptive(__first, __last, __buf.begin(), 2441: _DistanceType(__buf.size()), __comp); 2441: } 2441: # 5027 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: std::__stable_sort(__first, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 5061 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline void 2441: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: std::__stable_sort(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: _OutputIterator 2441: __set_union(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: { 2441: if (__comp(__first1, __first2)) 2441: { 2441: *__result = *__first1; 2441: ++__first1; 2441: } 2441: else if (__comp(__first2, __first1)) 2441: { 2441: *__result = *__first2; 2441: ++__first2; 2441: } 2441: else 2441: { 2441: *__result = *__first1; 2441: ++__first1; 2441: ++__first2; 2441: } 2441: ++__result; 2441: } 2441: return std::copy(__first2, __last2, 2441: std::copy(__first1, __last1, __result)); 2441: } 2441: # 5130 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_union(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 5180 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_union(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: _OutputIterator 2441: __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: if (__comp(__first1, __first2)) 2441: ++__first1; 2441: else if (__comp(__first2, __first1)) 2441: ++__first2; 2441: else 2441: { 2441: *__result = *__first1; 2441: ++__first1; 2441: ++__first2; 2441: ++__result; 2441: } 2441: return __result; 2441: } 2441: # 5251 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_intersection(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 5300 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_intersection(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: _OutputIterator 2441: __set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: if (__comp(__first1, __first2)) 2441: { 2441: *__result = *__first1; 2441: ++__first1; 2441: ++__result; 2441: } 2441: else if (__comp(__first2, __first1)) 2441: ++__first2; 2441: else 2441: { 2441: ++__first1; 2441: ++__first2; 2441: } 2441: return std::copy(__first1, __last1, __result); 2441: } 2441: # 5373 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_difference(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 5424 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_difference(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: _OutputIterator 2441: __set_symmetric_difference(_InputIterator1 __first1, 2441: _InputIterator1 __last1, 2441: _InputIterator2 __first2, 2441: _InputIterator2 __last2, 2441: _OutputIterator __result, 2441: _Compare __comp) 2441: { 2441: while (__first1 != __last1 && __first2 != __last2) 2441: if (__comp(__first1, __first2)) 2441: { 2441: *__result = *__first1; 2441: ++__first1; 2441: ++__result; 2441: } 2441: else if (__comp(__first2, __first1)) 2441: { 2441: *__result = *__first2; 2441: ++__first2; 2441: ++__result; 2441: } 2441: else 2441: { 2441: ++__first1; 2441: ++__first2; 2441: } 2441: return std::copy(__first2, __last2, 2441: std::copy(__first1, __last1, __result)); 2441: } 2441: # 5503 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_symmetric_difference(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 5554 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: inline _OutputIterator 2441: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 2441: _InputIterator2 __first2, _InputIterator2 __last2, 2441: _OutputIterator __result, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: ; 2441: ; 2441: 2441: return std::__set_symmetric_difference(__first1, __last1, 2441: __first2, __last2, __result, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: constexpr 2441: _ForwardIterator 2441: __min_element(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: if (__first == __last) 2441: return __first; 2441: _ForwardIterator __result = __first; 2441: while (++__first != __last) 2441: if (__comp(__first, __result)) 2441: __result = __first; 2441: return __result; 2441: } 2441: # 5607 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: _ForwardIterator 2441: inline min_element(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__min_element(__first, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 5632 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: inline _ForwardIterator 2441: min_element(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__min_element(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: template 2441: constexpr 2441: _ForwardIterator 2441: __max_element(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: if (__first == __last) return __first; 2441: _ForwardIterator __result = __first; 2441: while (++__first != __last) 2441: if (__comp(__result, __first)) 2441: __result = __first; 2441: return __result; 2441: } 2441: # 5671 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: inline _ForwardIterator 2441: max_element(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__max_element(__first, __last, 2441: __gnu_cxx::__ops::__iter_less_iter()); 2441: } 2441: # 5696 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: template 2441: constexpr 2441: inline _ForwardIterator 2441: max_element(_ForwardIterator __first, _ForwardIterator __last, 2441: _Compare __comp) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: ; 2441: ; 2441: 2441: return std::__max_element(__first, __last, 2441: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 2441: } 2441: 2441: 2441: 2441: template 2441: _RandomAccessIterator 2441: __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag, 2441: _RandomAccessIterator __out, random_access_iterator_tag, 2441: _Size __n, _UniformRandomBitGenerator&& __g) 2441: { 2441: using __distrib_type = uniform_int_distribution<_Size>; 2441: using __param_type = typename __distrib_type::param_type; 2441: __distrib_type __d{}; 2441: _Size __sample_sz = 0; 2441: while (__first != __last && __sample_sz != __n) 2441: { 2441: __out[__sample_sz++] = *__first; 2441: ++__first; 2441: } 2441: for (auto __pop_sz = __sample_sz; __first != __last; 2441: ++__first, (void) ++__pop_sz) 2441: { 2441: const auto __k = __d(__g, __param_type{0, __pop_sz}); 2441: if (__k < __n) 2441: __out[__k] = *__first; 2441: } 2441: return __out + __sample_sz; 2441: } 2441: 2441: 2441: template 2441: _OutputIterator 2441: __sample(_ForwardIterator __first, _ForwardIterator __last, 2441: forward_iterator_tag, 2441: _OutputIterator __out, _Cat, 2441: _Size __n, _UniformRandomBitGenerator&& __g) 2441: { 2441: using __distrib_type = uniform_int_distribution<_Size>; 2441: using __param_type = typename __distrib_type::param_type; 2441: using _USize = make_unsigned_t<_Size>; 2441: using _Gen = remove_reference_t<_UniformRandomBitGenerator>; 2441: using __uc_type = common_type_t; 2441: 2441: __distrib_type __d{}; 2441: _Size __unsampled_sz = std::distance(__first, __last); 2441: __n = std::min(__n, __unsampled_sz); 2441: 2441: 2441: 2441: 2441: const __uc_type __urngrange = __g.max() - __g.min(); 2441: if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz)) 2441: 2441: 2441: { 2441: while (__n != 0 && __unsampled_sz >= 2) 2441: { 2441: const pair<_Size, _Size> __p = 2441: __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g); 2441: 2441: --__unsampled_sz; 2441: if (__p.first < __n) 2441: { 2441: *__out++ = *__first; 2441: --__n; 2441: } 2441: 2441: ++__first; 2441: 2441: if (__n == 0) break; 2441: 2441: --__unsampled_sz; 2441: if (__p.second < __n) 2441: { 2441: *__out++ = *__first; 2441: --__n; 2441: } 2441: 2441: ++__first; 2441: } 2441: } 2441: 2441: 2441: 2441: for (; __n != 0; ++__first) 2441: if (__d(__g, __param_type{0, --__unsampled_sz}) < __n) 2441: { 2441: *__out++ = *__first; 2441: --__n; 2441: } 2441: return __out; 2441: } 2441: # 5839 "/usr/include/c++/8/bits/stl_algo.h" 3 2441: 2441: 2441: } 2441: # 63 "/usr/include/c++/8/algorithm" 2 3 2441: # 40 "/usr/include/gmpxx.h" 2 3 4 2441: # 1 "/usr/include/c++/8/string" 1 3 4 2441: # 36 "/usr/include/c++/8/string" 3 4 2441: 2441: # 37 "/usr/include/c++/8/string" 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/char_traits.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/char_traits.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/char_traits.h" 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/cwchar" 1 3 2441: # 39 "/usr/include/c++/8/cwchar" 3 2441: 2441: # 40 "/usr/include/c++/8/cwchar" 3 2441: # 42 "/usr/include/c++/8/bits/char_traits.h" 2 3 2441: 2441: 2441: 2441: 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 61 "/usr/include/c++/8/bits/char_traits.h" 3 2441: template 2441: struct _Char_types 2441: { 2441: typedef unsigned long int_type; 2441: typedef std::streampos pos_type; 2441: typedef std::streamoff off_type; 2441: typedef std::mbstate_t state_type; 2441: }; 2441: # 86 "/usr/include/c++/8/bits/char_traits.h" 3 2441: template 2441: struct char_traits 2441: { 2441: typedef _CharT char_type; 2441: typedef typename _Char_types<_CharT>::int_type int_type; 2441: typedef typename _Char_types<_CharT>::pos_type pos_type; 2441: typedef typename _Char_types<_CharT>::off_type off_type; 2441: typedef typename _Char_types<_CharT>::state_type state_type; 2441: 2441: static constexpr void 2441: assign(char_type& __c1, const char_type& __c2) 2441: { __c1 = __c2; } 2441: 2441: static constexpr bool 2441: eq(const char_type& __c1, const char_type& __c2) 2441: { return __c1 == __c2; } 2441: 2441: static constexpr bool 2441: lt(const char_type& __c1, const char_type& __c2) 2441: { return __c1 < __c2; } 2441: 2441: static constexpr int 2441: compare(const char_type* __s1, const char_type* __s2, std::size_t __n); 2441: 2441: static constexpr std::size_t 2441: length(const char_type* __s); 2441: 2441: static constexpr const char_type* 2441: find(const char_type* __s, std::size_t __n, const char_type& __a); 2441: 2441: static char_type* 2441: move(char_type* __s1, const char_type* __s2, std::size_t __n); 2441: 2441: static char_type* 2441: copy(char_type* __s1, const char_type* __s2, std::size_t __n); 2441: 2441: static char_type* 2441: assign(char_type* __s, std::size_t __n, char_type __a); 2441: 2441: static constexpr char_type 2441: to_char_type(const int_type& __c) 2441: { return static_cast(__c); } 2441: 2441: static constexpr int_type 2441: to_int_type(const char_type& __c) 2441: { return static_cast(__c); } 2441: 2441: static constexpr bool 2441: eq_int_type(const int_type& __c1, const int_type& __c2) 2441: { return __c1 == __c2; } 2441: 2441: static constexpr int_type 2441: eof() 2441: { return static_cast(-1); } 2441: 2441: static constexpr int_type 2441: not_eof(const int_type& __c) 2441: { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } 2441: }; 2441: 2441: template 2441: constexpr int 2441: char_traits<_CharT>:: 2441: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) 2441: { 2441: for (std::size_t __i = 0; __i < __n; ++__i) 2441: if (lt(__s1[__i], __s2[__i])) 2441: return -1; 2441: else if (lt(__s2[__i], __s1[__i])) 2441: return 1; 2441: return 0; 2441: } 2441: 2441: template 2441: constexpr std::size_t 2441: char_traits<_CharT>:: 2441: length(const char_type* __p) 2441: { 2441: std::size_t __i = 0; 2441: while (!eq(__p[__i], char_type())) 2441: ++__i; 2441: return __i; 2441: } 2441: 2441: template 2441: constexpr const typename char_traits<_CharT>::char_type* 2441: char_traits<_CharT>:: 2441: find(const char_type* __s, std::size_t __n, const char_type& __a) 2441: { 2441: for (std::size_t __i = 0; __i < __n; ++__i) 2441: if (eq(__s[__i], __a)) 2441: return __s + __i; 2441: return 0; 2441: } 2441: 2441: template 2441: typename char_traits<_CharT>::char_type* 2441: char_traits<_CharT>:: 2441: move(char_type* __s1, const char_type* __s2, std::size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, 2441: __n * sizeof(char_type))); 2441: } 2441: 2441: template 2441: typename char_traits<_CharT>::char_type* 2441: char_traits<_CharT>:: 2441: copy(char_type* __s1, const char_type* __s2, std::size_t __n) 2441: { 2441: 2441: std::copy(__s2, __s2 + __n, __s1); 2441: return __s1; 2441: } 2441: 2441: template 2441: typename char_traits<_CharT>::char_type* 2441: char_traits<_CharT>:: 2441: assign(char_type* __s, std::size_t __n, char_type __a) 2441: { 2441: 2441: std::fill_n(__s, __n, __a); 2441: return __s; 2441: } 2441: 2441: 2441: } 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 270 "/usr/include/c++/8/bits/char_traits.h" 3 2441: template 2441: struct char_traits : public __gnu_cxx::char_traits<_CharT> 2441: { }; 2441: 2441: 2441: 2441: template<> 2441: struct char_traits 2441: { 2441: typedef char char_type; 2441: typedef int int_type; 2441: typedef streampos pos_type; 2441: typedef streamoff off_type; 2441: typedef mbstate_t state_type; 2441: 2441: static void 2441: assign(char_type& __c1, const char_type& __c2) noexcept 2441: { __c1 = __c2; } 2441: 2441: static constexpr bool 2441: eq(const char_type& __c1, const char_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr bool 2441: lt(const char_type& __c1, const char_type& __c2) noexcept 2441: { 2441: 2441: return (static_cast(__c1) 2441: < static_cast(__c2)); 2441: } 2441: 2441: static int 2441: compare(const char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (__n == 0) 2441: return 0; 2441: return __builtin_memcmp(__s1, __s2, __n); 2441: } 2441: 2441: static size_t 2441: length(const char_type* __s) 2441: { 2441: 2441: 2441: 2441: 2441: return __builtin_strlen(__s); 2441: } 2441: 2441: static const char_type* 2441: find(const char_type* __s, size_t __n, const char_type& __a) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (__n == 0) 2441: return 0; 2441: return static_cast(__builtin_memchr(__s, __a, __n)); 2441: } 2441: 2441: static char_type* 2441: move(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return static_cast(__builtin_memmove(__s1, __s2, __n)); 2441: } 2441: 2441: static char_type* 2441: copy(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return static_cast(__builtin_memcpy(__s1, __s2, __n)); 2441: } 2441: 2441: static char_type* 2441: assign(char_type* __s, size_t __n, char_type __a) 2441: { 2441: if (__n == 0) 2441: return __s; 2441: return static_cast(__builtin_memset(__s, __a, __n)); 2441: } 2441: 2441: static constexpr char_type 2441: to_char_type(const int_type& __c) noexcept 2441: { return static_cast(__c); } 2441: 2441: 2441: 2441: static constexpr int_type 2441: to_int_type(const char_type& __c) noexcept 2441: { return static_cast(static_cast(__c)); } 2441: 2441: static constexpr bool 2441: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr int_type 2441: eof() noexcept 2441: { return static_cast(-1); } 2441: 2441: static constexpr int_type 2441: not_eof(const int_type& __c) noexcept 2441: { return (__c == eof()) ? 0 : __c; } 2441: }; 2441: 2441: 2441: 2441: 2441: template<> 2441: struct char_traits 2441: { 2441: typedef wchar_t char_type; 2441: typedef wint_t int_type; 2441: typedef streamoff off_type; 2441: typedef wstreampos pos_type; 2441: typedef mbstate_t state_type; 2441: 2441: static void 2441: assign(char_type& __c1, const char_type& __c2) noexcept 2441: { __c1 = __c2; } 2441: 2441: static constexpr bool 2441: eq(const char_type& __c1, const char_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr bool 2441: lt(const char_type& __c1, const char_type& __c2) noexcept 2441: { return __c1 < __c2; } 2441: 2441: static int 2441: compare(const char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (__n == 0) 2441: return 0; 2441: else 2441: return wmemcmp(__s1, __s2, __n); 2441: } 2441: 2441: static size_t 2441: length(const char_type* __s) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: return wcslen(__s); 2441: } 2441: 2441: static const char_type* 2441: find(const char_type* __s, size_t __n, const char_type& __a) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (__n == 0) 2441: return 0; 2441: else 2441: return wmemchr(__s, __a, __n); 2441: } 2441: 2441: static char_type* 2441: move(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return wmemmove(__s1, __s2, __n); 2441: } 2441: 2441: static char_type* 2441: copy(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return wmemcpy(__s1, __s2, __n); 2441: } 2441: 2441: static char_type* 2441: assign(char_type* __s, size_t __n, char_type __a) 2441: { 2441: if (__n == 0) 2441: return __s; 2441: return wmemset(__s, __a, __n); 2441: } 2441: 2441: static constexpr char_type 2441: to_char_type(const int_type& __c) noexcept 2441: { return char_type(__c); } 2441: 2441: static constexpr int_type 2441: to_int_type(const char_type& __c) noexcept 2441: { return int_type(__c); } 2441: 2441: static constexpr bool 2441: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr int_type 2441: eof() noexcept 2441: { return static_cast((0xffffffffu)); } 2441: 2441: static constexpr int_type 2441: not_eof(const int_type& __c) noexcept 2441: { return eq_int_type(__c, eof()) ? 0 : __c; } 2441: }; 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/cstdint" 1 3 2441: # 32 "/usr/include/c++/8/cstdint" 3 2441: 2441: # 33 "/usr/include/c++/8/cstdint" 3 2441: # 46 "/usr/include/c++/8/cstdint" 3 2441: namespace std 2441: { 2441: using ::int8_t; 2441: using ::int16_t; 2441: using ::int32_t; 2441: using ::int64_t; 2441: 2441: using ::int_fast8_t; 2441: using ::int_fast16_t; 2441: using ::int_fast32_t; 2441: using ::int_fast64_t; 2441: 2441: using ::int_least8_t; 2441: using ::int_least16_t; 2441: using ::int_least32_t; 2441: using ::int_least64_t; 2441: 2441: using ::intmax_t; 2441: using ::intptr_t; 2441: 2441: using ::uint8_t; 2441: using ::uint16_t; 2441: using ::uint32_t; 2441: using ::uint64_t; 2441: 2441: using ::uint_fast8_t; 2441: using ::uint_fast16_t; 2441: using ::uint_fast32_t; 2441: using ::uint_fast64_t; 2441: 2441: using ::uint_least8_t; 2441: using ::uint_least16_t; 2441: using ::uint_least32_t; 2441: using ::uint_least64_t; 2441: 2441: using ::uintmax_t; 2441: using ::uintptr_t; 2441: } 2441: # 504 "/usr/include/c++/8/bits/char_traits.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template<> 2441: struct char_traits 2441: { 2441: typedef char16_t char_type; 2441: typedef uint_least16_t int_type; 2441: typedef streamoff off_type; 2441: typedef u16streampos pos_type; 2441: typedef mbstate_t state_type; 2441: 2441: static void 2441: assign(char_type& __c1, const char_type& __c2) noexcept 2441: { __c1 = __c2; } 2441: 2441: static constexpr bool 2441: eq(const char_type& __c1, const char_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr bool 2441: lt(const char_type& __c1, const char_type& __c2) noexcept 2441: { return __c1 < __c2; } 2441: 2441: static int 2441: compare(const char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: for (size_t __i = 0; __i < __n; ++__i) 2441: if (lt(__s1[__i], __s2[__i])) 2441: return -1; 2441: else if (lt(__s2[__i], __s1[__i])) 2441: return 1; 2441: return 0; 2441: } 2441: 2441: static size_t 2441: length(const char_type* __s) 2441: { 2441: size_t __i = 0; 2441: while (!eq(__s[__i], char_type())) 2441: ++__i; 2441: return __i; 2441: } 2441: 2441: static const char_type* 2441: find(const char_type* __s, size_t __n, const char_type& __a) 2441: { 2441: for (size_t __i = 0; __i < __n; ++__i) 2441: if (eq(__s[__i], __a)) 2441: return __s + __i; 2441: return 0; 2441: } 2441: 2441: static char_type* 2441: move(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return (static_cast 2441: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 2441: } 2441: 2441: static char_type* 2441: copy(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return (static_cast 2441: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 2441: } 2441: 2441: static char_type* 2441: assign(char_type* __s, size_t __n, char_type __a) 2441: { 2441: for (size_t __i = 0; __i < __n; ++__i) 2441: assign(__s[__i], __a); 2441: return __s; 2441: } 2441: 2441: static constexpr char_type 2441: to_char_type(const int_type& __c) noexcept 2441: { return char_type(__c); } 2441: 2441: static constexpr int_type 2441: to_int_type(const char_type& __c) noexcept 2441: { return __c == eof() ? int_type(0xfffd) : int_type(__c); } 2441: 2441: static constexpr bool 2441: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr int_type 2441: eof() noexcept 2441: { return static_cast(-1); } 2441: 2441: static constexpr int_type 2441: not_eof(const int_type& __c) noexcept 2441: { return eq_int_type(__c, eof()) ? 0 : __c; } 2441: }; 2441: 2441: template<> 2441: struct char_traits 2441: { 2441: typedef char32_t char_type; 2441: typedef uint_least32_t int_type; 2441: typedef streamoff off_type; 2441: typedef u32streampos pos_type; 2441: typedef mbstate_t state_type; 2441: 2441: static void 2441: assign(char_type& __c1, const char_type& __c2) noexcept 2441: { __c1 = __c2; } 2441: 2441: static constexpr bool 2441: eq(const char_type& __c1, const char_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr bool 2441: lt(const char_type& __c1, const char_type& __c2) noexcept 2441: { return __c1 < __c2; } 2441: 2441: static int 2441: compare(const char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: for (size_t __i = 0; __i < __n; ++__i) 2441: if (lt(__s1[__i], __s2[__i])) 2441: return -1; 2441: else if (lt(__s2[__i], __s1[__i])) 2441: return 1; 2441: return 0; 2441: } 2441: 2441: static size_t 2441: length(const char_type* __s) 2441: { 2441: size_t __i = 0; 2441: while (!eq(__s[__i], char_type())) 2441: ++__i; 2441: return __i; 2441: } 2441: 2441: static const char_type* 2441: find(const char_type* __s, size_t __n, const char_type& __a) 2441: { 2441: for (size_t __i = 0; __i < __n; ++__i) 2441: if (eq(__s[__i], __a)) 2441: return __s + __i; 2441: return 0; 2441: } 2441: 2441: static char_type* 2441: move(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return (static_cast 2441: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 2441: } 2441: 2441: static char_type* 2441: copy(char_type* __s1, const char_type* __s2, size_t __n) 2441: { 2441: if (__n == 0) 2441: return __s1; 2441: return (static_cast 2441: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 2441: } 2441: 2441: static char_type* 2441: assign(char_type* __s, size_t __n, char_type __a) 2441: { 2441: for (size_t __i = 0; __i < __n; ++__i) 2441: assign(__s[__i], __a); 2441: return __s; 2441: } 2441: 2441: static constexpr char_type 2441: to_char_type(const int_type& __c) noexcept 2441: { return char_type(__c); } 2441: 2441: static constexpr int_type 2441: to_int_type(const char_type& __c) noexcept 2441: { return int_type(__c); } 2441: 2441: static constexpr bool 2441: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 2441: { return __c1 == __c2; } 2441: 2441: static constexpr int_type 2441: eof() noexcept 2441: { return static_cast(-1); } 2441: 2441: static constexpr int_type 2441: not_eof(const int_type& __c) noexcept 2441: { return eq_int_type(__c, eof()) ? 0 : __c; } 2441: }; 2441: 2441: 2441: } 2441: # 41 "/usr/include/c++/8/string" 2 3 2441: # 1 "/usr/include/c++/8/bits/allocator.h" 1 3 2441: # 46 "/usr/include/c++/8/bits/allocator.h" 3 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/c++allocator.h" 1 3 2441: # 33 "/usr/include/i386-linux-gnu/c++/8/bits/c++allocator.h" 3 2441: # 1 "/usr/include/c++/8/ext/new_allocator.h" 1 3 2441: # 40 "/usr/include/c++/8/ext/new_allocator.h" 3 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: using std::size_t; 2441: using std::ptrdiff_t; 2441: # 57 "/usr/include/c++/8/ext/new_allocator.h" 3 2441: template 2441: class new_allocator 2441: { 2441: public: 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Tp* pointer; 2441: typedef const _Tp* const_pointer; 2441: typedef _Tp& reference; 2441: typedef const _Tp& const_reference; 2441: typedef _Tp value_type; 2441: 2441: template 2441: struct rebind 2441: { typedef new_allocator<_Tp1> other; }; 2441: 2441: 2441: 2441: 2441: typedef std::true_type propagate_on_container_move_assignment; 2441: 2441: 2441: new_allocator() noexcept { } 2441: 2441: new_allocator(const new_allocator&) noexcept { } 2441: 2441: template 2441: new_allocator(const new_allocator<_Tp1>&) noexcept { } 2441: 2441: ~new_allocator() noexcept { } 2441: 2441: pointer 2441: address(reference __x) const noexcept 2441: { return std::__addressof(__x); } 2441: 2441: const_pointer 2441: address(const_reference __x) const noexcept 2441: { return std::__addressof(__x); } 2441: 2441: 2441: 2441: pointer 2441: allocate(size_type __n, const void* = static_cast(0)) 2441: { 2441: if (__n > this->max_size()) 2441: std::__throw_bad_alloc(); 2441: # 111 "/usr/include/c++/8/ext/new_allocator.h" 3 2441: return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); 2441: } 2441: 2441: 2441: void 2441: deallocate(pointer __p, size_type) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ::operator delete(__p); 2441: } 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return size_t(-1) / sizeof(_Tp); } 2441: 2441: 2441: template 2441: void 2441: construct(_Up* __p, _Args&&... __args) 2441: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 2441: 2441: template 2441: void 2441: destroy(_Up* __p) { __p->~_Up(); } 2441: # 151 "/usr/include/c++/8/ext/new_allocator.h" 3 2441: }; 2441: 2441: template 2441: inline bool 2441: operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) 2441: { return true; } 2441: 2441: template 2441: inline bool 2441: operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) 2441: { return false; } 2441: 2441: 2441: } 2441: # 34 "/usr/include/i386-linux-gnu/c++/8/bits/c++allocator.h" 2 3 2441: 2441: 2441: namespace std 2441: { 2441: # 47 "/usr/include/i386-linux-gnu/c++/8/bits/c++allocator.h" 3 2441: template 2441: using __allocator_base = __gnu_cxx::new_allocator<_Tp>; 2441: } 2441: # 47 "/usr/include/c++/8/bits/allocator.h" 2 3 2441: # 57 "/usr/include/c++/8/bits/allocator.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: class allocator 2441: { 2441: public: 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef void* pointer; 2441: typedef const void* const_pointer; 2441: typedef void value_type; 2441: 2441: template 2441: struct rebind 2441: { typedef allocator<_Tp1> other; }; 2441: 2441: 2441: 2441: 2441: typedef true_type propagate_on_container_move_assignment; 2441: 2441: typedef true_type is_always_equal; 2441: 2441: template 2441: void 2441: construct(_Up* __p, _Args&&... __args) 2441: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 2441: 2441: template 2441: void 2441: destroy(_Up* __p) { __p->~_Up(); } 2441: 2441: }; 2441: # 107 "/usr/include/c++/8/bits/allocator.h" 3 2441: template 2441: class allocator : public __allocator_base<_Tp> 2441: { 2441: public: 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Tp* pointer; 2441: typedef const _Tp* const_pointer; 2441: typedef _Tp& reference; 2441: typedef const _Tp& const_reference; 2441: typedef _Tp value_type; 2441: 2441: template 2441: struct rebind 2441: { typedef allocator<_Tp1> other; }; 2441: 2441: 2441: 2441: 2441: typedef true_type propagate_on_container_move_assignment; 2441: 2441: typedef true_type is_always_equal; 2441: 2441: 2441: allocator() throw() { } 2441: 2441: allocator(const allocator& __a) throw() 2441: : __allocator_base<_Tp>(__a) { } 2441: 2441: template 2441: allocator(const allocator<_Tp1>&) throw() { } 2441: 2441: ~allocator() throw() { } 2441: 2441: 2441: }; 2441: 2441: template 2441: inline bool 2441: operator==(const allocator<_T1>&, const allocator<_T2>&) 2441: noexcept 2441: { return true; } 2441: 2441: template 2441: inline bool 2441: operator==(const allocator<_Tp>&, const allocator<_Tp>&) 2441: noexcept 2441: { return true; } 2441: 2441: template 2441: inline bool 2441: operator!=(const allocator<_T1>&, const allocator<_T2>&) 2441: noexcept 2441: { return false; } 2441: 2441: template 2441: inline bool 2441: operator!=(const allocator<_Tp>&, const allocator<_Tp>&) 2441: noexcept 2441: { return false; } 2441: 2441: 2441: 2441: template 2441: class allocator 2441: { 2441: public: 2441: typedef _Tp value_type; 2441: template allocator(const allocator<_Up>&) { } 2441: }; 2441: 2441: template 2441: class allocator 2441: { 2441: public: 2441: typedef _Tp value_type; 2441: template allocator(const allocator<_Up>&) { } 2441: }; 2441: 2441: template 2441: class allocator 2441: { 2441: public: 2441: typedef _Tp value_type; 2441: template allocator(const allocator<_Up>&) { } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern template class allocator; 2441: extern template class allocator; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __alloc_swap 2441: { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; 2441: 2441: template 2441: struct __alloc_swap<_Alloc, false> 2441: { 2441: static void 2441: _S_do_it(_Alloc& __one, _Alloc& __two) noexcept 2441: { 2441: 2441: if (__one != __two) 2441: swap(__one, __two); 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct __alloc_neq 2441: { 2441: static bool 2441: _S_do_it(const _Alloc&, const _Alloc&) 2441: { return false; } 2441: }; 2441: 2441: template 2441: struct __alloc_neq<_Alloc, false> 2441: { 2441: static bool 2441: _S_do_it(const _Alloc& __one, const _Alloc& __two) 2441: { return __one != __two; } 2441: }; 2441: 2441: 2441: template, 2441: is_nothrow_move_constructible>::value> 2441: struct __shrink_to_fit_aux 2441: { static bool _S_do_it(_Tp&) noexcept { return false; } }; 2441: 2441: template 2441: struct __shrink_to_fit_aux<_Tp, true> 2441: { 2441: static bool 2441: _S_do_it(_Tp& __c) noexcept 2441: { 2441: 2441: try 2441: { 2441: _Tp(__make_move_if_noexcept_iterator(__c.begin()), 2441: __make_move_if_noexcept_iterator(__c.end()), 2441: __c.get_allocator()).swap(__c); 2441: return true; 2441: } 2441: catch(...) 2441: { return false; } 2441: 2441: 2441: 2441: } 2441: }; 2441: 2441: 2441: 2441: } 2441: # 42 "/usr/include/c++/8/string" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/localefwd.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/localefwd.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/localefwd.h" 3 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/c++locale.h" 1 3 2441: # 39 "/usr/include/i386-linux-gnu/c++/8/bits/c++locale.h" 3 2441: 2441: # 40 "/usr/include/i386-linux-gnu/c++/8/bits/c++locale.h" 3 2441: 2441: # 1 "/usr/include/c++/8/clocale" 1 3 2441: # 39 "/usr/include/c++/8/clocale" 3 2441: 2441: # 40 "/usr/include/c++/8/clocale" 3 2441: 2441: 2441: # 1 "/usr/include/locale.h" 1 3 4 2441: # 28 "/usr/include/locale.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 29 "/usr/include/locale.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/locale.h" 1 3 4 2441: # 30 "/usr/include/locale.h" 2 3 4 2441: 2441: extern "C" { 2441: # 51 "/usr/include/locale.h" 3 4 2441: struct lconv 2441: { 2441: 2441: 2441: char *decimal_point; 2441: char *thousands_sep; 2441: 2441: 2441: 2441: 2441: 2441: char *grouping; 2441: 2441: 2441: 2441: 2441: 2441: char *int_curr_symbol; 2441: char *currency_symbol; 2441: char *mon_decimal_point; 2441: char *mon_thousands_sep; 2441: char *mon_grouping; 2441: char *positive_sign; 2441: char *negative_sign; 2441: char int_frac_digits; 2441: char frac_digits; 2441: 2441: char p_cs_precedes; 2441: 2441: char p_sep_by_space; 2441: 2441: char n_cs_precedes; 2441: 2441: char n_sep_by_space; 2441: 2441: 2441: 2441: 2441: 2441: 2441: char p_sign_posn; 2441: char n_sign_posn; 2441: 2441: 2441: char int_p_cs_precedes; 2441: 2441: char int_p_sep_by_space; 2441: 2441: char int_n_cs_precedes; 2441: 2441: char int_n_sep_by_space; 2441: 2441: 2441: 2441: 2441: 2441: 2441: char int_p_sign_posn; 2441: char int_n_sign_posn; 2441: # 118 "/usr/include/locale.h" 3 4 2441: }; 2441: 2441: 2441: 2441: extern char *setlocale (int __category, const char *__locale) throw (); 2441: 2441: 2441: extern struct lconv *localeconv (void) throw (); 2441: # 141 "/usr/include/locale.h" 3 4 2441: extern locale_t newlocale (int __category_mask, const char *__locale, 2441: locale_t __base) throw (); 2441: # 176 "/usr/include/locale.h" 3 4 2441: extern locale_t duplocale (locale_t __dataset) throw (); 2441: 2441: 2441: 2441: extern void freelocale (locale_t __dataset) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern locale_t uselocale (locale_t __dataset) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 43 "/usr/include/c++/8/clocale" 2 3 2441: # 51 "/usr/include/c++/8/clocale" 3 2441: namespace std 2441: { 2441: using ::lconv; 2441: using ::setlocale; 2441: using ::localeconv; 2441: } 2441: # 42 "/usr/include/i386-linux-gnu/c++/8/bits/c++locale.h" 2 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: extern "C" __typeof(uselocale) __uselocale; 2441: 2441: 2441: } 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: typedef __locale_t __c_locale; 2441: 2441: 2441: 2441: 2441: 2441: inline int 2441: __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), 2441: char* __out, 2441: const int __size __attribute__ ((__unused__)), 2441: const char* __fmt, ...) 2441: { 2441: 2441: __c_locale __old = __gnu_cxx::__uselocale(__cloc); 2441: # 88 "/usr/include/i386-linux-gnu/c++/8/bits/c++locale.h" 3 2441: __builtin_va_list __args; 2441: __builtin_va_start(__args, __fmt); 2441: 2441: 2441: const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); 2441: 2441: 2441: 2441: 2441: __builtin_va_end(__args); 2441: 2441: 2441: __gnu_cxx::__uselocale(__old); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: return __ret; 2441: } 2441: 2441: 2441: } 2441: # 41 "/usr/include/c++/8/bits/localefwd.h" 2 3 2441: 2441: # 1 "/usr/include/c++/8/cctype" 1 3 2441: # 39 "/usr/include/c++/8/cctype" 3 2441: 2441: # 40 "/usr/include/c++/8/cctype" 3 2441: 2441: 2441: # 1 "/usr/include/ctype.h" 1 3 4 2441: # 28 "/usr/include/ctype.h" 3 4 2441: extern "C" { 2441: # 46 "/usr/include/ctype.h" 3 4 2441: enum 2441: { 2441: _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), 2441: _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), 2441: _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), 2441: _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), 2441: _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), 2441: _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), 2441: _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), 2441: _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), 2441: _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), 2441: _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), 2441: _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), 2441: _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) 2441: }; 2441: # 79 "/usr/include/ctype.h" 3 4 2441: extern const unsigned short int **__ctype_b_loc (void) 2441: throw () __attribute__ ((__const__)); 2441: extern const __int32_t **__ctype_tolower_loc (void) 2441: throw () __attribute__ ((__const__)); 2441: extern const __int32_t **__ctype_toupper_loc (void) 2441: throw () __attribute__ ((__const__)); 2441: # 108 "/usr/include/ctype.h" 3 4 2441: extern int isalnum (int) throw (); 2441: extern int isalpha (int) throw (); 2441: extern int iscntrl (int) throw (); 2441: extern int isdigit (int) throw (); 2441: extern int islower (int) throw (); 2441: extern int isgraph (int) throw (); 2441: extern int isprint (int) throw (); 2441: extern int ispunct (int) throw (); 2441: extern int isspace (int) throw (); 2441: extern int isupper (int) throw (); 2441: extern int isxdigit (int) throw (); 2441: 2441: 2441: 2441: extern int tolower (int __c) throw (); 2441: 2441: 2441: extern int toupper (int __c) throw (); 2441: 2441: 2441: 2441: 2441: extern int isblank (int) throw (); 2441: 2441: 2441: 2441: 2441: extern int isctype (int __c, int __mask) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int isascii (int __c) throw (); 2441: 2441: 2441: 2441: extern int toascii (int __c) throw (); 2441: 2441: 2441: 2441: extern int _toupper (int) throw (); 2441: extern int _tolower (int) throw (); 2441: # 251 "/usr/include/ctype.h" 3 4 2441: extern int isalnum_l (int, locale_t) throw (); 2441: extern int isalpha_l (int, locale_t) throw (); 2441: extern int iscntrl_l (int, locale_t) throw (); 2441: extern int isdigit_l (int, locale_t) throw (); 2441: extern int islower_l (int, locale_t) throw (); 2441: extern int isgraph_l (int, locale_t) throw (); 2441: extern int isprint_l (int, locale_t) throw (); 2441: extern int ispunct_l (int, locale_t) throw (); 2441: extern int isspace_l (int, locale_t) throw (); 2441: extern int isupper_l (int, locale_t) throw (); 2441: extern int isxdigit_l (int, locale_t) throw (); 2441: 2441: extern int isblank_l (int, locale_t) throw (); 2441: 2441: 2441: 2441: extern int __tolower_l (int __c, locale_t __l) throw (); 2441: extern int tolower_l (int __c, locale_t __l) throw (); 2441: 2441: 2441: extern int __toupper_l (int __c, locale_t __l) throw (); 2441: extern int toupper_l (int __c, locale_t __l) throw (); 2441: # 327 "/usr/include/ctype.h" 3 4 2441: } 2441: # 43 "/usr/include/c++/8/cctype" 2 3 2441: # 62 "/usr/include/c++/8/cctype" 3 2441: namespace std 2441: { 2441: using ::isalnum; 2441: using ::isalpha; 2441: using ::iscntrl; 2441: using ::isdigit; 2441: using ::isgraph; 2441: using ::islower; 2441: using ::isprint; 2441: using ::ispunct; 2441: using ::isspace; 2441: using ::isupper; 2441: using ::isxdigit; 2441: using ::tolower; 2441: using ::toupper; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace std 2441: { 2441: using ::isblank; 2441: } 2441: # 43 "/usr/include/c++/8/bits/localefwd.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 55 "/usr/include/c++/8/bits/localefwd.h" 3 2441: class locale; 2441: 2441: template 2441: bool 2441: has_facet(const locale&) throw(); 2441: 2441: template 2441: const _Facet& 2441: use_facet(const locale&); 2441: 2441: 2441: template 2441: bool 2441: isspace(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: isprint(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: iscntrl(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: isupper(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: islower(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: isalpha(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: isdigit(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: ispunct(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: isxdigit(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: isalnum(_CharT, const locale&); 2441: 2441: template 2441: bool 2441: isgraph(_CharT, const locale&); 2441: 2441: 2441: template 2441: bool 2441: isblank(_CharT, const locale&); 2441: 2441: 2441: template 2441: _CharT 2441: toupper(_CharT, const locale&); 2441: 2441: template 2441: _CharT 2441: tolower(_CharT, const locale&); 2441: 2441: 2441: class ctype_base; 2441: template 2441: class ctype; 2441: template<> class ctype; 2441: 2441: template<> class ctype; 2441: 2441: template 2441: class ctype_byname; 2441: 2441: 2441: class codecvt_base; 2441: template 2441: class codecvt; 2441: template<> class codecvt; 2441: 2441: template<> class codecvt; 2441: 2441: template 2441: class codecvt_byname; 2441: 2441: 2441: 2441: template > 2441: class num_get; 2441: template > 2441: class num_put; 2441: 2441: namespace __cxx11 { 2441: template class numpunct; 2441: template class numpunct_byname; 2441: } 2441: 2441: namespace __cxx11 { 2441: 2441: template 2441: class collate; 2441: template 2441: class collate_byname; 2441: } 2441: 2441: 2441: class time_base; 2441: namespace __cxx11 { 2441: template > 2441: class time_get; 2441: template > 2441: class time_get_byname; 2441: } 2441: template > 2441: class time_put; 2441: template > 2441: class time_put_byname; 2441: 2441: 2441: class money_base; 2441: namespace __cxx11 { 2441: template > 2441: class money_get; 2441: template > 2441: class money_put; 2441: } 2441: namespace __cxx11 { 2441: template 2441: class moneypunct; 2441: template 2441: class moneypunct_byname; 2441: } 2441: 2441: 2441: class messages_base; 2441: namespace __cxx11 { 2441: template 2441: class messages; 2441: template 2441: class messages_byname; 2441: } 2441: 2441: 2441: } 2441: # 44 "/usr/include/c++/8/string" 2 3 2441: # 1 "/usr/include/c++/8/bits/ostream_insert.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/ostream_insert.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/ostream_insert.h" 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/cxxabi_forced.h" 1 3 2441: # 34 "/usr/include/c++/8/bits/cxxabi_forced.h" 3 2441: 2441: # 35 "/usr/include/c++/8/bits/cxxabi_forced.h" 3 2441: 2441: #pragma GCC visibility push(default) 2441: 2441: 2441: namespace __cxxabiv1 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: class __forced_unwind 2441: { 2441: virtual ~__forced_unwind() throw(); 2441: 2441: 2441: virtual void __pure_dummy() = 0; 2441: }; 2441: } 2441: 2441: 2441: #pragma GCC visibility pop 2441: # 37 "/usr/include/c++/8/bits/ostream_insert.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: inline void 2441: __ostream_write(basic_ostream<_CharT, _Traits>& __out, 2441: const _CharT* __s, streamsize __n) 2441: { 2441: typedef basic_ostream<_CharT, _Traits> __ostream_type; 2441: typedef typename __ostream_type::ios_base __ios_base; 2441: 2441: const streamsize __put = __out.rdbuf()->sputn(__s, __n); 2441: if (__put != __n) 2441: __out.setstate(__ios_base::badbit); 2441: } 2441: 2441: template 2441: inline void 2441: __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) 2441: { 2441: typedef basic_ostream<_CharT, _Traits> __ostream_type; 2441: typedef typename __ostream_type::ios_base __ios_base; 2441: 2441: const _CharT __c = __out.fill(); 2441: for (; __n > 0; --__n) 2441: { 2441: const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); 2441: if (_Traits::eq_int_type(__put, _Traits::eof())) 2441: { 2441: __out.setstate(__ios_base::badbit); 2441: break; 2441: } 2441: } 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: __ostream_insert(basic_ostream<_CharT, _Traits>& __out, 2441: const _CharT* __s, streamsize __n) 2441: { 2441: typedef basic_ostream<_CharT, _Traits> __ostream_type; 2441: typedef typename __ostream_type::ios_base __ios_base; 2441: 2441: typename __ostream_type::sentry __cerb(__out); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: const streamsize __w = __out.width(); 2441: if (__w > __n) 2441: { 2441: const bool __left = ((__out.flags() 2441: & __ios_base::adjustfield) 2441: == __ios_base::left); 2441: if (!__left) 2441: __ostream_fill(__out, __w - __n); 2441: if (__out.good()) 2441: __ostream_write(__out, __s, __n); 2441: if (__left && __out.good()) 2441: __ostream_fill(__out, __w - __n); 2441: } 2441: else 2441: __ostream_write(__out, __s, __n); 2441: __out.width(0); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __out._M_setstate(__ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __out._M_setstate(__ios_base::badbit); } 2441: } 2441: return __out; 2441: } 2441: 2441: 2441: 2441: 2441: extern template ostream& __ostream_insert(ostream&, const char*, streamsize); 2441: 2441: 2441: extern template wostream& __ostream_insert(wostream&, const wchar_t*, 2441: streamsize); 2441: 2441: 2441: 2441: 2441: } 2441: # 45 "/usr/include/c++/8/string" 2 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/stl_function.h" 1 3 2441: # 63 "/usr/include/c++/8/bits/stl_function.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 104 "/usr/include/c++/8/bits/stl_function.h" 3 2441: template 2441: struct unary_function 2441: { 2441: 2441: typedef _Arg argument_type; 2441: 2441: 2441: typedef _Result result_type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct binary_function 2441: { 2441: 2441: typedef _Arg1 first_argument_type; 2441: 2441: 2441: typedef _Arg2 second_argument_type; 2441: 2441: 2441: typedef _Result result_type; 2441: }; 2441: # 144 "/usr/include/c++/8/bits/stl_function.h" 3 2441: struct __is_transparent; 2441: 2441: template 2441: struct plus; 2441: 2441: template 2441: struct minus; 2441: 2441: template 2441: struct multiplies; 2441: 2441: template 2441: struct divides; 2441: 2441: template 2441: struct modulus; 2441: 2441: template 2441: struct negate; 2441: 2441: 2441: 2441: template 2441: struct plus : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x + __y; } 2441: }; 2441: 2441: 2441: template 2441: struct minus : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x - __y; } 2441: }; 2441: 2441: 2441: template 2441: struct multiplies : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x * __y; } 2441: }; 2441: 2441: 2441: template 2441: struct divides : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x / __y; } 2441: }; 2441: 2441: 2441: template 2441: struct modulus : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x % __y; } 2441: }; 2441: 2441: 2441: template 2441: struct negate : public unary_function<_Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x) const 2441: { return -__x; } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: struct plus 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct minus 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct multiplies 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct divides 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct modulus 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct negate 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t) const 2441: noexcept(noexcept(-std::forward<_Tp>(__t))) 2441: -> decltype(-std::forward<_Tp>(__t)) 2441: { return -std::forward<_Tp>(__t); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: # 330 "/usr/include/c++/8/bits/stl_function.h" 3 2441: template 2441: struct equal_to; 2441: 2441: template 2441: struct not_equal_to; 2441: 2441: template 2441: struct greater; 2441: 2441: template 2441: struct less; 2441: 2441: template 2441: struct greater_equal; 2441: 2441: template 2441: struct less_equal; 2441: 2441: 2441: 2441: template 2441: struct equal_to : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x == __y; } 2441: }; 2441: 2441: 2441: template 2441: struct not_equal_to : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x != __y; } 2441: }; 2441: 2441: 2441: template 2441: struct greater : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x > __y; } 2441: }; 2441: 2441: 2441: template 2441: struct less : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x < __y; } 2441: }; 2441: 2441: 2441: template 2441: struct greater_equal : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x >= __y; } 2441: }; 2441: 2441: 2441: template 2441: struct less_equal : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x <= __y; } 2441: }; 2441: 2441: 2441: template 2441: struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 2441: { 2441: constexpr bool 2441: operator()(_Tp* __x, _Tp* __y) const noexcept 2441: { 2441: if (__builtin_constant_p (__x > __y)) 2441: return __x > __y; 2441: return (unsigned int)__x > (unsigned int)__y; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 2441: { 2441: constexpr bool 2441: operator()(_Tp* __x, _Tp* __y) const noexcept 2441: { 2441: if (__builtin_constant_p (__x < __y)) 2441: return __x < __y; 2441: return (unsigned int)__x < (unsigned int)__y; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 2441: { 2441: constexpr bool 2441: operator()(_Tp* __x, _Tp* __y) const noexcept 2441: { 2441: if (__builtin_constant_p (__x >= __y)) 2441: return __x >= __y; 2441: return (unsigned int)__x >= (unsigned int)__y; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> 2441: { 2441: constexpr bool 2441: operator()(_Tp* __x, _Tp* __y) const noexcept 2441: { 2441: if (__builtin_constant_p (__x <= __y)) 2441: return __x <= __y; 2441: return (unsigned int)__x <= (unsigned int)__y; 2441: } 2441: }; 2441: 2441: 2441: 2441: template<> 2441: struct equal_to 2441: { 2441: template 2441: constexpr auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct not_equal_to 2441: { 2441: template 2441: constexpr auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct greater 2441: { 2441: template 2441: constexpr auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u)) 2441: { 2441: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 2441: __ptr_cmp<_Tp, _Up>{}); 2441: } 2441: 2441: template 2441: constexpr bool 2441: operator()(_Tp* __t, _Up* __u) const noexcept 2441: { return greater>{}(__t, __u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: 2441: private: 2441: template 2441: static constexpr decltype(auto) 2441: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 2441: { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); } 2441: 2441: template 2441: static constexpr bool 2441: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 2441: { 2441: return greater{}( 2441: static_cast(std::forward<_Tp>(__t)), 2441: static_cast(std::forward<_Up>(__u))); 2441: } 2441: 2441: 2441: template 2441: struct __not_overloaded2 : true_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded2<_Tp, _Up, __void_t< 2441: decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 2441: 2441: 2441: template 2441: struct __not_overloaded<_Tp, _Up, __void_t< 2441: decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: template 2441: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 2441: is_convertible<_Tp, const volatile void*>, 2441: is_convertible<_Up, const volatile void*>>; 2441: }; 2441: 2441: 2441: template<> 2441: struct less 2441: { 2441: template 2441: constexpr auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u)) 2441: { 2441: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 2441: __ptr_cmp<_Tp, _Up>{}); 2441: } 2441: 2441: template 2441: constexpr bool 2441: operator()(_Tp* __t, _Up* __u) const noexcept 2441: { return less>{}(__t, __u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: 2441: private: 2441: template 2441: static constexpr decltype(auto) 2441: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 2441: { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); } 2441: 2441: template 2441: static constexpr bool 2441: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 2441: { 2441: return less{}( 2441: static_cast(std::forward<_Tp>(__t)), 2441: static_cast(std::forward<_Up>(__u))); 2441: } 2441: 2441: 2441: template 2441: struct __not_overloaded2 : true_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded2<_Tp, _Up, __void_t< 2441: decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 2441: 2441: 2441: template 2441: struct __not_overloaded<_Tp, _Up, __void_t< 2441: decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: template 2441: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 2441: is_convertible<_Tp, const volatile void*>, 2441: is_convertible<_Up, const volatile void*>>; 2441: }; 2441: 2441: 2441: template<> 2441: struct greater_equal 2441: { 2441: template 2441: constexpr auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)) 2441: { 2441: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 2441: __ptr_cmp<_Tp, _Up>{}); 2441: } 2441: 2441: template 2441: constexpr bool 2441: operator()(_Tp* __t, _Up* __u) const noexcept 2441: { return greater_equal>{}(__t, __u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: 2441: private: 2441: template 2441: static constexpr decltype(auto) 2441: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 2441: { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); } 2441: 2441: template 2441: static constexpr bool 2441: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 2441: { 2441: return greater_equal{}( 2441: static_cast(std::forward<_Tp>(__t)), 2441: static_cast(std::forward<_Up>(__u))); 2441: } 2441: 2441: 2441: template 2441: struct __not_overloaded2 : true_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded2<_Tp, _Up, __void_t< 2441: decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 2441: 2441: 2441: template 2441: struct __not_overloaded<_Tp, _Up, __void_t< 2441: decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: template 2441: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 2441: is_convertible<_Tp, const volatile void*>, 2441: is_convertible<_Up, const volatile void*>>; 2441: }; 2441: 2441: 2441: template<> 2441: struct less_equal 2441: { 2441: template 2441: constexpr auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)) 2441: { 2441: return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), 2441: __ptr_cmp<_Tp, _Up>{}); 2441: } 2441: 2441: template 2441: constexpr bool 2441: operator()(_Tp* __t, _Up* __u) const noexcept 2441: { return less_equal>{}(__t, __u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: 2441: private: 2441: template 2441: static constexpr decltype(auto) 2441: _S_cmp(_Tp&& __t, _Up&& __u, false_type) 2441: { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); } 2441: 2441: template 2441: static constexpr bool 2441: _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept 2441: { 2441: return less_equal{}( 2441: static_cast(std::forward<_Tp>(__t)), 2441: static_cast(std::forward<_Up>(__u))); 2441: } 2441: 2441: 2441: template 2441: struct __not_overloaded2 : true_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded2<_Tp, _Up, __void_t< 2441: decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: 2441: template 2441: struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; 2441: 2441: 2441: template 2441: struct __not_overloaded<_Tp, _Up, __void_t< 2441: decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>> 2441: : false_type { }; 2441: 2441: template 2441: using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, 2441: is_convertible<_Tp, const volatile void*>, 2441: is_convertible<_Up, const volatile void*>>; 2441: }; 2441: # 750 "/usr/include/c++/8/bits/stl_function.h" 3 2441: template 2441: struct logical_and; 2441: 2441: template 2441: struct logical_or; 2441: 2441: template 2441: struct logical_not; 2441: 2441: 2441: 2441: template 2441: struct logical_and : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x && __y; } 2441: }; 2441: 2441: 2441: template 2441: struct logical_or : public binary_function<_Tp, _Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x || __y; } 2441: }; 2441: 2441: 2441: template 2441: struct logical_not : public unary_function<_Tp, bool> 2441: { 2441: constexpr 2441: bool 2441: operator()(const _Tp& __x) const 2441: { return !__x; } 2441: }; 2441: 2441: 2441: 2441: template<> 2441: struct logical_and 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct logical_or 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: template<> 2441: struct logical_not 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t) const 2441: noexcept(noexcept(!std::forward<_Tp>(__t))) 2441: -> decltype(!std::forward<_Tp>(__t)) 2441: { return !std::forward<_Tp>(__t); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct bit_and; 2441: 2441: template 2441: struct bit_or; 2441: 2441: template 2441: struct bit_xor; 2441: 2441: template 2441: struct bit_not; 2441: 2441: 2441: 2441: 2441: template 2441: struct bit_and : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x & __y; } 2441: }; 2441: 2441: template 2441: struct bit_or : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x | __y; } 2441: }; 2441: 2441: template 2441: struct bit_xor : public binary_function<_Tp, _Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x, const _Tp& __y) const 2441: { return __x ^ __y; } 2441: }; 2441: 2441: template 2441: struct bit_not : public unary_function<_Tp, _Tp> 2441: { 2441: constexpr 2441: _Tp 2441: operator()(const _Tp& __x) const 2441: { return ~__x; } 2441: }; 2441: 2441: 2441: template <> 2441: struct bit_and 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: template <> 2441: struct bit_or 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: template <> 2441: struct bit_xor 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t, _Up&& __u) const 2441: noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))) 2441: -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)) 2441: { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: 2441: template <> 2441: struct bit_not 2441: { 2441: template 2441: constexpr 2441: auto 2441: operator()(_Tp&& __t) const 2441: noexcept(noexcept(~std::forward<_Tp>(__t))) 2441: -> decltype(~std::forward<_Tp>(__t)) 2441: { return ~std::forward<_Tp>(__t); } 2441: 2441: typedef __is_transparent is_transparent; 2441: }; 2441: # 978 "/usr/include/c++/8/bits/stl_function.h" 3 2441: template 2441: class unary_negate 2441: : public unary_function 2441: { 2441: protected: 2441: _Predicate _M_pred; 2441: 2441: public: 2441: constexpr 2441: explicit 2441: unary_negate(const _Predicate& __x) : _M_pred(__x) { } 2441: 2441: constexpr 2441: bool 2441: operator()(const typename _Predicate::argument_type& __x) const 2441: { return !_M_pred(__x); } 2441: }; 2441: 2441: 2441: template 2441: constexpr 2441: inline unary_negate<_Predicate> 2441: not1(const _Predicate& __pred) 2441: { return unary_negate<_Predicate>(__pred); } 2441: 2441: 2441: template 2441: class binary_negate 2441: : public binary_function 2441: { 2441: protected: 2441: _Predicate _M_pred; 2441: 2441: public: 2441: constexpr 2441: explicit 2441: binary_negate(const _Predicate& __x) : _M_pred(__x) { } 2441: 2441: constexpr 2441: bool 2441: operator()(const typename _Predicate::first_argument_type& __x, 2441: const typename _Predicate::second_argument_type& __y) const 2441: { return !_M_pred(__x, __y); } 2441: }; 2441: 2441: 2441: template 2441: constexpr 2441: inline binary_negate<_Predicate> 2441: not2(const _Predicate& __pred) 2441: { return binary_negate<_Predicate>(__pred); } 2441: # 1055 "/usr/include/c++/8/bits/stl_function.h" 3 2441: template 2441: class pointer_to_unary_function : public unary_function<_Arg, _Result> 2441: { 2441: protected: 2441: _Result (*_M_ptr)(_Arg); 2441: 2441: public: 2441: pointer_to_unary_function() { } 2441: 2441: explicit 2441: pointer_to_unary_function(_Result (*__x)(_Arg)) 2441: : _M_ptr(__x) { } 2441: 2441: _Result 2441: operator()(_Arg __x) const 2441: { return _M_ptr(__x); } 2441: }; 2441: 2441: 2441: template 2441: inline pointer_to_unary_function<_Arg, _Result> 2441: ptr_fun(_Result (*__x)(_Arg)) 2441: { return pointer_to_unary_function<_Arg, _Result>(__x); } 2441: 2441: 2441: template 2441: class pointer_to_binary_function 2441: : public binary_function<_Arg1, _Arg2, _Result> 2441: { 2441: protected: 2441: _Result (*_M_ptr)(_Arg1, _Arg2); 2441: 2441: public: 2441: pointer_to_binary_function() { } 2441: 2441: explicit 2441: pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) 2441: : _M_ptr(__x) { } 2441: 2441: _Result 2441: operator()(_Arg1 __x, _Arg2 __y) const 2441: { return _M_ptr(__x, __y); } 2441: }; 2441: 2441: 2441: template 2441: inline pointer_to_binary_function<_Arg1, _Arg2, _Result> 2441: ptr_fun(_Result (*__x)(_Arg1, _Arg2)) 2441: { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } 2441: 2441: 2441: template 2441: struct _Identity 2441: : public unary_function<_Tp, _Tp> 2441: { 2441: _Tp& 2441: operator()(_Tp& __x) const 2441: { return __x; } 2441: 2441: const _Tp& 2441: operator()(const _Tp& __x) const 2441: { return __x; } 2441: }; 2441: 2441: 2441: template struct _Identity : _Identity<_Tp> { }; 2441: 2441: template 2441: struct _Select1st 2441: : public unary_function<_Pair, typename _Pair::first_type> 2441: { 2441: typename _Pair::first_type& 2441: operator()(_Pair& __x) const 2441: { return __x.first; } 2441: 2441: const typename _Pair::first_type& 2441: operator()(const _Pair& __x) const 2441: { return __x.first; } 2441: 2441: 2441: template 2441: typename _Pair2::first_type& 2441: operator()(_Pair2& __x) const 2441: { return __x.first; } 2441: 2441: template 2441: const typename _Pair2::first_type& 2441: operator()(const _Pair2& __x) const 2441: { return __x.first; } 2441: 2441: }; 2441: 2441: template 2441: struct _Select2nd 2441: : public unary_function<_Pair, typename _Pair::second_type> 2441: { 2441: typename _Pair::second_type& 2441: operator()(_Pair& __x) const 2441: { return __x.second; } 2441: 2441: const typename _Pair::second_type& 2441: operator()(const _Pair& __x) const 2441: { return __x.second; } 2441: }; 2441: # 1178 "/usr/include/c++/8/bits/stl_function.h" 3 2441: template 2441: class mem_fun_t : public unary_function<_Tp*, _Ret> 2441: { 2441: public: 2441: explicit 2441: mem_fun_t(_Ret (_Tp::*__pf)()) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(_Tp* __p) const 2441: { return (__p->*_M_f)(); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)(); 2441: }; 2441: 2441: 2441: 2441: template 2441: class const_mem_fun_t : public unary_function 2441: { 2441: public: 2441: explicit 2441: const_mem_fun_t(_Ret (_Tp::*__pf)() const) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(const _Tp* __p) const 2441: { return (__p->*_M_f)(); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)() const; 2441: }; 2441: 2441: 2441: 2441: template 2441: class mem_fun_ref_t : public unary_function<_Tp, _Ret> 2441: { 2441: public: 2441: explicit 2441: mem_fun_ref_t(_Ret (_Tp::*__pf)()) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(_Tp& __r) const 2441: { return (__r.*_M_f)(); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)(); 2441: }; 2441: 2441: 2441: 2441: template 2441: class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> 2441: { 2441: public: 2441: explicit 2441: const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(const _Tp& __r) const 2441: { return (__r.*_M_f)(); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)() const; 2441: }; 2441: 2441: 2441: 2441: template 2441: class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> 2441: { 2441: public: 2441: explicit 2441: mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(_Tp* __p, _Arg __x) const 2441: { return (__p->*_M_f)(__x); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)(_Arg); 2441: }; 2441: 2441: 2441: 2441: template 2441: class const_mem_fun1_t : public binary_function 2441: { 2441: public: 2441: explicit 2441: const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(const _Tp* __p, _Arg __x) const 2441: { return (__p->*_M_f)(__x); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)(_Arg) const; 2441: }; 2441: 2441: 2441: 2441: template 2441: class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 2441: { 2441: public: 2441: explicit 2441: mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(_Tp& __r, _Arg __x) const 2441: { return (__r.*_M_f)(__x); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)(_Arg); 2441: }; 2441: 2441: 2441: 2441: template 2441: class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 2441: { 2441: public: 2441: explicit 2441: const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) 2441: : _M_f(__pf) { } 2441: 2441: _Ret 2441: operator()(const _Tp& __r, _Arg __x) const 2441: { return (__r.*_M_f)(__x); } 2441: 2441: private: 2441: _Ret (_Tp::*_M_f)(_Arg) const; 2441: }; 2441: 2441: 2441: 2441: template 2441: inline mem_fun_t<_Ret, _Tp> 2441: mem_fun(_Ret (_Tp::*__f)()) 2441: { return mem_fun_t<_Ret, _Tp>(__f); } 2441: 2441: template 2441: inline const_mem_fun_t<_Ret, _Tp> 2441: mem_fun(_Ret (_Tp::*__f)() const) 2441: { return const_mem_fun_t<_Ret, _Tp>(__f); } 2441: 2441: template 2441: inline mem_fun_ref_t<_Ret, _Tp> 2441: mem_fun_ref(_Ret (_Tp::*__f)()) 2441: { return mem_fun_ref_t<_Ret, _Tp>(__f); } 2441: 2441: template 2441: inline const_mem_fun_ref_t<_Ret, _Tp> 2441: mem_fun_ref(_Ret (_Tp::*__f)() const) 2441: { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } 2441: 2441: template 2441: inline mem_fun1_t<_Ret, _Tp, _Arg> 2441: mem_fun(_Ret (_Tp::*__f)(_Arg)) 2441: { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 2441: 2441: template 2441: inline const_mem_fun1_t<_Ret, _Tp, _Arg> 2441: mem_fun(_Ret (_Tp::*__f)(_Arg) const) 2441: { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 2441: 2441: template 2441: inline mem_fun1_ref_t<_Ret, _Tp, _Arg> 2441: mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) 2441: { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 2441: 2441: template 2441: inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> 2441: mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) 2441: { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 2441: 2441: 2441: 2441: 2441: } 2441: 2441: 2441: # 1 "/usr/include/c++/8/backward/binders.h" 1 3 2441: # 60 "/usr/include/c++/8/backward/binders.h" 3 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 107 "/usr/include/c++/8/backward/binders.h" 3 2441: template 2441: class binder1st 2441: : public unary_function 2441: { 2441: protected: 2441: _Operation op; 2441: typename _Operation::first_argument_type value; 2441: 2441: public: 2441: binder1st(const _Operation& __x, 2441: const typename _Operation::first_argument_type& __y) 2441: : op(__x), value(__y) { } 2441: 2441: typename _Operation::result_type 2441: operator()(const typename _Operation::second_argument_type& __x) const 2441: { return op(value, __x); } 2441: 2441: 2441: 2441: typename _Operation::result_type 2441: operator()(typename _Operation::second_argument_type& __x) const 2441: { return op(value, __x); } 2441: } __attribute__ ((__deprecated__)); 2441: 2441: 2441: template 2441: inline binder1st<_Operation> 2441: bind1st(const _Operation& __fn, const _Tp& __x) 2441: { 2441: typedef typename _Operation::first_argument_type _Arg1_type; 2441: return binder1st<_Operation>(__fn, _Arg1_type(__x)); 2441: } 2441: 2441: 2441: template 2441: class binder2nd 2441: : public unary_function 2441: { 2441: protected: 2441: _Operation op; 2441: typename _Operation::second_argument_type value; 2441: 2441: public: 2441: binder2nd(const _Operation& __x, 2441: const typename _Operation::second_argument_type& __y) 2441: : op(__x), value(__y) { } 2441: 2441: typename _Operation::result_type 2441: operator()(const typename _Operation::first_argument_type& __x) const 2441: { return op(__x, value); } 2441: 2441: 2441: 2441: typename _Operation::result_type 2441: operator()(typename _Operation::first_argument_type& __x) const 2441: { return op(__x, value); } 2441: } __attribute__ ((__deprecated__)); 2441: 2441: 2441: template 2441: inline binder2nd<_Operation> 2441: bind2nd(const _Operation& __fn, const _Tp& __x) 2441: { 2441: typedef typename _Operation::second_argument_type _Arg2_type; 2441: return binder2nd<_Operation>(__fn, _Arg2_type(__x)); 2441: } 2441: 2441: 2441: 2441: } 2441: 2441: #pragma GCC diagnostic pop 2441: # 1369 "/usr/include/c++/8/bits/stl_function.h" 2 3 2441: # 49 "/usr/include/c++/8/string" 2 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/range_access.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/range_access.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/range_access.h" 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: begin(_Container& __cont) -> decltype(__cont.begin()) 2441: { return __cont.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: begin(const _Container& __cont) -> decltype(__cont.begin()) 2441: { return __cont.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: end(_Container& __cont) -> decltype(__cont.end()) 2441: { return __cont.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: end(const _Container& __cont) -> decltype(__cont.end()) 2441: { return __cont.end(); } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline constexpr _Tp* 2441: begin(_Tp (&__arr)[_Nm]) 2441: { return __arr; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline constexpr _Tp* 2441: end(_Tp (&__arr)[_Nm]) 2441: { return __arr + _Nm; } 2441: 2441: 2441: 2441: template class valarray; 2441: 2441: template _Tp* begin(valarray<_Tp>&); 2441: template const _Tp* begin(const valarray<_Tp>&); 2441: template _Tp* end(valarray<_Tp>&); 2441: template const _Tp* end(const valarray<_Tp>&); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline constexpr auto 2441: cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) 2441: -> decltype(std::begin(__cont)) 2441: { return std::begin(__cont); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline constexpr auto 2441: cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) 2441: -> decltype(std::end(__cont)) 2441: { return std::end(__cont); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: rbegin(_Container& __cont) -> decltype(__cont.rbegin()) 2441: { return __cont.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) 2441: { return __cont.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: rend(_Container& __cont) -> decltype(__cont.rend()) 2441: { return __cont.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: rend(const _Container& __cont) -> decltype(__cont.rend()) 2441: { return __cont.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline reverse_iterator<_Tp*> 2441: rbegin(_Tp (&__arr)[_Nm]) 2441: { return reverse_iterator<_Tp*>(__arr + _Nm); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline reverse_iterator<_Tp*> 2441: rend(_Tp (&__arr)[_Nm]) 2441: { return reverse_iterator<_Tp*>(__arr); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline reverse_iterator 2441: rbegin(initializer_list<_Tp> __il) 2441: { return reverse_iterator(__il.end()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline reverse_iterator 2441: rend(initializer_list<_Tp> __il) 2441: { return reverse_iterator(__il.begin()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) 2441: { return std::rbegin(__cont); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline auto 2441: crend(const _Container& __cont) -> decltype(std::rend(__cont)) 2441: { return std::rend(__cont); } 2441: # 323 "/usr/include/c++/8/bits/range_access.h" 3 2441: 2441: } 2441: # 52 "/usr/include/c++/8/string" 2 3 2441: # 1 "/usr/include/c++/8/bits/basic_string.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/basic_string.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/basic_string.h" 3 2441: 2441: # 1 "/usr/include/c++/8/ext/atomicity.h" 1 3 2441: # 32 "/usr/include/c++/8/ext/atomicity.h" 3 2441: 2441: # 33 "/usr/include/c++/8/ext/atomicity.h" 3 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/gthr.h" 1 3 2441: # 30 "/usr/include/i386-linux-gnu/c++/8/bits/gthr.h" 3 2441: #pragma GCC visibility push(default) 2441: # 148 "/usr/include/i386-linux-gnu/c++/8/bits/gthr.h" 3 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 1 3 2441: # 35 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: # 1 "/usr/include/pthread.h" 1 3 4 2441: # 23 "/usr/include/pthread.h" 3 4 2441: # 1 "/usr/include/sched.h" 1 3 4 2441: # 29 "/usr/include/sched.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 30 "/usr/include/sched.h" 2 3 4 2441: # 43 "/usr/include/sched.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/sched.h" 1 3 4 2441: # 74 "/usr/include/i386-linux-gnu/bits/sched.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/struct_sched_param.h" 1 3 4 2441: # 23 "/usr/include/i386-linux-gnu/bits/types/struct_sched_param.h" 3 4 2441: struct sched_param 2441: { 2441: int sched_priority; 2441: }; 2441: # 75 "/usr/include/i386-linux-gnu/bits/sched.h" 2 3 4 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: extern int clone (int (*__fn) (void *__arg), void *__child_stack, 2441: int __flags, void *__arg, ...) throw (); 2441: 2441: 2441: extern int unshare (int __flags) throw (); 2441: 2441: 2441: extern int sched_getcpu (void) throw (); 2441: 2441: 2441: extern int setns (int __fd, int __nstype) throw (); 2441: 2441: 2441: } 2441: # 44 "/usr/include/sched.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/cpu-set.h" 1 3 4 2441: # 32 "/usr/include/i386-linux-gnu/bits/cpu-set.h" 3 4 2441: typedef unsigned long int __cpu_mask; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef struct 2441: { 2441: __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; 2441: } cpu_set_t; 2441: # 115 "/usr/include/i386-linux-gnu/bits/cpu-set.h" 3 4 2441: extern "C" { 2441: 2441: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) 2441: throw (); 2441: extern cpu_set_t *__sched_cpualloc (size_t __count) throw () __attribute__ ((__warn_unused_result__)); 2441: extern void __sched_cpufree (cpu_set_t *__set) throw (); 2441: 2441: } 2441: # 45 "/usr/include/sched.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C" { 2441: 2441: 2441: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) 2441: throw (); 2441: 2441: 2441: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); 2441: 2441: 2441: extern int sched_setscheduler (__pid_t __pid, int __policy, 2441: const struct sched_param *__param) throw (); 2441: 2441: 2441: extern int sched_getscheduler (__pid_t __pid) throw (); 2441: 2441: 2441: extern int sched_yield (void) throw (); 2441: 2441: 2441: extern int sched_get_priority_max (int __algorithm) throw (); 2441: 2441: 2441: extern int sched_get_priority_min (int __algorithm) throw (); 2441: 2441: 2441: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); 2441: # 121 "/usr/include/sched.h" 3 4 2441: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, 2441: const cpu_set_t *__cpuset) throw (); 2441: 2441: 2441: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, 2441: cpu_set_t *__cpuset) throw (); 2441: 2441: 2441: } 2441: # 24 "/usr/include/pthread.h" 2 3 4 2441: # 1 "/usr/include/time.h" 1 3 4 2441: # 29 "/usr/include/time.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 30 "/usr/include/time.h" 2 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/time.h" 1 3 4 2441: # 73 "/usr/include/i386-linux-gnu/bits/time.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/timex.h" 1 3 4 2441: # 26 "/usr/include/i386-linux-gnu/bits/timex.h" 3 4 2441: struct timex 2441: { 2441: unsigned int modes; 2441: __syscall_slong_t offset; 2441: __syscall_slong_t freq; 2441: __syscall_slong_t maxerror; 2441: __syscall_slong_t esterror; 2441: int status; 2441: __syscall_slong_t constant; 2441: __syscall_slong_t precision; 2441: __syscall_slong_t tolerance; 2441: struct timeval time; 2441: __syscall_slong_t tick; 2441: __syscall_slong_t ppsfreq; 2441: __syscall_slong_t jitter; 2441: int shift; 2441: __syscall_slong_t stabil; 2441: __syscall_slong_t jitcnt; 2441: __syscall_slong_t calcnt; 2441: __syscall_slong_t errcnt; 2441: __syscall_slong_t stbcnt; 2441: 2441: int tai; 2441: 2441: 2441: int :32; int :32; int :32; int :32; 2441: int :32; int :32; int :32; int :32; 2441: int :32; int :32; int :32; 2441: }; 2441: # 74 "/usr/include/i386-linux-gnu/bits/time.h" 2 3 4 2441: 2441: extern "C" { 2441: 2441: 2441: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw (); 2441: 2441: } 2441: # 34 "/usr/include/time.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/struct_tm.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct tm 2441: { 2441: int tm_sec; 2441: int tm_min; 2441: int tm_hour; 2441: int tm_mday; 2441: int tm_mon; 2441: int tm_year; 2441: int tm_wday; 2441: int tm_yday; 2441: int tm_isdst; 2441: 2441: 2441: long int tm_gmtoff; 2441: const char *tm_zone; 2441: 2441: 2441: 2441: 2441: }; 2441: # 40 "/usr/include/time.h" 2 3 4 2441: # 48 "/usr/include/time.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/struct_itimerspec.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct itimerspec 2441: { 2441: struct timespec it_interval; 2441: struct timespec it_value; 2441: }; 2441: # 49 "/usr/include/time.h" 2 3 4 2441: struct sigevent; 2441: # 68 "/usr/include/time.h" 3 4 2441: extern "C" { 2441: 2441: 2441: 2441: extern clock_t clock (void) throw (); 2441: 2441: 2441: extern time_t time (time_t *__timer) throw (); 2441: 2441: 2441: extern double difftime (time_t __time1, time_t __time0) 2441: throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern time_t mktime (struct tm *__tp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern size_t strftime (char *__restrict __s, size_t __maxsize, 2441: const char *__restrict __format, 2441: const struct tm *__restrict __tp) throw (); 2441: 2441: 2441: 2441: 2441: extern char *strptime (const char *__restrict __s, 2441: const char *__restrict __fmt, struct tm *__tp) 2441: throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern size_t strftime_l (char *__restrict __s, size_t __maxsize, 2441: const char *__restrict __format, 2441: const struct tm *__restrict __tp, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: extern char *strptime_l (const char *__restrict __s, 2441: const char *__restrict __fmt, struct tm *__tp, 2441: locale_t __loc) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern struct tm *gmtime (const time_t *__timer) throw (); 2441: 2441: 2441: 2441: extern struct tm *localtime (const time_t *__timer) throw (); 2441: 2441: 2441: 2441: 2441: extern struct tm *gmtime_r (const time_t *__restrict __timer, 2441: struct tm *__restrict __tp) throw (); 2441: 2441: 2441: 2441: extern struct tm *localtime_r (const time_t *__restrict __timer, 2441: struct tm *__restrict __tp) throw (); 2441: 2441: 2441: 2441: 2441: extern char *asctime (const struct tm *__tp) throw (); 2441: 2441: 2441: extern char *ctime (const time_t *__timer) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern char *asctime_r (const struct tm *__restrict __tp, 2441: char *__restrict __buf) throw (); 2441: 2441: 2441: extern char *ctime_r (const time_t *__restrict __timer, 2441: char *__restrict __buf) throw (); 2441: 2441: 2441: 2441: 2441: extern char *__tzname[2]; 2441: extern int __daylight; 2441: extern long int __timezone; 2441: 2441: 2441: 2441: 2441: extern char *tzname[2]; 2441: 2441: 2441: 2441: extern void tzset (void) throw (); 2441: 2441: 2441: 2441: extern int daylight; 2441: extern long int timezone; 2441: 2441: 2441: 2441: 2441: 2441: extern int stime (const time_t *__when) throw (); 2441: # 196 "/usr/include/time.h" 3 4 2441: extern time_t timegm (struct tm *__tp) throw (); 2441: 2441: 2441: extern time_t timelocal (struct tm *__tp) throw (); 2441: 2441: 2441: extern int dysize (int __year) throw () __attribute__ ((__const__)); 2441: # 211 "/usr/include/time.h" 3 4 2441: extern int nanosleep (const struct timespec *__requested_time, 2441: struct timespec *__remaining); 2441: 2441: 2441: 2441: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); 2441: 2441: 2441: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); 2441: 2441: 2441: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) 2441: throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int clock_nanosleep (clockid_t __clock_id, int __flags, 2441: const struct timespec *__req, 2441: struct timespec *__rem); 2441: 2441: 2441: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); 2441: 2441: 2441: 2441: 2441: extern int timer_create (clockid_t __clock_id, 2441: struct sigevent *__restrict __evp, 2441: timer_t *__restrict __timerid) throw (); 2441: 2441: 2441: extern int timer_delete (timer_t __timerid) throw (); 2441: 2441: 2441: extern int timer_settime (timer_t __timerid, int __flags, 2441: const struct itimerspec *__restrict __value, 2441: struct itimerspec *__restrict __ovalue) throw (); 2441: 2441: 2441: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) 2441: throw (); 2441: 2441: 2441: extern int timer_getoverrun (timer_t __timerid) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern int timespec_get (struct timespec *__ts, int __base) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 280 "/usr/include/time.h" 3 4 2441: extern int getdate_err; 2441: # 289 "/usr/include/time.h" 3 4 2441: extern struct tm *getdate (const char *__string); 2441: # 303 "/usr/include/time.h" 3 4 2441: extern int getdate_r (const char *__restrict __string, 2441: struct tm *__restrict __resbufp); 2441: 2441: 2441: } 2441: # 25 "/usr/include/pthread.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/setjmp.h" 1 3 4 2441: # 26 "/usr/include/i386-linux-gnu/bits/setjmp.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/setjmp.h" 2 3 4 2441: # 35 "/usr/include/i386-linux-gnu/bits/setjmp.h" 3 4 2441: typedef int __jmp_buf[6]; 2441: # 28 "/usr/include/pthread.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 29 "/usr/include/pthread.h" 2 3 4 2441: 2441: 2441: 2441: 2441: enum 2441: { 2441: PTHREAD_CREATE_JOINABLE, 2441: 2441: PTHREAD_CREATE_DETACHED 2441: 2441: }; 2441: 2441: 2441: 2441: enum 2441: { 2441: PTHREAD_MUTEX_TIMED_NP, 2441: PTHREAD_MUTEX_RECURSIVE_NP, 2441: PTHREAD_MUTEX_ERRORCHECK_NP, 2441: PTHREAD_MUTEX_ADAPTIVE_NP 2441: 2441: , 2441: PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, 2441: PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, 2441: PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, 2441: PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL 2441: 2441: 2441: 2441: , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: enum 2441: { 2441: PTHREAD_MUTEX_STALLED, 2441: PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, 2441: PTHREAD_MUTEX_ROBUST, 2441: PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: enum 2441: { 2441: PTHREAD_PRIO_NONE, 2441: PTHREAD_PRIO_INHERIT, 2441: PTHREAD_PRIO_PROTECT 2441: }; 2441: # 115 "/usr/include/pthread.h" 3 4 2441: enum 2441: { 2441: PTHREAD_RWLOCK_PREFER_READER_NP, 2441: PTHREAD_RWLOCK_PREFER_WRITER_NP, 2441: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 2441: PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP 2441: }; 2441: # 156 "/usr/include/pthread.h" 3 4 2441: enum 2441: { 2441: PTHREAD_INHERIT_SCHED, 2441: 2441: PTHREAD_EXPLICIT_SCHED 2441: 2441: }; 2441: 2441: 2441: 2441: enum 2441: { 2441: PTHREAD_SCOPE_SYSTEM, 2441: 2441: PTHREAD_SCOPE_PROCESS 2441: 2441: }; 2441: 2441: 2441: 2441: enum 2441: { 2441: PTHREAD_PROCESS_PRIVATE, 2441: 2441: PTHREAD_PROCESS_SHARED 2441: 2441: }; 2441: # 191 "/usr/include/pthread.h" 3 4 2441: struct _pthread_cleanup_buffer 2441: { 2441: void (*__routine) (void *); 2441: void *__arg; 2441: int __canceltype; 2441: struct _pthread_cleanup_buffer *__prev; 2441: }; 2441: 2441: 2441: enum 2441: { 2441: PTHREAD_CANCEL_ENABLE, 2441: 2441: PTHREAD_CANCEL_DISABLE 2441: 2441: }; 2441: enum 2441: { 2441: PTHREAD_CANCEL_DEFERRED, 2441: 2441: PTHREAD_CANCEL_ASYNCHRONOUS 2441: 2441: }; 2441: # 229 "/usr/include/pthread.h" 3 4 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: extern int pthread_create (pthread_t *__restrict __newthread, 2441: const pthread_attr_t *__restrict __attr, 2441: void *(*__start_routine) (void *), 2441: void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: 2441: 2441: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_join (pthread_t __th, void **__thread_return); 2441: 2441: 2441: 2441: 2441: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, 2441: const struct timespec *__abstime); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_detach (pthread_t __th) throw (); 2441: 2441: 2441: 2441: extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) 2441: throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_attr_destroy (pthread_attr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, 2441: int *__detachstate) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, 2441: int __detachstate) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, 2441: size_t *__guardsize) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_attr_setguardsize (pthread_attr_t *__attr, 2441: size_t __guardsize) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, 2441: struct sched_param *__restrict __param) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, 2441: const struct sched_param *__restrict 2441: __param) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict 2441: __attr, int *__restrict __policy) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict 2441: __attr, int *__restrict __inherit) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, 2441: int __inherit) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, 2441: int *__restrict __scope) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict 2441: __attr, void **__restrict __stackaddr) 2441: throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, 2441: void *__stackaddr) 2441: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); 2441: 2441: 2441: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict 2441: __attr, size_t *__restrict __stacksize) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: extern int pthread_attr_setstacksize (pthread_attr_t *__attr, 2441: size_t __stacksize) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, 2441: void **__restrict __stackaddr, 2441: size_t *__restrict __stacksize) 2441: throw () __attribute__ ((__nonnull__ (1, 2, 3))); 2441: 2441: 2441: 2441: 2441: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, 2441: size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, 2441: size_t __cpusetsize, 2441: const cpu_set_t *__cpuset) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, 2441: size_t __cpusetsize, 2441: cpu_set_t *__cpuset) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: extern int pthread_getattr_default_np (pthread_attr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_setattr_default_np (const pthread_attr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_setschedparam (pthread_t __target_thread, int __policy, 2441: const struct sched_param *__param) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: 2441: extern int pthread_getschedparam (pthread_t __target_thread, 2441: int *__restrict __policy, 2441: struct sched_param *__restrict __param) 2441: throw () __attribute__ ((__nonnull__ (2, 3))); 2441: 2441: 2441: extern int pthread_setschedprio (pthread_t __target_thread, int __prio) 2441: throw (); 2441: 2441: 2441: 2441: 2441: extern int pthread_getname_np (pthread_t __target_thread, char *__buf, 2441: size_t __buflen) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: extern int pthread_setname_np (pthread_t __target_thread, const char *__name) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_getconcurrency (void) throw (); 2441: 2441: 2441: extern int pthread_setconcurrency (int __level) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_yield (void) throw (); 2441: 2441: 2441: 2441: 2441: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, 2441: const cpu_set_t *__cpuset) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: 2441: 2441: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, 2441: cpu_set_t *__cpuset) 2441: throw () __attribute__ ((__nonnull__ (3))); 2441: # 495 "/usr/include/pthread.h" 3 4 2441: extern int pthread_once (pthread_once_t *__once_control, 2441: void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); 2441: # 507 "/usr/include/pthread.h" 3 4 2441: extern int pthread_setcancelstate (int __state, int *__oldstate); 2441: 2441: 2441: 2441: extern int pthread_setcanceltype (int __type, int *__oldtype); 2441: 2441: 2441: extern int pthread_cancel (pthread_t __th); 2441: 2441: 2441: 2441: 2441: extern void pthread_testcancel (void); 2441: 2441: 2441: 2441: 2441: typedef struct 2441: { 2441: struct 2441: { 2441: __jmp_buf __cancel_jmp_buf; 2441: int __mask_was_saved; 2441: } __cancel_jmp_buf[1]; 2441: void *__pad[4]; 2441: } __pthread_unwind_buf_t __attribute__ ((__aligned__)); 2441: # 541 "/usr/include/pthread.h" 3 4 2441: struct __pthread_cleanup_frame 2441: { 2441: void (*__cancel_routine) (void *); 2441: void *__cancel_arg; 2441: int __do_it; 2441: int __cancel_type; 2441: }; 2441: 2441: 2441: 2441: 2441: class __pthread_cleanup_class 2441: { 2441: void (*__cancel_routine) (void *); 2441: void *__cancel_arg; 2441: int __do_it; 2441: int __cancel_type; 2441: 2441: public: 2441: __pthread_cleanup_class (void (*__fct) (void *), void *__arg) 2441: : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } 2441: ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } 2441: void __setdoit (int __newval) { __do_it = __newval; } 2441: void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, 2441: &__cancel_type); } 2441: void __restore () const { pthread_setcanceltype (__cancel_type, 0); } 2441: }; 2441: # 743 "/usr/include/pthread.h" 3 4 2441: struct __jmp_buf_tag; 2441: extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_mutex_init (pthread_mutex_t *__mutex, 2441: const pthread_mutexattr_t *__mutexattr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_mutex_lock (pthread_mutex_t *__mutex) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, 2441: const struct timespec *__restrict 2441: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_mutex_getprioceiling (const pthread_mutex_t * 2441: __restrict __mutex, 2441: int *__restrict __prioceiling) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, 2441: int __prioceiling, 2441: int *__restrict __old_ceiling) 2441: throw () __attribute__ ((__nonnull__ (1, 3))); 2441: 2441: 2441: 2441: 2441: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 807 "/usr/include/pthread.h" 3 4 2441: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * 2441: __restrict __attr, 2441: int *__restrict __pshared) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, 2441: int __pshared) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict 2441: __attr, int *__restrict __kind) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * 2441: __restrict __attr, 2441: int *__restrict __protocol) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, 2441: int __protocol) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * 2441: __restrict __attr, 2441: int *__restrict __prioceiling) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, 2441: int __prioceiling) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, 2441: int *__robustness) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr, 2441: int *__robustness) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, 2441: int __robustness) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, 2441: int __robustness) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 889 "/usr/include/pthread.h" 3 4 2441: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, 2441: const pthread_rwlockattr_t *__restrict 2441: __attr) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, 2441: const struct timespec *__restrict 2441: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, 2441: const struct timespec *__restrict 2441: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * 2441: __restrict __attr, 2441: int *__restrict __pshared) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, 2441: int __pshared) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * 2441: __restrict __attr, 2441: int *__restrict __pref) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, 2441: int __pref) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_cond_init (pthread_cond_t *__restrict __cond, 2441: const pthread_condattr_t *__restrict __cond_attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_cond_destroy (pthread_cond_t *__cond) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_cond_signal (pthread_cond_t *__cond) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_cond_broadcast (pthread_cond_t *__cond) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, 2441: pthread_mutex_t *__restrict __mutex) 2441: __attribute__ ((__nonnull__ (1, 2))); 2441: # 1001 "/usr/include/pthread.h" 3 4 2441: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, 2441: pthread_mutex_t *__restrict __mutex, 2441: const struct timespec *__restrict __abstime) 2441: __attribute__ ((__nonnull__ (1, 2, 3))); 2441: 2441: 2441: 2441: 2441: extern int pthread_condattr_init (pthread_condattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_condattr_destroy (pthread_condattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_condattr_getpshared (const pthread_condattr_t * 2441: __restrict __attr, 2441: int *__restrict __pshared) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, 2441: int __pshared) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_condattr_getclock (const pthread_condattr_t * 2441: __restrict __attr, 2441: __clockid_t *__restrict __clock_id) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_condattr_setclock (pthread_condattr_t *__attr, 2441: __clockid_t __clock_id) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 1045 "/usr/include/pthread.h" 3 4 2441: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_spin_destroy (pthread_spinlock_t *__lock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_spin_lock (pthread_spinlock_t *__lock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_spin_trylock (pthread_spinlock_t *__lock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_spin_unlock (pthread_spinlock_t *__lock) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, 2441: const pthread_barrierattr_t *__restrict 2441: __attr, unsigned int __count) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_barrier_wait (pthread_barrier_t *__barrier) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * 2441: __restrict __attr, 2441: int *__restrict __pshared) 2441: throw () __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, 2441: int __pshared) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: # 1112 "/usr/include/pthread.h" 3 4 2441: extern int pthread_key_create (pthread_key_t *__key, 2441: void (*__destr_function) (void *)) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int pthread_key_delete (pthread_key_t __key) throw (); 2441: 2441: 2441: extern void *pthread_getspecific (pthread_key_t __key) throw (); 2441: 2441: 2441: extern int pthread_setspecific (pthread_key_t __key, 2441: const void *__pointer) throw () ; 2441: 2441: 2441: 2441: 2441: extern int pthread_getcpuclockid (pthread_t __thread_id, 2441: __clockid_t *__clock_id) 2441: throw () __attribute__ ((__nonnull__ (2))); 2441: # 1146 "/usr/include/pthread.h" 3 4 2441: extern int pthread_atfork (void (*__prepare) (void), 2441: void (*__parent) (void), 2441: void (*__child) (void)) throw (); 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () 2441: { 2441: return __thread1 == __thread2; 2441: } 2441: 2441: 2441: } 2441: # 36 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 2 3 2441: # 47 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: typedef pthread_t __gthread_t; 2441: typedef pthread_key_t __gthread_key_t; 2441: typedef pthread_once_t __gthread_once_t; 2441: typedef pthread_mutex_t __gthread_mutex_t; 2441: typedef pthread_mutex_t __gthread_recursive_mutex_t; 2441: typedef pthread_cond_t __gthread_cond_t; 2441: typedef struct timespec __gthread_time_t; 2441: # 101 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); 2441: static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); 2441: static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); 2441: 2441: static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); 2441: static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"))); 2441: static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"))); 2441: static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"))); 2441: static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"))); 2441: 2441: static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); 2441: 2441: static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"))); 2441: 2441: static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); 2441: static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); 2441: 2441: static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"))); 2441: 2441: static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); 2441: static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); 2441: static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"))); 2441: 2441: static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"))); 2441: static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); 2441: static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"))); 2441: static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); 2441: static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"))); 2441: static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"))); 2441: 2441: static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); 2441: static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); 2441: static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); 2441: static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); 2441: static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); 2441: # 236 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"))); 2441: # 246 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: static inline int 2441: __gthread_active_p (void) 2441: { 2441: static void *const __gthread_active_ptr 2441: = __extension__ (void *) &__gthrw___pthread_key_create; 2441: return __gthread_active_ptr != 0; 2441: } 2441: # 658 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: static inline int 2441: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*), 2441: void *__args) 2441: { 2441: return __gthrw_pthread_create (__threadid, __null, __func, __args); 2441: } 2441: 2441: static inline int 2441: __gthread_join (__gthread_t __threadid, void **__value_ptr) 2441: { 2441: return __gthrw_pthread_join (__threadid, __value_ptr); 2441: } 2441: 2441: static inline int 2441: __gthread_detach (__gthread_t __threadid) 2441: { 2441: return __gthrw_pthread_detach (__threadid); 2441: } 2441: 2441: static inline int 2441: __gthread_equal (__gthread_t __t1, __gthread_t __t2) 2441: { 2441: return __gthrw_pthread_equal (__t1, __t2); 2441: } 2441: 2441: static inline __gthread_t 2441: __gthread_self (void) 2441: { 2441: return __gthrw_pthread_self (); 2441: } 2441: 2441: static inline int 2441: __gthread_yield (void) 2441: { 2441: return __gthrw_sched_yield (); 2441: } 2441: 2441: static inline int 2441: __gthread_once (__gthread_once_t *__once, void (*__func) (void)) 2441: { 2441: if (__gthread_active_p ()) 2441: return __gthrw_pthread_once (__once, __func); 2441: else 2441: return -1; 2441: } 2441: 2441: static inline int 2441: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) 2441: { 2441: return __gthrw_pthread_key_create (__key, __dtor); 2441: } 2441: 2441: static inline int 2441: __gthread_key_delete (__gthread_key_t __key) 2441: { 2441: return __gthrw_pthread_key_delete (__key); 2441: } 2441: 2441: static inline void * 2441: __gthread_getspecific (__gthread_key_t __key) 2441: { 2441: return __gthrw_pthread_getspecific (__key); 2441: } 2441: 2441: static inline int 2441: __gthread_setspecific (__gthread_key_t __key, const void *__ptr) 2441: { 2441: return __gthrw_pthread_setspecific (__key, __ptr); 2441: } 2441: 2441: static inline void 2441: __gthread_mutex_init_function (__gthread_mutex_t *__mutex) 2441: { 2441: if (__gthread_active_p ()) 2441: __gthrw_pthread_mutex_init (__mutex, __null); 2441: } 2441: 2441: static inline int 2441: __gthread_mutex_destroy (__gthread_mutex_t *__mutex) 2441: { 2441: if (__gthread_active_p ()) 2441: return __gthrw_pthread_mutex_destroy (__mutex); 2441: else 2441: return 0; 2441: } 2441: 2441: static inline int 2441: __gthread_mutex_lock (__gthread_mutex_t *__mutex) 2441: { 2441: if (__gthread_active_p ()) 2441: return __gthrw_pthread_mutex_lock (__mutex); 2441: else 2441: return 0; 2441: } 2441: 2441: static inline int 2441: __gthread_mutex_trylock (__gthread_mutex_t *__mutex) 2441: { 2441: if (__gthread_active_p ()) 2441: return __gthrw_pthread_mutex_trylock (__mutex); 2441: else 2441: return 0; 2441: } 2441: 2441: 2441: static inline int 2441: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex, 2441: const __gthread_time_t *__abs_timeout) 2441: { 2441: if (__gthread_active_p ()) 2441: return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); 2441: else 2441: return 0; 2441: } 2441: 2441: 2441: static inline int 2441: __gthread_mutex_unlock (__gthread_mutex_t *__mutex) 2441: { 2441: if (__gthread_active_p ()) 2441: return __gthrw_pthread_mutex_unlock (__mutex); 2441: else 2441: return 0; 2441: } 2441: # 807 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: static inline int 2441: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) 2441: { 2441: return __gthread_mutex_lock (__mutex); 2441: } 2441: 2441: static inline int 2441: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) 2441: { 2441: return __gthread_mutex_trylock (__mutex); 2441: } 2441: 2441: 2441: static inline int 2441: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, 2441: const __gthread_time_t *__abs_timeout) 2441: { 2441: return __gthread_mutex_timedlock (__mutex, __abs_timeout); 2441: } 2441: 2441: 2441: static inline int 2441: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) 2441: { 2441: return __gthread_mutex_unlock (__mutex); 2441: } 2441: 2441: static inline int 2441: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) 2441: { 2441: return __gthread_mutex_destroy (__mutex); 2441: } 2441: # 849 "/usr/include/i386-linux-gnu/c++/8/bits/gthr-default.h" 3 2441: static inline int 2441: __gthread_cond_broadcast (__gthread_cond_t *__cond) 2441: { 2441: return __gthrw_pthread_cond_broadcast (__cond); 2441: } 2441: 2441: static inline int 2441: __gthread_cond_signal (__gthread_cond_t *__cond) 2441: { 2441: return __gthrw_pthread_cond_signal (__cond); 2441: } 2441: 2441: static inline int 2441: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) 2441: { 2441: return __gthrw_pthread_cond_wait (__cond, __mutex); 2441: } 2441: 2441: static inline int 2441: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, 2441: const __gthread_time_t *__abs_timeout) 2441: { 2441: return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); 2441: } 2441: 2441: static inline int 2441: __gthread_cond_wait_recursive (__gthread_cond_t *__cond, 2441: __gthread_recursive_mutex_t *__mutex) 2441: { 2441: return __gthread_cond_wait (__cond, __mutex); 2441: } 2441: 2441: static inline int 2441: __gthread_cond_destroy (__gthread_cond_t* __cond) 2441: { 2441: return __gthrw_pthread_cond_destroy (__cond); 2441: } 2441: # 149 "/usr/include/i386-linux-gnu/c++/8/bits/gthr.h" 2 3 2441: 2441: 2441: #pragma GCC visibility pop 2441: # 36 "/usr/include/c++/8/ext/atomicity.h" 2 3 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/atomic_word.h" 1 3 2441: # 32 "/usr/include/i386-linux-gnu/c++/8/bits/atomic_word.h" 3 2441: typedef int _Atomic_word; 2441: # 37 "/usr/include/c++/8/ext/atomicity.h" 2 3 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static inline _Atomic_word 2441: __exchange_and_add(volatile _Atomic_word* __mem, int __val) 2441: { return __atomic_fetch_add(__mem, __val, 4); } 2441: 2441: static inline void 2441: __atomic_add(volatile _Atomic_word* __mem, int __val) 2441: { __atomic_fetch_add(__mem, __val, 4); } 2441: # 64 "/usr/include/c++/8/ext/atomicity.h" 3 2441: static inline _Atomic_word 2441: __exchange_and_add_single(_Atomic_word* __mem, int __val) 2441: { 2441: _Atomic_word __result = *__mem; 2441: *__mem += __val; 2441: return __result; 2441: } 2441: 2441: static inline void 2441: __atomic_add_single(_Atomic_word* __mem, int __val) 2441: { *__mem += __val; } 2441: 2441: static inline _Atomic_word 2441: __attribute__ ((__unused__)) 2441: __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) 2441: { 2441: 2441: if (__gthread_active_p()) 2441: return __exchange_and_add(__mem, __val); 2441: else 2441: return __exchange_and_add_single(__mem, __val); 2441: 2441: 2441: 2441: } 2441: 2441: static inline void 2441: __attribute__ ((__unused__)) 2441: __atomic_add_dispatch(_Atomic_word* __mem, int __val) 2441: { 2441: 2441: if (__gthread_active_p()) 2441: __atomic_add(__mem, __val); 2441: else 2441: __atomic_add_single(__mem, __val); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: } 2441: # 40 "/usr/include/c++/8/bits/basic_string.h" 2 3 2441: # 52 "/usr/include/c++/8/bits/basic_string.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: namespace __cxx11 { 2441: # 76 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: class basic_string 2441: { 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind<_CharT>::other _Char_alloc_type; 2441: typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; 2441: 2441: 2441: public: 2441: typedef _Traits traits_type; 2441: typedef typename _Traits::char_type value_type; 2441: typedef _Char_alloc_type allocator_type; 2441: typedef typename _Alloc_traits::size_type size_type; 2441: typedef typename _Alloc_traits::difference_type difference_type; 2441: typedef typename _Alloc_traits::reference reference; 2441: typedef typename _Alloc_traits::const_reference const_reference; 2441: typedef typename _Alloc_traits::pointer pointer; 2441: typedef typename _Alloc_traits::const_pointer const_pointer; 2441: typedef __gnu_cxx::__normal_iterator iterator; 2441: typedef __gnu_cxx::__normal_iterator 2441: const_iterator; 2441: typedef std::reverse_iterator const_reverse_iterator; 2441: typedef std::reverse_iterator reverse_iterator; 2441: 2441: 2441: static const size_type npos = static_cast(-1); 2441: 2441: private: 2441: 2441: 2441: 2441: 2441: typedef const_iterator __const_iterator; 2441: # 139 "/usr/include/c++/8/bits/basic_string.h" 3 2441: struct _Alloc_hider : allocator_type 2441: { 2441: 2441: 2441: 2441: 2441: _Alloc_hider(pointer __dat, const _Alloc& __a) 2441: : allocator_type(__a), _M_p(__dat) { } 2441: 2441: _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) 2441: : allocator_type(std::move(__a)), _M_p(__dat) { } 2441: 2441: 2441: pointer _M_p; 2441: }; 2441: 2441: _Alloc_hider _M_dataplus; 2441: size_type _M_string_length; 2441: 2441: enum { _S_local_capacity = 15 / sizeof(_CharT) }; 2441: 2441: union 2441: { 2441: _CharT _M_local_buf[_S_local_capacity + 1]; 2441: size_type _M_allocated_capacity; 2441: }; 2441: 2441: void 2441: _M_data(pointer __p) 2441: { _M_dataplus._M_p = __p; } 2441: 2441: void 2441: _M_length(size_type __length) 2441: { _M_string_length = __length; } 2441: 2441: pointer 2441: _M_data() const 2441: { return _M_dataplus._M_p; } 2441: 2441: pointer 2441: _M_local_data() 2441: { 2441: 2441: return std::pointer_traits::pointer_to(*_M_local_buf); 2441: 2441: 2441: 2441: } 2441: 2441: const_pointer 2441: _M_local_data() const 2441: { 2441: 2441: return std::pointer_traits::pointer_to(*_M_local_buf); 2441: 2441: 2441: 2441: } 2441: 2441: void 2441: _M_capacity(size_type __capacity) 2441: { _M_allocated_capacity = __capacity; } 2441: 2441: void 2441: _M_set_length(size_type __n) 2441: { 2441: _M_length(__n); 2441: traits_type::assign(_M_data()[__n], _CharT()); 2441: } 2441: 2441: bool 2441: _M_is_local() const 2441: { return _M_data() == _M_local_data(); } 2441: 2441: 2441: pointer 2441: _M_create(size_type&, size_type); 2441: 2441: void 2441: _M_dispose() 2441: { 2441: if (!_M_is_local()) 2441: _M_destroy(_M_allocated_capacity); 2441: } 2441: 2441: void 2441: _M_destroy(size_type __size) throw() 2441: { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } 2441: 2441: 2441: 2441: template 2441: void 2441: _M_construct_aux(_InIterator __beg, _InIterator __end, 2441: std::__false_type) 2441: { 2441: typedef typename iterator_traits<_InIterator>::iterator_category _Tag; 2441: _M_construct(__beg, __end, _Tag()); 2441: } 2441: 2441: 2441: 2441: template 2441: void 2441: _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) 2441: { _M_construct_aux_2(static_cast(__beg), __end); } 2441: 2441: void 2441: _M_construct_aux_2(size_type __req, _CharT __c) 2441: { _M_construct(__req, __c); } 2441: 2441: template 2441: void 2441: _M_construct(_InIterator __beg, _InIterator __end) 2441: { 2441: typedef typename std::__is_integer<_InIterator>::__type _Integral; 2441: _M_construct_aux(__beg, __end, _Integral()); 2441: } 2441: 2441: 2441: template 2441: void 2441: _M_construct(_InIterator __beg, _InIterator __end, 2441: std::input_iterator_tag); 2441: 2441: 2441: 2441: template 2441: void 2441: _M_construct(_FwdIterator __beg, _FwdIterator __end, 2441: std::forward_iterator_tag); 2441: 2441: void 2441: _M_construct(size_type __req, _CharT __c); 2441: 2441: allocator_type& 2441: _M_get_allocator() 2441: { return _M_dataplus; } 2441: 2441: const allocator_type& 2441: _M_get_allocator() const 2441: { return _M_dataplus; } 2441: 2441: private: 2441: # 298 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: _M_check(size_type __pos, const char* __s) const 2441: { 2441: if (__pos > this->size()) 2441: __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") 2441: , 2441: __s, __pos, this->size()); 2441: return __pos; 2441: } 2441: 2441: void 2441: _M_check_length(size_type __n1, size_type __n2, const char* __s) const 2441: { 2441: if (this->max_size() - (this->size() - __n1) < __n2) 2441: __throw_length_error((__s)); 2441: } 2441: 2441: 2441: 2441: size_type 2441: _M_limit(size_type __pos, size_type __off) const noexcept 2441: { 2441: const bool __testoff = __off < this->size() - __pos; 2441: return __testoff ? __off : this->size() - __pos; 2441: } 2441: 2441: 2441: bool 2441: _M_disjunct(const _CharT* __s) const noexcept 2441: { 2441: return (less()(__s, _M_data()) 2441: || less()(_M_data() + this->size(), __s)); 2441: } 2441: 2441: 2441: 2441: static void 2441: _S_copy(_CharT* __d, const _CharT* __s, size_type __n) 2441: { 2441: if (__n == 1) 2441: traits_type::assign(*__d, *__s); 2441: else 2441: traits_type::copy(__d, __s, __n); 2441: } 2441: 2441: static void 2441: _S_move(_CharT* __d, const _CharT* __s, size_type __n) 2441: { 2441: if (__n == 1) 2441: traits_type::assign(*__d, *__s); 2441: else 2441: traits_type::move(__d, __s, __n); 2441: } 2441: 2441: static void 2441: _S_assign(_CharT* __d, size_type __n, _CharT __c) 2441: { 2441: if (__n == 1) 2441: traits_type::assign(*__d, __c); 2441: else 2441: traits_type::assign(__d, __n, __c); 2441: } 2441: 2441: 2441: 2441: template 2441: static void 2441: _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) 2441: { 2441: for (; __k1 != __k2; ++__k1, (void)++__p) 2441: traits_type::assign(*__p, *__k1); 2441: } 2441: 2441: static void 2441: _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept 2441: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 2441: 2441: static void 2441: _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) 2441: noexcept 2441: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 2441: 2441: static void 2441: _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept 2441: { _S_copy(__p, __k1, __k2 - __k1); } 2441: 2441: static void 2441: _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) 2441: noexcept 2441: { _S_copy(__p, __k1, __k2 - __k1); } 2441: 2441: static int 2441: _S_compare(size_type __n1, size_type __n2) noexcept 2441: { 2441: const difference_type __d = difference_type(__n1 - __n2); 2441: 2441: if (__d > __gnu_cxx::__numeric_traits::__max) 2441: return __gnu_cxx::__numeric_traits::__max; 2441: else if (__d < __gnu_cxx::__numeric_traits::__min) 2441: return __gnu_cxx::__numeric_traits::__min; 2441: else 2441: return int(__d); 2441: } 2441: 2441: void 2441: _M_assign(const basic_string&); 2441: 2441: void 2441: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 2441: size_type __len2); 2441: 2441: void 2441: _M_erase(size_type __pos, size_type __n); 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string() 2441: noexcept(is_nothrow_default_constructible<_Alloc>::value) 2441: : _M_dataplus(_M_local_data()) 2441: { _M_set_length(0); } 2441: 2441: 2441: 2441: 2441: explicit 2441: basic_string(const _Alloc& __a) noexcept 2441: : _M_dataplus(_M_local_data(), __a) 2441: { _M_set_length(0); } 2441: 2441: 2441: 2441: 2441: 2441: basic_string(const basic_string& __str) 2441: : _M_dataplus(_M_local_data(), 2441: _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) 2441: { _M_construct(__str._M_data(), __str._M_data() + __str.length()); } 2441: # 450 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string(const basic_string& __str, size_type __pos, 2441: const _Alloc& __a = _Alloc()) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { 2441: const _CharT* __start = __str._M_data() 2441: + __str._M_check(__pos, "basic_string::basic_string"); 2441: _M_construct(__start, __start + __str._M_limit(__pos, npos)); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string(const basic_string& __str, size_type __pos, 2441: size_type __n) 2441: : _M_dataplus(_M_local_data()) 2441: { 2441: const _CharT* __start = __str._M_data() 2441: + __str._M_check(__pos, "basic_string::basic_string"); 2441: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 2441: } 2441: # 481 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string(const basic_string& __str, size_type __pos, 2441: size_type __n, const _Alloc& __a) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { 2441: const _CharT* __start 2441: = __str._M_data() + __str._M_check(__pos, "string::string"); 2441: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 2441: } 2441: # 499 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string(const _CharT* __s, size_type __n, 2441: const _Alloc& __a = _Alloc()) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { _M_construct(__s, __s + __n); } 2441: # 514 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); } 2441: # 529 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { _M_construct(__n, __c); } 2441: # 541 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string(basic_string&& __str) noexcept 2441: : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) 2441: { 2441: if (__str._M_is_local()) 2441: { 2441: traits_type::copy(_M_local_buf, __str._M_local_buf, 2441: _S_local_capacity + 1); 2441: } 2441: else 2441: { 2441: _M_data(__str._M_data()); 2441: _M_capacity(__str._M_allocated_capacity); 2441: } 2441: 2441: 2441: 2441: 2441: _M_length(__str.length()); 2441: __str._M_data(__str._M_local_data()); 2441: __str._M_set_length(0); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { _M_construct(__l.begin(), __l.end()); } 2441: 2441: basic_string(const basic_string& __str, const _Alloc& __a) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { _M_construct(__str.begin(), __str.end()); } 2441: 2441: basic_string(basic_string&& __str, const _Alloc& __a) 2441: noexcept(_Alloc_traits::_S_always_equal()) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { 2441: if (__str._M_is_local()) 2441: { 2441: traits_type::copy(_M_local_buf, __str._M_local_buf, 2441: _S_local_capacity + 1); 2441: _M_length(__str.length()); 2441: __str._M_set_length(0); 2441: } 2441: else if (_Alloc_traits::_S_always_equal() 2441: || __str.get_allocator() == __a) 2441: { 2441: _M_data(__str._M_data()); 2441: _M_length(__str.length()); 2441: _M_capacity(__str._M_allocated_capacity); 2441: __str._M_data(__str._M_local_buf); 2441: __str._M_set_length(0); 2441: } 2441: else 2441: _M_construct(__str.begin(), __str.end()); 2441: } 2441: # 609 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template> 2441: 2441: 2441: 2441: basic_string(_InputIterator __beg, _InputIterator __end, 2441: const _Alloc& __a = _Alloc()) 2441: : _M_dataplus(_M_local_data(), __a) 2441: { _M_construct(__beg, __end); } 2441: # 656 "/usr/include/c++/8/bits/basic_string.h" 3 2441: ~basic_string() 2441: { _M_dispose(); } 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: operator=(const basic_string& __str) 2441: { 2441: 2441: if (_Alloc_traits::_S_propagate_on_copy_assign()) 2441: { 2441: if (!_Alloc_traits::_S_always_equal() && !_M_is_local() 2441: && _M_get_allocator() != __str._M_get_allocator()) 2441: { 2441: 2441: 2441: if (__str.size() <= _S_local_capacity) 2441: { 2441: _M_destroy(_M_allocated_capacity); 2441: _M_data(_M_local_data()); 2441: _M_set_length(0); 2441: } 2441: else 2441: { 2441: const auto __len = __str.size(); 2441: auto __alloc = __str._M_get_allocator(); 2441: 2441: auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1); 2441: _M_destroy(_M_allocated_capacity); 2441: _M_data(__ptr); 2441: _M_capacity(__len); 2441: _M_set_length(__len); 2441: } 2441: } 2441: std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); 2441: } 2441: 2441: return this->assign(__str); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: operator=(const _CharT* __s) 2441: { return this->assign(__s); } 2441: # 713 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: operator=(_CharT __c) 2441: { 2441: this->assign(1, __c); 2441: return *this; 2441: } 2441: # 731 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: operator=(basic_string&& __str) 2441: noexcept(_Alloc_traits::_S_nothrow_move()) 2441: { 2441: if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() 2441: && !_Alloc_traits::_S_always_equal() 2441: && _M_get_allocator() != __str._M_get_allocator()) 2441: { 2441: 2441: _M_destroy(_M_allocated_capacity); 2441: _M_data(_M_local_data()); 2441: _M_set_length(0); 2441: } 2441: 2441: std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); 2441: 2441: if (__str._M_is_local()) 2441: { 2441: 2441: if (__str.size()) 2441: this->_S_copy(_M_data(), __str._M_data(), __str.size()); 2441: _M_set_length(__str.size()); 2441: } 2441: else if (_Alloc_traits::_S_propagate_on_move_assign() 2441: || _Alloc_traits::_S_always_equal() 2441: || _M_get_allocator() == __str._M_get_allocator()) 2441: { 2441: 2441: pointer __data = nullptr; 2441: size_type __capacity; 2441: if (!_M_is_local()) 2441: { 2441: if (_Alloc_traits::_S_always_equal()) 2441: { 2441: 2441: __data = _M_data(); 2441: __capacity = _M_allocated_capacity; 2441: } 2441: else 2441: _M_destroy(_M_allocated_capacity); 2441: } 2441: 2441: _M_data(__str._M_data()); 2441: _M_length(__str.length()); 2441: _M_capacity(__str._M_allocated_capacity); 2441: if (__data) 2441: { 2441: __str._M_data(__data); 2441: __str._M_capacity(__capacity); 2441: } 2441: else 2441: __str._M_data(__str._M_local_buf); 2441: } 2441: else 2441: assign(__str); 2441: __str.clear(); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: operator=(initializer_list<_CharT> __l) 2441: { 2441: this->assign(__l.begin(), __l.size()); 2441: return *this; 2441: } 2441: # 825 "/usr/include/c++/8/bits/basic_string.h" 3 2441: iterator 2441: begin() noexcept 2441: { return iterator(_M_data()); } 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return const_iterator(_M_data()); } 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: end() noexcept 2441: { return iterator(_M_data() + this->size()); } 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return const_iterator(_M_data() + this->size()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return reverse_iterator(this->end()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return const_reverse_iterator(this->end()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return reverse_iterator(this->begin()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return const_reverse_iterator(this->begin()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cbegin() const noexcept 2441: { return const_iterator(this->_M_data()); } 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cend() const noexcept 2441: { return const_iterator(this->_M_data() + this->size()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crbegin() const noexcept 2441: { return const_reverse_iterator(this->end()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crend() const noexcept 2441: { return const_reverse_iterator(this->begin()); } 2441: 2441: 2441: public: 2441: 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return _M_string_length; } 2441: 2441: 2441: 2441: size_type 2441: length() const noexcept 2441: { return _M_string_length; } 2441: 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } 2441: # 954 "/usr/include/c++/8/bits/basic_string.h" 3 2441: void 2441: resize(size_type __n, _CharT __c); 2441: # 967 "/usr/include/c++/8/bits/basic_string.h" 3 2441: void 2441: resize(size_type __n) 2441: { this->resize(__n, _CharT()); } 2441: 2441: 2441: 2441: void 2441: shrink_to_fit() noexcept 2441: { 2441: 2441: if (capacity() > size()) 2441: { 2441: try 2441: { reserve(0); } 2441: catch(...) 2441: { } 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: size_type 2441: capacity() const noexcept 2441: { 2441: return _M_is_local() ? size_type(_S_local_capacity) 2441: : _M_allocated_capacity; 2441: } 2441: # 1016 "/usr/include/c++/8/bits/basic_string.h" 3 2441: void 2441: reserve(size_type __res_arg = 0); 2441: 2441: 2441: 2441: 2441: void 2441: clear() noexcept 2441: { _M_set_length(0); } 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: empty() const noexcept 2441: { return this->size() == 0; } 2441: # 1045 "/usr/include/c++/8/bits/basic_string.h" 3 2441: const_reference 2441: operator[] (size_type __pos) const noexcept 2441: { 2441: ; 2441: return _M_data()[__pos]; 2441: } 2441: # 1062 "/usr/include/c++/8/bits/basic_string.h" 3 2441: reference 2441: operator[](size_type __pos) 2441: { 2441: 2441: 2441: ; 2441: 2441: ; 2441: return _M_data()[__pos]; 2441: } 2441: # 1083 "/usr/include/c++/8/bits/basic_string.h" 3 2441: const_reference 2441: at(size_type __n) const 2441: { 2441: if (__n >= this->size()) 2441: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 2441: 2441: , 2441: __n, this->size()); 2441: return _M_data()[__n]; 2441: } 2441: # 1104 "/usr/include/c++/8/bits/basic_string.h" 3 2441: reference 2441: at(size_type __n) 2441: { 2441: if (__n >= size()) 2441: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 2441: 2441: , 2441: __n, this->size()); 2441: return _M_data()[__n]; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reference 2441: front() noexcept 2441: { 2441: ; 2441: return operator[](0); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const_reference 2441: front() const noexcept 2441: { 2441: ; 2441: return operator[](0); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: reference 2441: back() noexcept 2441: { 2441: ; 2441: return operator[](this->size() - 1); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const_reference 2441: back() const noexcept 2441: { 2441: ; 2441: return operator[](this->size() - 1); 2441: } 2441: # 1167 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: operator+=(const basic_string& __str) 2441: { return this->append(__str); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: operator+=(const _CharT* __s) 2441: { return this->append(__s); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: operator+=(_CharT __c) 2441: { 2441: this->push_back(__c); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: operator+=(initializer_list<_CharT> __l) 2441: { return this->append(__l.begin(), __l.size()); } 2441: # 1220 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: append(const basic_string& __str) 2441: { return _M_append(__str._M_data(), __str.size()); } 2441: # 1237 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: append(const basic_string& __str, size_type __pos, size_type __n = npos) 2441: { return _M_append(__str._M_data() 2441: + __str._M_check(__pos, "basic_string::append"), 2441: __str._M_limit(__pos, __n)); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: append(const _CharT* __s, size_type __n) 2441: { 2441: ; 2441: _M_check_length(size_type(0), __n, "basic_string::append"); 2441: return _M_append(__s, __n); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: append(const _CharT* __s) 2441: { 2441: ; 2441: const size_type __n = traits_type::length(__s); 2441: _M_check_length(size_type(0), __n, "basic_string::append"); 2441: return _M_append(__s, __n); 2441: } 2441: # 1279 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: append(size_type __n, _CharT __c) 2441: { return _M_replace_aux(this->size(), size_type(0), __n, __c); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: append(initializer_list<_CharT> __l) 2441: { return this->append(__l.begin(), __l.size()); } 2441: # 1303 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template> 2441: 2441: 2441: 2441: basic_string& 2441: append(_InputIterator __first, _InputIterator __last) 2441: { return this->replace(end(), end(), __first, __last); } 2441: # 1348 "/usr/include/c++/8/bits/basic_string.h" 3 2441: void 2441: push_back(_CharT __c) 2441: { 2441: const size_type __size = this->size(); 2441: if (__size + 1 > this->capacity()) 2441: this->_M_mutate(__size, size_type(0), 0, size_type(1)); 2441: traits_type::assign(this->_M_data()[__size], __c); 2441: this->_M_set_length(__size + 1); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: assign(const basic_string& __str) 2441: { 2441: this->_M_assign(__str); 2441: return *this; 2441: } 2441: # 1379 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: assign(basic_string&& __str) 2441: noexcept(_Alloc_traits::_S_nothrow_move()) 2441: { 2441: 2441: 2441: return *this = std::move(__str); 2441: } 2441: # 1402 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: assign(const basic_string& __str, size_type __pos, size_type __n = npos) 2441: { return _M_replace(size_type(0), this->size(), __str._M_data() 2441: + __str._M_check(__pos, "basic_string::assign"), 2441: __str._M_limit(__pos, __n)); } 2441: # 1418 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: assign(const _CharT* __s, size_type __n) 2441: { 2441: ; 2441: return _M_replace(size_type(0), this->size(), __s, __n); 2441: } 2441: # 1434 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: assign(const _CharT* __s) 2441: { 2441: ; 2441: return _M_replace(size_type(0), this->size(), __s, 2441: traits_type::length(__s)); 2441: } 2441: # 1451 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: assign(size_type __n, _CharT __c) 2441: { return _M_replace_aux(size_type(0), this->size(), __n, __c); } 2441: # 1464 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template> 2441: 2441: 2441: 2441: basic_string& 2441: assign(_InputIterator __first, _InputIterator __last) 2441: { return this->replace(begin(), end(), __first, __last); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_string& 2441: assign(initializer_list<_CharT> __l) 2441: { return this->assign(__l.begin(), __l.size()); } 2441: # 1532 "/usr/include/c++/8/bits/basic_string.h" 3 2441: iterator 2441: insert(const_iterator __p, size_type __n, _CharT __c) 2441: { 2441: ; 2441: const size_type __pos = __p - begin(); 2441: this->replace(__p, __p, __n, __c); 2441: return iterator(this->_M_data() + __pos); 2441: } 2441: # 1574 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template> 2441: iterator 2441: insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) 2441: { 2441: ; 2441: const size_type __pos = __p - begin(); 2441: this->replace(__p, __p, __beg, __end); 2441: return iterator(this->_M_data() + __pos); 2441: } 2441: # 1610 "/usr/include/c++/8/bits/basic_string.h" 3 2441: void 2441: insert(iterator __p, initializer_list<_CharT> __l) 2441: { 2441: ; 2441: this->insert(__p - begin(), __l.begin(), __l.size()); 2441: } 2441: # 1630 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: insert(size_type __pos1, const basic_string& __str) 2441: { return this->replace(__pos1, size_type(0), 2441: __str._M_data(), __str.size()); } 2441: # 1653 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: insert(size_type __pos1, const basic_string& __str, 2441: size_type __pos2, size_type __n = npos) 2441: { return this->replace(__pos1, size_type(0), __str._M_data() 2441: + __str._M_check(__pos2, "basic_string::insert"), 2441: __str._M_limit(__pos2, __n)); } 2441: # 1676 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: insert(size_type __pos, const _CharT* __s, size_type __n) 2441: { return this->replace(__pos, size_type(0), __s, __n); } 2441: # 1695 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: insert(size_type __pos, const _CharT* __s) 2441: { 2441: ; 2441: return this->replace(__pos, size_type(0), __s, 2441: traits_type::length(__s)); 2441: } 2441: # 1719 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: insert(size_type __pos, size_type __n, _CharT __c) 2441: { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), 2441: size_type(0), __n, __c); } 2441: # 1737 "/usr/include/c++/8/bits/basic_string.h" 3 2441: iterator 2441: insert(__const_iterator __p, _CharT __c) 2441: { 2441: ; 2441: const size_type __pos = __p - begin(); 2441: _M_replace_aux(__pos, size_type(0), size_type(1), __c); 2441: return iterator(_M_data() + __pos); 2441: } 2441: # 1797 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: erase(size_type __pos = 0, size_type __n = npos) 2441: { 2441: _M_check(__pos, "basic_string::erase"); 2441: if (__n == npos) 2441: this->_M_set_length(__pos); 2441: else if (__n != 0) 2441: this->_M_erase(__pos, _M_limit(__pos, __n)); 2441: return *this; 2441: } 2441: # 1816 "/usr/include/c++/8/bits/basic_string.h" 3 2441: iterator 2441: erase(__const_iterator __position) 2441: { 2441: 2441: ; 2441: const size_type __pos = __position - begin(); 2441: this->_M_erase(__pos, size_type(1)); 2441: return iterator(_M_data() + __pos); 2441: } 2441: # 1835 "/usr/include/c++/8/bits/basic_string.h" 3 2441: iterator 2441: erase(__const_iterator __first, __const_iterator __last) 2441: { 2441: 2441: ; 2441: const size_type __pos = __first - begin(); 2441: if (__last == end()) 2441: this->_M_set_length(__pos); 2441: else 2441: this->_M_erase(__pos, __last - __first); 2441: return iterator(this->_M_data() + __pos); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: pop_back() noexcept 2441: { 2441: ; 2441: _M_erase(size() - 1, 1); 2441: } 2441: # 1879 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(size_type __pos, size_type __n, const basic_string& __str) 2441: { return this->replace(__pos, __n, __str._M_data(), __str.size()); } 2441: # 1901 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(size_type __pos1, size_type __n1, const basic_string& __str, 2441: size_type __pos2, size_type __n2 = npos) 2441: { return this->replace(__pos1, __n1, __str._M_data() 2441: + __str._M_check(__pos2, "basic_string::replace"), 2441: __str._M_limit(__pos2, __n2)); } 2441: # 1926 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(size_type __pos, size_type __n1, const _CharT* __s, 2441: size_type __n2) 2441: { 2441: ; 2441: return _M_replace(_M_check(__pos, "basic_string::replace"), 2441: _M_limit(__pos, __n1), __s, __n2); 2441: } 2441: # 1951 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(size_type __pos, size_type __n1, const _CharT* __s) 2441: { 2441: ; 2441: return this->replace(__pos, __n1, __s, traits_type::length(__s)); 2441: } 2441: # 1975 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) 2441: { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), 2441: _M_limit(__pos, __n1), __n2, __c); } 2441: # 1993 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, 2441: const basic_string& __str) 2441: { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } 2441: # 2013 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, 2441: const _CharT* __s, size_type __n) 2441: { 2441: 2441: ; 2441: return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); 2441: } 2441: # 2035 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) 2441: { 2441: ; 2441: return this->replace(__i1, __i2, __s, traits_type::length(__s)); 2441: } 2441: # 2056 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, size_type __n, 2441: _CharT __c) 2441: { 2441: 2441: ; 2441: return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); 2441: } 2441: # 2081 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template> 2441: basic_string& 2441: replace(const_iterator __i1, const_iterator __i2, 2441: _InputIterator __k1, _InputIterator __k2) 2441: { 2441: 2441: ; 2441: ; 2441: return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, 2441: std::__false_type()); 2441: } 2441: # 2113 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, 2441: _CharT* __k1, _CharT* __k2) 2441: { 2441: 2441: ; 2441: ; 2441: return this->replace(__i1 - begin(), __i2 - __i1, 2441: __k1, __k2 - __k1); 2441: } 2441: 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, 2441: const _CharT* __k1, const _CharT* __k2) 2441: { 2441: 2441: ; 2441: ; 2441: return this->replace(__i1 - begin(), __i2 - __i1, 2441: __k1, __k2 - __k1); 2441: } 2441: 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, 2441: iterator __k1, iterator __k2) 2441: { 2441: 2441: ; 2441: ; 2441: return this->replace(__i1 - begin(), __i2 - __i1, 2441: __k1.base(), __k2 - __k1); 2441: } 2441: 2441: basic_string& 2441: replace(__const_iterator __i1, __const_iterator __i2, 2441: const_iterator __k1, const_iterator __k2) 2441: { 2441: 2441: ; 2441: ; 2441: return this->replace(__i1 - begin(), __i2 - __i1, 2441: __k1.base(), __k2 - __k1); 2441: } 2441: # 2172 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string& replace(const_iterator __i1, const_iterator __i2, 2441: initializer_list<_CharT> __l) 2441: { return this->replace(__i1, __i2, __l.begin(), __l.size()); } 2441: # 2231 "/usr/include/c++/8/bits/basic_string.h" 3 2441: private: 2441: template 2441: basic_string& 2441: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 2441: _Integer __n, _Integer __val, __true_type) 2441: { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } 2441: 2441: template 2441: basic_string& 2441: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 2441: _InputIterator __k1, _InputIterator __k2, 2441: __false_type); 2441: 2441: basic_string& 2441: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 2441: _CharT __c); 2441: 2441: basic_string& 2441: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 2441: const size_type __len2); 2441: 2441: basic_string& 2441: _M_append(const _CharT* __s, size_type __n); 2441: 2441: public: 2441: # 2269 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: copy(_CharT* __s, size_type __n, size_type __pos = 0) const; 2441: # 2279 "/usr/include/c++/8/bits/basic_string.h" 3 2441: void 2441: swap(basic_string& __s) noexcept; 2441: # 2289 "/usr/include/c++/8/bits/basic_string.h" 3 2441: const _CharT* 2441: c_str() const noexcept 2441: { return _M_data(); } 2441: # 2301 "/usr/include/c++/8/bits/basic_string.h" 3 2441: const _CharT* 2441: data() const noexcept 2441: { return _M_data(); } 2441: # 2320 "/usr/include/c++/8/bits/basic_string.h" 3 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return _M_get_allocator(); } 2441: # 2336 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept; 2441: # 2350 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find(const basic_string& __str, size_type __pos = 0) const 2441: noexcept 2441: { return this->find(__str.data(), __pos, __str.size()); } 2441: # 2382 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find(const _CharT* __s, size_type __pos = 0) const noexcept 2441: { 2441: ; 2441: return this->find(__s, __pos, traits_type::length(__s)); 2441: } 2441: # 2399 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find(_CharT __c, size_type __pos = 0) const noexcept; 2441: # 2412 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: rfind(const basic_string& __str, size_type __pos = npos) const 2441: noexcept 2441: { return this->rfind(__str.data(), __pos, __str.size()); } 2441: # 2446 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: rfind(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept; 2441: # 2460 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: rfind(const _CharT* __s, size_type __pos = npos) const 2441: { 2441: ; 2441: return this->rfind(__s, __pos, traits_type::length(__s)); 2441: } 2441: # 2477 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: rfind(_CharT __c, size_type __pos = npos) const noexcept; 2441: # 2491 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_of(const basic_string& __str, size_type __pos = 0) const 2441: noexcept 2441: { return this->find_first_of(__str.data(), __pos, __str.size()); } 2441: # 2526 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept; 2441: # 2540 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_of(const _CharT* __s, size_type __pos = 0) const 2441: noexcept 2441: { 2441: ; 2441: return this->find_first_of(__s, __pos, traits_type::length(__s)); 2441: } 2441: # 2560 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_of(_CharT __c, size_type __pos = 0) const noexcept 2441: { return this->find(__c, __pos); } 2441: # 2575 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_of(const basic_string& __str, size_type __pos = npos) const 2441: noexcept 2441: { return this->find_last_of(__str.data(), __pos, __str.size()); } 2441: # 2610 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept; 2441: # 2624 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_of(const _CharT* __s, size_type __pos = npos) const 2441: noexcept 2441: { 2441: ; 2441: return this->find_last_of(__s, __pos, traits_type::length(__s)); 2441: } 2441: # 2644 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_of(_CharT __c, size_type __pos = npos) const noexcept 2441: { return this->rfind(__c, __pos); } 2441: # 2658 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_not_of(const basic_string& __str, size_type __pos = 0) const 2441: noexcept 2441: { return this->find_first_not_of(__str.data(), __pos, __str.size()); } 2441: # 2693 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_not_of(const _CharT* __s, size_type __pos, 2441: size_type __n) const noexcept; 2441: # 2707 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_not_of(const _CharT* __s, size_type __pos = 0) const 2441: noexcept 2441: { 2441: ; 2441: return this->find_first_not_of(__s, __pos, traits_type::length(__s)); 2441: } 2441: # 2725 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_first_not_of(_CharT __c, size_type __pos = 0) const 2441: noexcept; 2441: # 2740 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_not_of(const basic_string& __str, size_type __pos = npos) const 2441: noexcept 2441: { return this->find_last_not_of(__str.data(), __pos, __str.size()); } 2441: # 2775 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_not_of(const _CharT* __s, size_type __pos, 2441: size_type __n) const noexcept; 2441: # 2789 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_not_of(const _CharT* __s, size_type __pos = npos) const 2441: noexcept 2441: { 2441: ; 2441: return this->find_last_not_of(__s, __pos, traits_type::length(__s)); 2441: } 2441: # 2807 "/usr/include/c++/8/bits/basic_string.h" 3 2441: size_type 2441: find_last_not_of(_CharT __c, size_type __pos = npos) const 2441: noexcept; 2441: # 2823 "/usr/include/c++/8/bits/basic_string.h" 3 2441: basic_string 2441: substr(size_type __pos = 0, size_type __n = npos) const 2441: { return basic_string(*this, 2441: _M_check(__pos, "basic_string::substr"), __n); } 2441: # 2842 "/usr/include/c++/8/bits/basic_string.h" 3 2441: int 2441: compare(const basic_string& __str) const 2441: { 2441: const size_type __size = this->size(); 2441: const size_type __osize = __str.size(); 2441: const size_type __len = std::min(__size, __osize); 2441: 2441: int __r = traits_type::compare(_M_data(), __str.data(), __len); 2441: if (!__r) 2441: __r = _S_compare(__size, __osize); 2441: return __r; 2441: } 2441: # 2935 "/usr/include/c++/8/bits/basic_string.h" 3 2441: int 2441: compare(size_type __pos, size_type __n, const basic_string& __str) const; 2441: # 2961 "/usr/include/c++/8/bits/basic_string.h" 3 2441: int 2441: compare(size_type __pos1, size_type __n1, const basic_string& __str, 2441: size_type __pos2, size_type __n2 = npos) const; 2441: # 2979 "/usr/include/c++/8/bits/basic_string.h" 3 2441: int 2441: compare(const _CharT* __s) const noexcept; 2441: # 3003 "/usr/include/c++/8/bits/basic_string.h" 3 2441: int 2441: compare(size_type __pos, size_type __n1, const _CharT* __s) const; 2441: # 3030 "/usr/include/c++/8/bits/basic_string.h" 3 2441: int 2441: compare(size_type __pos, size_type __n1, const _CharT* __s, 2441: size_type __n2) const; 2441: 2441: 2441: template friend class basic_stringbuf; 2441: }; 2441: } 2441: # 5925 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: basic_string<_CharT, _Traits, _Alloc> 2441: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { 2441: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 2441: __str.append(__rhs); 2441: return __str; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: basic_string<_CharT,_Traits,_Alloc> 2441: operator+(const _CharT* __lhs, 2441: const basic_string<_CharT,_Traits,_Alloc>& __rhs); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: basic_string<_CharT,_Traits,_Alloc> 2441: operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const _CharT* __rhs) 2441: { 2441: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 2441: __str.append(__rhs); 2441: return __str; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) 2441: { 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef typename __string_type::size_type __size_type; 2441: __string_type __str(__lhs); 2441: __str.append(__size_type(1), __rhs); 2441: return __str; 2441: } 2441: 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { return std::move(__lhs.append(__rhs)); } 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 2441: { return std::move(__rhs.insert(0, __lhs)); } 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 2441: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 2441: { 2441: const auto __size = __lhs.size() + __rhs.size(); 2441: const bool __cond = (__size > __lhs.capacity() 2441: && __size <= __rhs.capacity()); 2441: return __cond ? std::move(__rhs.insert(0, __lhs)) 2441: : std::move(__lhs.append(__rhs)); 2441: } 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(const _CharT* __lhs, 2441: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 2441: { return std::move(__rhs.insert(0, __lhs)); } 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(_CharT __lhs, 2441: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 2441: { return std::move(__rhs.insert(0, 1, __lhs)); } 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 2441: const _CharT* __rhs) 2441: { return std::move(__lhs.append(__rhs)); } 2441: 2441: template 2441: inline basic_string<_CharT, _Traits, _Alloc> 2441: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 2441: _CharT __rhs) 2441: { return std::move(__lhs.append(1, __rhs)); } 2441: # 6046 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline bool 2441: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: noexcept 2441: { return __lhs.compare(__rhs) == 0; } 2441: 2441: template 2441: inline 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type 2441: operator==(const basic_string<_CharT>& __lhs, 2441: const basic_string<_CharT>& __rhs) noexcept 2441: { return (__lhs.size() == __rhs.size() 2441: && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), 2441: __lhs.size())); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const _CharT* __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { return __rhs.compare(__lhs) == 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const _CharT* __rhs) 2441: { return __lhs.compare(__rhs) == 0; } 2441: # 6093 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline bool 2441: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: noexcept 2441: { return !(__lhs == __rhs); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const _CharT* __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { return !(__lhs == __rhs); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const _CharT* __rhs) 2441: { return !(__lhs == __rhs); } 2441: # 6131 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline bool 2441: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: noexcept 2441: { return __lhs.compare(__rhs) < 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const _CharT* __rhs) 2441: { return __lhs.compare(__rhs) < 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator<(const _CharT* __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { return __rhs.compare(__lhs) > 0; } 2441: # 6169 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline bool 2441: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: noexcept 2441: { return __lhs.compare(__rhs) > 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const _CharT* __rhs) 2441: { return __lhs.compare(__rhs) > 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const _CharT* __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { return __rhs.compare(__lhs) < 0; } 2441: # 6207 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline bool 2441: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: noexcept 2441: { return __lhs.compare(__rhs) <= 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const _CharT* __rhs) 2441: { return __lhs.compare(__rhs) <= 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const _CharT* __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { return __rhs.compare(__lhs) >= 0; } 2441: # 6245 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline bool 2441: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: noexcept 2441: { return __lhs.compare(__rhs) >= 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: const _CharT* __rhs) 2441: { return __lhs.compare(__rhs) >= 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const _CharT* __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { return __rhs.compare(__lhs) <= 0; } 2441: # 6283 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline void 2441: swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, 2441: basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: noexcept(noexcept(__lhs.swap(__rhs))) 2441: { __lhs.swap(__rhs); } 2441: # 6303 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, 2441: basic_string<_CharT, _Traits, _Alloc>& __str); 2441: 2441: template<> 2441: basic_istream& 2441: operator>>(basic_istream& __is, basic_string& __str); 2441: # 6321 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, 2441: const basic_string<_CharT, _Traits, _Alloc>& __str) 2441: { 2441: 2441: 2441: return __ostream_insert(__os, __str.data(), __str.size()); 2441: } 2441: # 6344 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: getline(basic_istream<_CharT, _Traits>& __is, 2441: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); 2441: # 6361 "/usr/include/c++/8/bits/basic_string.h" 3 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: getline(basic_istream<_CharT, _Traits>& __is, 2441: basic_string<_CharT, _Traits, _Alloc>& __str) 2441: { return std::getline(__is, __str, __is.widen('\n')); } 2441: 2441: 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: getline(basic_istream<_CharT, _Traits>&& __is, 2441: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 2441: { return std::getline(__is, __str, __delim); } 2441: 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: getline(basic_istream<_CharT, _Traits>&& __is, 2441: basic_string<_CharT, _Traits, _Alloc>& __str) 2441: { return std::getline(__is, __str); } 2441: 2441: 2441: template<> 2441: basic_istream& 2441: getline(basic_istream& __in, basic_string& __str, 2441: char __delim); 2441: 2441: 2441: template<> 2441: basic_istream& 2441: getline(basic_istream& __in, basic_string& __str, 2441: wchar_t __delim); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/ext/string_conversions.h" 1 3 2441: # 32 "/usr/include/c++/8/ext/string_conversions.h" 3 2441: 2441: # 33 "/usr/include/c++/8/ext/string_conversions.h" 3 2441: # 41 "/usr/include/c++/8/ext/string_conversions.h" 3 2441: # 1 "/usr/include/c++/8/cstdlib" 1 3 2441: # 39 "/usr/include/c++/8/cstdlib" 3 2441: 2441: # 40 "/usr/include/c++/8/cstdlib" 3 2441: # 42 "/usr/include/c++/8/ext/string_conversions.h" 2 3 2441: # 1 "/usr/include/c++/8/cwchar" 1 3 2441: # 39 "/usr/include/c++/8/cwchar" 3 2441: 2441: # 40 "/usr/include/c++/8/cwchar" 3 2441: # 43 "/usr/include/c++/8/ext/string_conversions.h" 2 3 2441: # 1 "/usr/include/c++/8/cstdio" 1 3 2441: # 39 "/usr/include/c++/8/cstdio" 3 2441: 2441: # 40 "/usr/include/c++/8/cstdio" 3 2441: 2441: 2441: # 1 "/usr/include/stdio.h" 1 3 4 2441: # 27 "/usr/include/stdio.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 1 3 4 2441: # 28 "/usr/include/stdio.h" 2 3 4 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 34 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stdarg.h" 1 3 4 2441: # 37 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/__fpos_t.h" 1 3 4 2441: # 10 "/usr/include/i386-linux-gnu/bits/types/__fpos_t.h" 3 4 2441: typedef struct _G_fpos_t 2441: { 2441: __off_t __pos; 2441: __mbstate_t __state; 2441: } __fpos_t; 2441: # 40 "/usr/include/stdio.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 2441: # 10 "/usr/include/i386-linux-gnu/bits/types/__fpos64_t.h" 3 4 2441: typedef struct _G_fpos64_t 2441: { 2441: __off64_t __pos; 2441: __mbstate_t __state; 2441: } __fpos64_t; 2441: # 41 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/struct_FILE.h" 1 3 4 2441: # 35 "/usr/include/i386-linux-gnu/bits/types/struct_FILE.h" 3 4 2441: struct _IO_FILE; 2441: struct _IO_marker; 2441: struct _IO_codecvt; 2441: struct _IO_wide_data; 2441: 2441: 2441: 2441: 2441: typedef void _IO_lock_t; 2441: 2441: 2441: 2441: 2441: 2441: struct _IO_FILE 2441: { 2441: int _flags; 2441: 2441: 2441: char *_IO_read_ptr; 2441: char *_IO_read_end; 2441: char *_IO_read_base; 2441: char *_IO_write_base; 2441: char *_IO_write_ptr; 2441: char *_IO_write_end; 2441: char *_IO_buf_base; 2441: char *_IO_buf_end; 2441: 2441: 2441: char *_IO_save_base; 2441: char *_IO_backup_base; 2441: char *_IO_save_end; 2441: 2441: struct _IO_marker *_markers; 2441: 2441: struct _IO_FILE *_chain; 2441: 2441: int _fileno; 2441: int _flags2; 2441: __off_t _old_offset; 2441: 2441: 2441: unsigned short _cur_column; 2441: signed char _vtable_offset; 2441: char _shortbuf[1]; 2441: 2441: _IO_lock_t *_lock; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: __off64_t _offset; 2441: 2441: struct _IO_codecvt *_codecvt; 2441: struct _IO_wide_data *_wide_data; 2441: struct _IO_FILE *_freeres_list; 2441: void *_freeres_buf; 2441: size_t __pad5; 2441: int _mode; 2441: 2441: char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; 2441: }; 2441: # 44 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/cookie_io_functions_t.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/types/cookie_io_functions_t.h" 3 4 2441: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, 2441: size_t __nbytes); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, 2441: size_t __nbytes); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); 2441: 2441: 2441: typedef int cookie_close_function_t (void *__cookie); 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef struct _IO_cookie_io_functions_t 2441: { 2441: cookie_read_function_t *read; 2441: cookie_write_function_t *write; 2441: cookie_seek_function_t *seek; 2441: cookie_close_function_t *close; 2441: } cookie_io_functions_t; 2441: # 47 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: typedef __gnuc_va_list va_list; 2441: # 84 "/usr/include/stdio.h" 3 4 2441: typedef __fpos_t fpos_t; 2441: 2441: 2441: 2441: 2441: typedef __fpos64_t fpos64_t; 2441: # 133 "/usr/include/stdio.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdio_lim.h" 1 3 4 2441: # 134 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: 2441: extern FILE *stdin; 2441: extern FILE *stdout; 2441: extern FILE *stderr; 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int remove (const char *__filename) throw (); 2441: 2441: extern int rename (const char *__old, const char *__new) throw (); 2441: 2441: 2441: 2441: extern int renameat (int __oldfd, const char *__old, int __newfd, 2441: const char *__new) throw (); 2441: # 164 "/usr/include/stdio.h" 3 4 2441: extern int renameat2 (int __oldfd, const char *__old, int __newfd, 2441: const char *__new, unsigned int __flags) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__)); 2441: # 183 "/usr/include/stdio.h" 3 4 2441: extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: extern char *tmpnam (char *__s) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern char *tmpnam_r (char *__s) throw () __attribute__ ((__warn_unused_result__)); 2441: # 204 "/usr/include/stdio.h" 3 4 2441: extern char *tempnam (const char *__dir, const char *__pfx) 2441: throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fclose (FILE *__stream); 2441: 2441: 2441: 2441: 2441: extern int fflush (FILE *__stream); 2441: # 227 "/usr/include/stdio.h" 3 4 2441: extern int fflush_unlocked (FILE *__stream); 2441: # 237 "/usr/include/stdio.h" 3 4 2441: extern int fcloseall (void); 2441: # 246 "/usr/include/stdio.h" 3 4 2441: extern FILE *fopen (const char *__restrict __filename, 2441: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern FILE *freopen (const char *__restrict __filename, 2441: const char *__restrict __modes, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: # 270 "/usr/include/stdio.h" 3 4 2441: extern FILE *fopen64 (const char *__restrict __filename, 2441: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 2441: extern FILE *freopen64 (const char *__restrict __filename, 2441: const char *__restrict __modes, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern FILE *fdopen (int __fd, const char *__modes) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: extern FILE *fopencookie (void *__restrict __magic_cookie, 2441: const char *__restrict __modes, 2441: cookie_io_functions_t __io_funcs) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) 2441: throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); 2441: 2441: 2441: 2441: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, 2441: int __modes, size_t __n) throw (); 2441: 2441: 2441: 2441: 2441: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, 2441: size_t __size) throw (); 2441: 2441: 2441: extern void setlinebuf (FILE *__stream) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fprintf (FILE *__restrict __stream, 2441: const char *__restrict __format, ...); 2441: 2441: 2441: 2441: 2441: extern int printf (const char *__restrict __format, ...); 2441: 2441: extern int sprintf (char *__restrict __s, 2441: const char *__restrict __format, ...) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, 2441: __gnuc_va_list __arg); 2441: 2441: 2441: 2441: 2441: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); 2441: 2441: extern int vsprintf (char *__restrict __s, const char *__restrict __format, 2441: __gnuc_va_list __arg) throw (); 2441: 2441: 2441: 2441: extern int snprintf (char *__restrict __s, size_t __maxlen, 2441: const char *__restrict __format, ...) 2441: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 2441: 2441: extern int vsnprintf (char *__restrict __s, size_t __maxlen, 2441: const char *__restrict __format, __gnuc_va_list __arg) 2441: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 2441: 2441: 2441: 2441: 2441: 2441: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, 2441: __gnuc_va_list __arg) 2441: throw () __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 2441: extern int __asprintf (char **__restrict __ptr, 2441: const char *__restrict __fmt, ...) 2441: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 2441: extern int asprintf (char **__restrict __ptr, 2441: const char *__restrict __fmt, ...) 2441: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern int vdprintf (int __fd, const char *__restrict __fmt, 2441: __gnuc_va_list __arg) 2441: __attribute__ ((__format__ (__printf__, 2, 0))); 2441: extern int dprintf (int __fd, const char *__restrict __fmt, ...) 2441: __attribute__ ((__format__ (__printf__, 2, 3))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fscanf (FILE *__restrict __stream, 2441: const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 2441: 2441: extern int sscanf (const char *__restrict __s, 2441: const char *__restrict __format, ...) throw (); 2441: # 434 "/usr/include/stdio.h" 3 4 2441: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, 2441: __gnuc_va_list __arg) 2441: __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) 2441: __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: extern int vsscanf (const char *__restrict __s, 2441: const char *__restrict __format, __gnuc_va_list __arg) 2441: throw () __attribute__ ((__format__ (__scanf__, 2, 0))); 2441: # 491 "/usr/include/stdio.h" 3 4 2441: extern int fgetc (FILE *__stream); 2441: extern int getc (FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: extern int getchar (void); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int getc_unlocked (FILE *__stream); 2441: extern int getchar_unlocked (void); 2441: # 516 "/usr/include/stdio.h" 3 4 2441: extern int fgetc_unlocked (FILE *__stream); 2441: # 527 "/usr/include/stdio.h" 3 4 2441: extern int fputc (int __c, FILE *__stream); 2441: extern int putc (int __c, FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: extern int putchar (int __c); 2441: # 543 "/usr/include/stdio.h" 3 4 2441: extern int fputc_unlocked (int __c, FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int putc_unlocked (int __c, FILE *__stream); 2441: extern int putchar_unlocked (int __c); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int getw (FILE *__stream); 2441: 2441: 2441: extern int putw (int __w, FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 2441: __attribute__ ((__warn_unused_result__)); 2441: # 593 "/usr/include/stdio.h" 3 4 2441: extern char *fgets_unlocked (char *__restrict __s, int __n, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: # 609 "/usr/include/stdio.h" 3 4 2441: extern __ssize_t __getdelim (char **__restrict __lineptr, 2441: size_t *__restrict __n, int __delimiter, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: extern __ssize_t getdelim (char **__restrict __lineptr, 2441: size_t *__restrict __n, int __delimiter, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern __ssize_t getline (char **__restrict __lineptr, 2441: size_t *__restrict __n, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fputs (const char *__restrict __s, FILE *__restrict __stream); 2441: 2441: 2441: 2441: 2441: 2441: extern int puts (const char *__s); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int ungetc (int __c, FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern size_t fread (void *__restrict __ptr, size_t __size, 2441: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern size_t fwrite (const void *__restrict __ptr, size_t __size, 2441: size_t __n, FILE *__restrict __s); 2441: # 668 "/usr/include/stdio.h" 3 4 2441: extern int fputs_unlocked (const char *__restrict __s, 2441: FILE *__restrict __stream); 2441: # 679 "/usr/include/stdio.h" 3 4 2441: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, 2441: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, 2441: size_t __n, FILE *__restrict __stream); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int fseek (FILE *__stream, long int __off, int __whence); 2441: 2441: 2441: 2441: 2441: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern void rewind (FILE *__stream); 2441: # 713 "/usr/include/stdio.h" 3 4 2441: extern int fseeko (FILE *__stream, __off_t __off, int __whence); 2441: 2441: 2441: 2441: 2441: extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)); 2441: # 737 "/usr/include/stdio.h" 3 4 2441: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); 2441: 2441: 2441: 2441: 2441: extern int fsetpos (FILE *__stream, const fpos_t *__pos); 2441: # 756 "/usr/include/stdio.h" 3 4 2441: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); 2441: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); 2441: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); 2441: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); 2441: 2441: 2441: 2441: extern void clearerr (FILE *__stream) throw (); 2441: 2441: extern int feof (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: extern int ferror (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: extern void clearerr_unlocked (FILE *__stream) throw (); 2441: extern int feof_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 2441: extern int ferror_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern void perror (const char *__s); 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/sys_errlist.h" 1 3 4 2441: # 26 "/usr/include/i386-linux-gnu/bits/sys_errlist.h" 3 4 2441: extern int sys_nerr; 2441: extern const char *const sys_errlist[]; 2441: 2441: 2441: extern int _sys_nerr; 2441: extern const char *const _sys_errlist[]; 2441: # 788 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: 2441: 2441: extern int fileno (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: extern int fileno_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 2441: # 806 "/usr/include/stdio.h" 3 4 2441: extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: 2441: 2441: 2441: extern int pclose (FILE *__stream); 2441: 2441: 2441: 2441: 2441: 2441: extern char *ctermid (char *__s) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern char *cuserid (char *__s); 2441: 2441: 2441: 2441: 2441: struct obstack; 2441: 2441: 2441: extern int obstack_printf (struct obstack *__restrict __obstack, 2441: const char *__restrict __format, ...) 2441: throw () __attribute__ ((__format__ (__printf__, 2, 3))); 2441: extern int obstack_vprintf (struct obstack *__restrict __obstack, 2441: const char *__restrict __format, 2441: __gnuc_va_list __args) 2441: throw () __attribute__ ((__format__ (__printf__, 2, 0))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern void flockfile (FILE *__stream) throw (); 2441: 2441: 2441: 2441: extern int ftrylockfile (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 2441: 2441: 2441: extern void funlockfile (FILE *__stream) throw (); 2441: # 864 "/usr/include/stdio.h" 3 4 2441: extern int __uflow (FILE *); 2441: extern int __overflow (FILE *, int); 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdio.h" 1 3 4 2441: # 46 "/usr/include/i386-linux-gnu/bits/stdio.h" 3 4 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: getchar (void) 2441: { 2441: return getc (stdin); 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: fgetc_unlocked (FILE *__fp) 2441: { 2441: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: getc_unlocked (FILE *__fp) 2441: { 2441: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: getchar_unlocked (void) 2441: { 2441: return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: putchar (int __c) 2441: { 2441: return putc (__c, stdout); 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: fputc_unlocked (int __c, FILE *__stream) 2441: { 2441: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: putc_unlocked (int __c, FILE *__stream) 2441: { 2441: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: putchar_unlocked (int __c) 2441: { 2441: return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t 2441: getline (char **__lineptr, size_t *__n, FILE *__stream) 2441: { 2441: return __getdelim (__lineptr, __n, '\n', __stream); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) throw () 2441: { 2441: return (((__stream)->_flags & 0x0010) != 0); 2441: } 2441: 2441: 2441: extern __inline __attribute__ ((__gnu_inline__)) int 2441: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) throw () 2441: { 2441: return (((__stream)->_flags & 0x0020) != 0); 2441: } 2441: # 871 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/stdio2.h" 1 3 4 2441: # 26 "/usr/include/i386-linux-gnu/bits/stdio2.h" 3 4 2441: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, 2441: const char *__restrict __format, ...) throw (); 2441: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, 2441: const char *__restrict __format, 2441: __gnuc_va_list __ap) throw (); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) throw () 2441: { 2441: return __builtin___sprintf_chk (__s, 2 - 1, 2441: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 2441: 2441: { 2441: return __builtin___vsprintf_chk (__s, 2 - 1, 2441: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 2441: } 2441: 2441: 2441: 2441: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, 2441: size_t __slen, const char *__restrict __format, 2441: ...) throw (); 2441: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, 2441: size_t __slen, const char *__restrict __format, 2441: __gnuc_va_list __ap) throw (); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) throw () 2441: 2441: { 2441: return __builtin___snprintf_chk (__s, __n, 2 - 1, 2441: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 2441: 2441: { 2441: return __builtin___vsnprintf_chk (__s, __n, 2 - 1, 2441: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: extern int __fprintf_chk (FILE *__restrict __stream, int __flag, 2441: const char *__restrict __format, ...); 2441: extern int __printf_chk (int __flag, const char *__restrict __format, ...); 2441: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, 2441: const char *__restrict __format, __gnuc_va_list __ap); 2441: extern int __vprintf_chk (int __flag, const char *__restrict __format, 2441: __gnuc_va_list __ap); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) 2441: { 2441: return __fprintf_chk (__stream, 2 - 1, __fmt, 2441: __builtin_va_arg_pack ()); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: printf (const char *__restrict __fmt, ...) 2441: { 2441: return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) 2441: { 2441: 2441: return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); 2441: 2441: 2441: 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: vfprintf (FILE *__restrict __stream, 2441: const char *__restrict __fmt, __gnuc_va_list __ap) 2441: { 2441: return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); 2441: } 2441: 2441: 2441: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, 2441: ...) __attribute__ ((__format__ (__printf__, 3, 4))); 2441: extern int __vdprintf_chk (int __fd, int __flag, 2441: const char *__restrict __fmt, __gnuc_va_list __arg) 2441: __attribute__ ((__format__ (__printf__, 3, 0))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: dprintf (int __fd, const char *__restrict __fmt, ...) 2441: { 2441: return __dprintf_chk (__fd, 2 - 1, __fmt, 2441: __builtin_va_arg_pack ()); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) 2441: { 2441: return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); 2441: } 2441: 2441: 2441: 2441: 2441: extern int __asprintf_chk (char **__restrict __ptr, int __flag, 2441: const char *__restrict __fmt, ...) 2441: throw () __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); 2441: extern int __vasprintf_chk (char **__restrict __ptr, int __flag, 2441: const char *__restrict __fmt, __gnuc_va_list __arg) 2441: throw () __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); 2441: extern int __obstack_printf_chk (struct obstack *__restrict __obstack, 2441: int __flag, const char *__restrict __format, 2441: ...) 2441: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 2441: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, 2441: int __flag, 2441: const char *__restrict __format, 2441: __gnuc_va_list __args) 2441: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 2441: { 2441: return __asprintf_chk (__ptr, 2 - 1, __fmt, 2441: __builtin_va_arg_pack ()); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 2441: 2441: { 2441: return __asprintf_chk (__ptr, 2 - 1, __fmt, 2441: __builtin_va_arg_pack ()); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) throw () 2441: 2441: { 2441: return __obstack_printf_chk (__obstack, 2 - 1, __fmt, 2441: __builtin_va_arg_pack ()); 2441: } 2441: # 209 "/usr/include/i386-linux-gnu/bits/stdio2.h" 3 4 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 2441: 2441: { 2441: return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); 2441: } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 2441: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 2441: 2441: { 2441: return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, 2441: __ap); 2441: } 2441: # 243 "/usr/include/i386-linux-gnu/bits/stdio2.h" 3 4 2441: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 2441: fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 2441: { 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n) || __n <= 0) 2441: return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 2441: 2441: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 2441: return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 2441: } 2441: return __fgets_alias (__s, __n, __stream); 2441: } 2441: 2441: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, 2441: size_t __size, size_t __n, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") 2441: 2441: 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 2441: fread (void *__restrict __ptr, size_t __size, size_t __n, 2441: FILE *__restrict __stream) 2441: { 2441: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__size) 2441: || !__builtin_constant_p (__n) 2441: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 2441: return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 2441: 2441: if (__size * __n > __builtin_object_size (__ptr, 0)) 2441: return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 2441: } 2441: return __fread_alias (__ptr, __size, __n, __stream); 2441: } 2441: 2441: 2441: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, 2441: int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 2441: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) 2441: { 2441: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__n) || __n <= 0) 2441: return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 2441: 2441: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 2441: return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 2441: } 2441: return __fgets_unlocked_alias (__s, __n, __stream); 2441: } 2441: 2441: 2441: 2441: 2441: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, 2441: size_t __size, size_t __n, 2441: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 2441: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)); 2441: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") 2441: 2441: 2441: 2441: 2441: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) 2441: ; 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 2441: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, 2441: FILE *__restrict __stream) 2441: { 2441: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 2441: { 2441: if (!__builtin_constant_p (__size) 2441: || !__builtin_constant_p (__n) 2441: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 2441: return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 2441: __stream); 2441: 2441: if (__size * __n > __builtin_object_size (__ptr, 0)) 2441: return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 2441: __stream); 2441: } 2441: 2441: 2441: if (__builtin_constant_p (__size) 2441: && __builtin_constant_p (__n) 2441: && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) 2441: && __size * __n <= 8) 2441: { 2441: size_t __cnt = __size * __n; 2441: char *__cptr = (char *) __ptr; 2441: if (__cnt == 0) 2441: return 0; 2441: 2441: for (; __cnt > 0; --__cnt) 2441: { 2441: int __c = getc_unlocked (__stream); 2441: if (__c == (-1)) 2441: break; 2441: *__cptr++ = __c; 2441: } 2441: return (__cptr - (char *) __ptr) / __size; 2441: } 2441: 2441: return __fread_unlocked_alias (__ptr, __size, __n, __stream); 2441: } 2441: # 874 "/usr/include/stdio.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 43 "/usr/include/c++/8/cstdio" 2 3 2441: # 96 "/usr/include/c++/8/cstdio" 3 2441: namespace std 2441: { 2441: using ::FILE; 2441: using ::fpos_t; 2441: 2441: using ::clearerr; 2441: using ::fclose; 2441: using ::feof; 2441: using ::ferror; 2441: using ::fflush; 2441: using ::fgetc; 2441: using ::fgetpos; 2441: using ::fgets; 2441: using ::fopen; 2441: using ::fprintf; 2441: using ::fputc; 2441: using ::fputs; 2441: using ::fread; 2441: using ::freopen; 2441: using ::fscanf; 2441: using ::fseek; 2441: using ::fsetpos; 2441: using ::ftell; 2441: using ::fwrite; 2441: using ::getc; 2441: using ::getchar; 2441: 2441: 2441: 2441: 2441: using ::perror; 2441: using ::printf; 2441: using ::putc; 2441: using ::putchar; 2441: using ::puts; 2441: using ::remove; 2441: using ::rename; 2441: using ::rewind; 2441: using ::scanf; 2441: using ::setbuf; 2441: using ::setvbuf; 2441: using ::sprintf; 2441: using ::sscanf; 2441: using ::tmpfile; 2441: 2441: using ::tmpnam; 2441: 2441: using ::ungetc; 2441: using ::vfprintf; 2441: using ::vprintf; 2441: using ::vsprintf; 2441: } 2441: # 157 "/usr/include/c++/8/cstdio" 3 2441: namespace __gnu_cxx 2441: { 2441: # 175 "/usr/include/c++/8/cstdio" 3 2441: using ::snprintf; 2441: using ::vfscanf; 2441: using ::vscanf; 2441: using ::vsnprintf; 2441: using ::vsscanf; 2441: 2441: } 2441: 2441: namespace std 2441: { 2441: using ::__gnu_cxx::snprintf; 2441: using ::__gnu_cxx::vfscanf; 2441: using ::__gnu_cxx::vscanf; 2441: using ::__gnu_cxx::vsnprintf; 2441: using ::__gnu_cxx::vsscanf; 2441: } 2441: # 44 "/usr/include/c++/8/ext/string_conversions.h" 2 3 2441: # 1 "/usr/include/c++/8/cerrno" 1 3 2441: # 39 "/usr/include/c++/8/cerrno" 3 2441: 2441: # 40 "/usr/include/c++/8/cerrno" 3 2441: 2441: 2441: # 1 "/usr/include/errno.h" 1 3 4 2441: # 28 "/usr/include/errno.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/errno.h" 1 3 4 2441: # 26 "/usr/include/i386-linux-gnu/bits/errno.h" 3 4 2441: # 1 "/usr/include/linux/errno.h" 1 3 4 2441: # 1 "/usr/include/i386-linux-gnu/asm/errno.h" 1 3 4 2441: # 1 "/usr/include/asm-generic/errno.h" 1 3 4 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 2441: # 6 "/usr/include/asm-generic/errno.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/asm/errno.h" 2 3 4 2441: # 1 "/usr/include/linux/errno.h" 2 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/errno.h" 2 3 4 2441: # 29 "/usr/include/errno.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: extern "C" { 2441: 2441: 2441: extern int *__errno_location (void) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern char *program_invocation_name; 2441: extern char *program_invocation_short_name; 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/error_t.h" 1 3 4 2441: # 22 "/usr/include/i386-linux-gnu/bits/types/error_t.h" 3 4 2441: typedef int error_t; 2441: # 49 "/usr/include/errno.h" 2 3 4 2441: 2441: 2441: 2441: } 2441: # 43 "/usr/include/c++/8/cerrno" 2 3 2441: # 45 "/usr/include/c++/8/ext/string_conversions.h" 2 3 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: _Ret 2441: __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), 2441: const char* __name, const _CharT* __str, std::size_t* __idx, 2441: _Base... __base) 2441: { 2441: _Ret __ret; 2441: 2441: _CharT* __endptr; 2441: 2441: struct _Save_errno { 2441: _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; } 2441: ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; } 2441: int _M_errno; 2441: } const __save_errno; 2441: 2441: struct _Range_chk { 2441: static bool 2441: _S_chk(_TRet, std::false_type) { return false; } 2441: 2441: static bool 2441: _S_chk(_TRet __val, std::true_type) 2441: { 2441: return __val < _TRet(__numeric_traits::__min) 2441: || __val > _TRet(__numeric_traits::__max); 2441: } 2441: }; 2441: 2441: const _TRet __tmp = __convf(__str, &__endptr, __base...); 2441: 2441: if (__endptr == __str) 2441: std::__throw_invalid_argument(__name); 2441: else if ((*__errno_location ()) == 34 2441: || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) 2441: std::__throw_out_of_range(__name); 2441: else 2441: __ret = __tmp; 2441: 2441: if (__idx) 2441: *__idx = __endptr - __str; 2441: 2441: return __ret; 2441: } 2441: 2441: 2441: template 2441: _String 2441: __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, 2441: __builtin_va_list), std::size_t __n, 2441: const _CharT* __fmt, ...) 2441: { 2441: 2441: 2441: _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * __n)); 2441: 2441: __builtin_va_list __args; 2441: __builtin_va_start(__args, __fmt); 2441: 2441: const int __len = __convf(__s, __n, __fmt, __args); 2441: 2441: __builtin_va_end(__args); 2441: 2441: return _String(__s, __s + __len); 2441: } 2441: 2441: 2441: } 2441: # 6401 "/usr/include/c++/8/bits/basic_string.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: namespace __cxx11 { 2441: 2441: 2441: 2441: inline int 2441: stoi(const string& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline long 2441: stol(const string& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline unsigned long 2441: stoul(const string& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline long long 2441: stoll(const string& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline unsigned long long 2441: stoull(const string& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), 2441: __idx, __base); } 2441: 2441: 2441: inline float 2441: stof(const string& __str, size_t* __idx = 0) 2441: { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } 2441: 2441: inline double 2441: stod(const string& __str, size_t* __idx = 0) 2441: { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } 2441: 2441: inline long double 2441: stold(const string& __str, size_t* __idx = 0) 2441: { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: inline string 2441: to_string(int __val) 2441: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(int), 2441: "%d", __val); } 2441: 2441: inline string 2441: to_string(unsigned __val) 2441: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 2441: 4 * sizeof(unsigned), 2441: "%u", __val); } 2441: 2441: inline string 2441: to_string(long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(long), 2441: "%ld", __val); } 2441: 2441: inline string 2441: to_string(unsigned long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 2441: 4 * sizeof(unsigned long), 2441: "%lu", __val); } 2441: 2441: inline string 2441: to_string(long long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 2441: 4 * sizeof(long long), 2441: "%lld", __val); } 2441: 2441: inline string 2441: to_string(unsigned long long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 2441: 4 * sizeof(unsigned long long), 2441: "%llu", __val); } 2441: 2441: inline string 2441: to_string(float __val) 2441: { 2441: const int __n = 2441: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 2441: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 2441: "%f", __val); 2441: } 2441: 2441: inline string 2441: to_string(double __val) 2441: { 2441: const int __n = 2441: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 2441: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 2441: "%f", __val); 2441: } 2441: 2441: inline string 2441: to_string(long double __val) 2441: { 2441: const int __n = 2441: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 2441: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 2441: "%Lf", __val); 2441: } 2441: 2441: 2441: 2441: inline int 2441: stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline long 2441: stol(const wstring& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline unsigned long 2441: stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline long long 2441: stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), 2441: __idx, __base); } 2441: 2441: inline unsigned long long 2441: stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) 2441: { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), 2441: __idx, __base); } 2441: 2441: 2441: inline float 2441: stof(const wstring& __str, size_t* __idx = 0) 2441: { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } 2441: 2441: inline double 2441: stod(const wstring& __str, size_t* __idx = 0) 2441: { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } 2441: 2441: inline long double 2441: stold(const wstring& __str, size_t* __idx = 0) 2441: { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } 2441: 2441: 2441: 2441: inline wstring 2441: to_wstring(int __val) 2441: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(int), 2441: L"%d", __val); } 2441: 2441: inline wstring 2441: to_wstring(unsigned __val) 2441: { return __gnu_cxx::__to_xstring(&std::vswprintf, 2441: 4 * sizeof(unsigned), 2441: L"%u", __val); } 2441: 2441: inline wstring 2441: to_wstring(long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long), 2441: L"%ld", __val); } 2441: 2441: inline wstring 2441: to_wstring(unsigned long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vswprintf, 2441: 4 * sizeof(unsigned long), 2441: L"%lu", __val); } 2441: 2441: inline wstring 2441: to_wstring(long long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vswprintf, 2441: 4 * sizeof(long long), 2441: L"%lld", __val); } 2441: 2441: inline wstring 2441: to_wstring(unsigned long long __val) 2441: { return __gnu_cxx::__to_xstring(&std::vswprintf, 2441: 4 * sizeof(unsigned long long), 2441: L"%llu", __val); } 2441: 2441: inline wstring 2441: to_wstring(float __val) 2441: { 2441: const int __n = 2441: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 2441: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 2441: L"%f", __val); 2441: } 2441: 2441: inline wstring 2441: to_wstring(double __val) 2441: { 2441: const int __n = 2441: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 2441: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 2441: L"%f", __val); 2441: } 2441: 2441: inline wstring 2441: to_wstring(long double __val) 2441: { 2441: const int __n = 2441: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 2441: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 2441: L"%Lf", __val); 2441: } 2441: 2441: 2441: 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/functional_hash.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/functional_hash.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/functional_hash.h" 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 49 "/usr/include/c++/8/bits/functional_hash.h" 3 2441: template 2441: struct __hash_base 2441: { 2441: typedef _Result result_type ; 2441: typedef _Arg argument_type ; 2441: }; 2441: 2441: 2441: template 2441: struct hash; 2441: 2441: template 2441: struct __poison_hash 2441: { 2441: static constexpr bool __enable_hash_call = false; 2441: private: 2441: 2441: __poison_hash(__poison_hash&&); 2441: ~__poison_hash(); 2441: }; 2441: 2441: template 2441: struct __poison_hash<_Tp, __void_t()(declval<_Tp>()))>> 2441: { 2441: static constexpr bool __enable_hash_call = true; 2441: }; 2441: 2441: 2441: template::value> 2441: struct __hash_enum 2441: { 2441: private: 2441: 2441: __hash_enum(__hash_enum&&); 2441: ~__hash_enum(); 2441: }; 2441: 2441: 2441: template 2441: struct __hash_enum<_Tp, true> : public __hash_base 2441: { 2441: size_t 2441: operator()(_Tp __val) const noexcept 2441: { 2441: using __type = typename underlying_type<_Tp>::type; 2441: return hash<__type>{}(static_cast<__type>(__val)); 2441: } 2441: }; 2441: 2441: 2441: 2441: template 2441: struct hash : __hash_enum<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct hash<_Tp*> : public __hash_base 2441: { 2441: size_t 2441: operator()(_Tp* __p) const noexcept 2441: { return reinterpret_cast(__p); } 2441: }; 2441: # 124 "/usr/include/c++/8/bits/functional_hash.h" 3 2441: template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; 2441: 2441: 2441: template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; 2441: # 187 "/usr/include/c++/8/bits/functional_hash.h" 3 2441: struct _Hash_impl 2441: { 2441: static size_t 2441: hash(const void* __ptr, size_t __clength, 2441: size_t __seed = static_cast(0xc70f6907UL)) 2441: { return _Hash_bytes(__ptr, __clength, __seed); } 2441: 2441: template 2441: static size_t 2441: hash(const _Tp& __val) 2441: { return hash(&__val, sizeof(__val)); } 2441: 2441: template 2441: static size_t 2441: __hash_combine(const _Tp& __val, size_t __hash) 2441: { return hash(&__val, sizeof(__val), __hash); } 2441: }; 2441: 2441: 2441: struct _Fnv_hash_impl 2441: { 2441: static size_t 2441: hash(const void* __ptr, size_t __clength, 2441: size_t __seed = static_cast(2166136261UL)) 2441: { return _Fnv_hash_bytes(__ptr, __clength, __seed); } 2441: 2441: template 2441: static size_t 2441: hash(const _Tp& __val) 2441: { return hash(&__val, sizeof(__val)); } 2441: 2441: template 2441: static size_t 2441: __hash_combine(const _Tp& __val, size_t __hash) 2441: { return hash(&__val, sizeof(__val), __hash); } 2441: }; 2441: 2441: 2441: template<> 2441: struct hash : public __hash_base 2441: { 2441: size_t 2441: operator()(float __val) const noexcept 2441: { 2441: 2441: return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; 2441: } 2441: }; 2441: 2441: 2441: template<> 2441: struct hash : public __hash_base 2441: { 2441: size_t 2441: operator()(double __val) const noexcept 2441: { 2441: 2441: return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; 2441: } 2441: }; 2441: 2441: 2441: template<> 2441: struct hash 2441: : public __hash_base 2441: { 2441: __attribute__ ((__pure__)) size_t 2441: operator()(long double __val) const noexcept; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __is_fast_hash : public std::true_type 2441: { }; 2441: 2441: template<> 2441: struct __is_fast_hash> : public std::false_type 2441: { }; 2441: 2441: 2441: } 2441: # 6627 "/usr/include/c++/8/bits/basic_string.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: struct hash 2441: : public __hash_base 2441: { 2441: size_t 2441: operator()(const string& __s) const noexcept 2441: { return std::_Hash_impl::hash(__s.data(), __s.length()); } 2441: }; 2441: 2441: template<> 2441: struct __is_fast_hash> : std::false_type 2441: { }; 2441: 2441: 2441: 2441: template<> 2441: struct hash 2441: : public __hash_base 2441: { 2441: size_t 2441: operator()(const wstring& __s) const noexcept 2441: { return std::_Hash_impl::hash(__s.data(), 2441: __s.length() * sizeof(wchar_t)); } 2441: }; 2441: 2441: template<> 2441: struct __is_fast_hash> : std::false_type 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: struct hash 2441: : public __hash_base 2441: { 2441: size_t 2441: operator()(const u16string& __s) const noexcept 2441: { return std::_Hash_impl::hash(__s.data(), 2441: __s.length() * sizeof(char16_t)); } 2441: }; 2441: 2441: template<> 2441: struct __is_fast_hash> : std::false_type 2441: { }; 2441: 2441: 2441: template<> 2441: struct hash 2441: : public __hash_base 2441: { 2441: size_t 2441: operator()(const u32string& __s) const noexcept 2441: { return std::_Hash_impl::hash(__s.data(), 2441: __s.length() * sizeof(char32_t)); } 2441: }; 2441: 2441: template<> 2441: struct __is_fast_hash> : std::false_type 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: inline namespace literals 2441: { 2441: inline namespace string_literals 2441: { 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wliteral-suffix" 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: inline basic_string 2441: operator""s(const char* __str, size_t __len) 2441: { return basic_string{__str, __len}; } 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: inline basic_string 2441: operator""s(const wchar_t* __str, size_t __len) 2441: { return basic_string{__str, __len}; } 2441: 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: inline basic_string 2441: operator""s(const char16_t* __str, size_t __len) 2441: { return basic_string{__str, __len}; } 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: inline basic_string 2441: operator""s(const char32_t* __str, size_t __len) 2441: { return basic_string{__str, __len}; } 2441: 2441: 2441: #pragma GCC diagnostic pop 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 53 "/usr/include/c++/8/string" 2 3 2441: # 1 "/usr/include/c++/8/bits/basic_string.tcc" 1 3 2441: # 42 "/usr/include/c++/8/bits/basic_string.tcc" 3 2441: 2441: # 43 "/usr/include/c++/8/bits/basic_string.tcc" 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: template 2441: const typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>::npos; 2441: 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: swap(basic_string& __s) noexcept 2441: { 2441: if (this == &__s) 2441: return; 2441: 2441: _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); 2441: 2441: if (_M_is_local()) 2441: if (__s._M_is_local()) 2441: { 2441: if (length() && __s.length()) 2441: { 2441: _CharT __tmp_data[_S_local_capacity + 1]; 2441: traits_type::copy(__tmp_data, __s._M_local_buf, 2441: _S_local_capacity + 1); 2441: traits_type::copy(__s._M_local_buf, _M_local_buf, 2441: _S_local_capacity + 1); 2441: traits_type::copy(_M_local_buf, __tmp_data, 2441: _S_local_capacity + 1); 2441: } 2441: else if (__s.length()) 2441: { 2441: traits_type::copy(_M_local_buf, __s._M_local_buf, 2441: _S_local_capacity + 1); 2441: _M_length(__s.length()); 2441: __s._M_set_length(0); 2441: return; 2441: } 2441: else if (length()) 2441: { 2441: traits_type::copy(__s._M_local_buf, _M_local_buf, 2441: _S_local_capacity + 1); 2441: __s._M_length(length()); 2441: _M_set_length(0); 2441: return; 2441: } 2441: } 2441: else 2441: { 2441: const size_type __tmp_capacity = __s._M_allocated_capacity; 2441: traits_type::copy(__s._M_local_buf, _M_local_buf, 2441: _S_local_capacity + 1); 2441: _M_data(__s._M_data()); 2441: __s._M_data(__s._M_local_buf); 2441: _M_capacity(__tmp_capacity); 2441: } 2441: else 2441: { 2441: const size_type __tmp_capacity = _M_allocated_capacity; 2441: if (__s._M_is_local()) 2441: { 2441: traits_type::copy(_M_local_buf, __s._M_local_buf, 2441: _S_local_capacity + 1); 2441: __s._M_data(_M_data()); 2441: _M_data(_M_local_buf); 2441: } 2441: else 2441: { 2441: pointer __tmp_ptr = _M_data(); 2441: _M_data(__s._M_data()); 2441: __s._M_data(__tmp_ptr); 2441: _M_capacity(__s._M_allocated_capacity); 2441: } 2441: __s._M_capacity(__tmp_capacity); 2441: } 2441: 2441: const size_type __tmp_length = length(); 2441: _M_length(__s.length()); 2441: __s._M_length(__tmp_length); 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::pointer 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_create(size_type& __capacity, size_type __old_capacity) 2441: { 2441: 2441: 2441: if (__capacity > max_size()) 2441: std::__throw_length_error(("basic_string::_M_create")); 2441: 2441: 2441: 2441: 2441: if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) 2441: { 2441: __capacity = 2 * __old_capacity; 2441: 2441: if (__capacity > max_size()) 2441: __capacity = max_size(); 2441: } 2441: 2441: 2441: 2441: return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_construct(_InIterator __beg, _InIterator __end, 2441: std::input_iterator_tag) 2441: { 2441: size_type __len = 0; 2441: size_type __capacity = size_type(_S_local_capacity); 2441: 2441: while (__beg != __end && __len < __capacity) 2441: { 2441: _M_data()[__len++] = *__beg; 2441: ++__beg; 2441: } 2441: 2441: try 2441: { 2441: while (__beg != __end) 2441: { 2441: if (__len == __capacity) 2441: { 2441: 2441: __capacity = __len + 1; 2441: pointer __another = _M_create(__capacity, __len); 2441: this->_S_copy(__another, _M_data(), __len); 2441: _M_dispose(); 2441: _M_data(__another); 2441: _M_capacity(__capacity); 2441: } 2441: _M_data()[__len++] = *__beg; 2441: ++__beg; 2441: } 2441: } 2441: catch(...) 2441: { 2441: _M_dispose(); 2441: throw; 2441: } 2441: 2441: _M_set_length(__len); 2441: } 2441: 2441: template 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_construct(_InIterator __beg, _InIterator __end, 2441: std::forward_iterator_tag) 2441: { 2441: 2441: if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) 2441: std::__throw_logic_error(("basic_string::" "_M_construct null not valid") 2441: ); 2441: 2441: size_type __dnew = static_cast(std::distance(__beg, __end)); 2441: 2441: if (__dnew > size_type(_S_local_capacity)) 2441: { 2441: _M_data(_M_create(__dnew, size_type(0))); 2441: _M_capacity(__dnew); 2441: } 2441: 2441: 2441: try 2441: { this->_S_copy_chars(_M_data(), __beg, __end); } 2441: catch(...) 2441: { 2441: _M_dispose(); 2441: throw; 2441: } 2441: 2441: _M_set_length(__dnew); 2441: } 2441: 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_construct(size_type __n, _CharT __c) 2441: { 2441: if (__n > size_type(_S_local_capacity)) 2441: { 2441: _M_data(_M_create(__n, size_type(0))); 2441: _M_capacity(__n); 2441: } 2441: 2441: if (__n) 2441: this->_S_assign(_M_data(), __n, __c); 2441: 2441: _M_set_length(__n); 2441: } 2441: 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_assign(const basic_string& __str) 2441: { 2441: if (this != &__str) 2441: { 2441: const size_type __rsize = __str.length(); 2441: const size_type __capacity = capacity(); 2441: 2441: if (__rsize > __capacity) 2441: { 2441: size_type __new_capacity = __rsize; 2441: pointer __tmp = _M_create(__new_capacity, __capacity); 2441: _M_dispose(); 2441: _M_data(__tmp); 2441: _M_capacity(__new_capacity); 2441: } 2441: 2441: if (__rsize) 2441: this->_S_copy(_M_data(), __str._M_data(), __rsize); 2441: 2441: _M_set_length(__rsize); 2441: } 2441: } 2441: 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: reserve(size_type __res) 2441: { 2441: 2441: if (__res < length()) 2441: __res = length(); 2441: 2441: const size_type __capacity = capacity(); 2441: if (__res != __capacity) 2441: { 2441: if (__res > __capacity 2441: || __res > size_type(_S_local_capacity)) 2441: { 2441: pointer __tmp = _M_create(__res, __capacity); 2441: this->_S_copy(__tmp, _M_data(), length() + 1); 2441: _M_dispose(); 2441: _M_data(__tmp); 2441: _M_capacity(__res); 2441: } 2441: else if (!_M_is_local()) 2441: { 2441: this->_S_copy(_M_local_data(), _M_data(), length() + 1); 2441: _M_destroy(__capacity); 2441: _M_data(_M_local_data()); 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 2441: size_type __len2) 2441: { 2441: const size_type __how_much = length() - __pos - __len1; 2441: 2441: size_type __new_capacity = length() + __len2 - __len1; 2441: pointer __r = _M_create(__new_capacity, capacity()); 2441: 2441: if (__pos) 2441: this->_S_copy(__r, _M_data(), __pos); 2441: if (__s && __len2) 2441: this->_S_copy(__r + __pos, __s, __len2); 2441: if (__how_much) 2441: this->_S_copy(__r + __pos + __len2, 2441: _M_data() + __pos + __len1, __how_much); 2441: 2441: _M_dispose(); 2441: _M_data(__r); 2441: _M_capacity(__new_capacity); 2441: } 2441: 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_erase(size_type __pos, size_type __n) 2441: { 2441: const size_type __how_much = length() - __pos - __n; 2441: 2441: if (__how_much && __n) 2441: this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); 2441: 2441: _M_set_length(length() - __n); 2441: } 2441: 2441: template 2441: void 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: resize(size_type __n, _CharT __c) 2441: { 2441: const size_type __size = this->size(); 2441: if (__size < __n) 2441: this->append(__n - __size, __c); 2441: else if (__n < __size) 2441: this->_M_set_length(__n); 2441: } 2441: 2441: template 2441: basic_string<_CharT, _Traits, _Alloc>& 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_append(const _CharT* __s, size_type __n) 2441: { 2441: const size_type __len = __n + this->size(); 2441: 2441: if (__len <= this->capacity()) 2441: { 2441: if (__n) 2441: this->_S_copy(this->_M_data() + this->size(), __s, __n); 2441: } 2441: else 2441: this->_M_mutate(this->size(), size_type(0), __s, __n); 2441: 2441: this->_M_set_length(__len); 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: basic_string<_CharT, _Traits, _Alloc>& 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 2441: _InputIterator __k1, _InputIterator __k2, 2441: std::__false_type) 2441: { 2441: const basic_string __s(__k1, __k2); 2441: const size_type __n1 = __i2 - __i1; 2441: return _M_replace(__i1 - begin(), __n1, __s._M_data(), 2441: __s.size()); 2441: } 2441: 2441: template 2441: basic_string<_CharT, _Traits, _Alloc>& 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 2441: _CharT __c) 2441: { 2441: _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); 2441: 2441: const size_type __old_size = this->size(); 2441: const size_type __new_size = __old_size + __n2 - __n1; 2441: 2441: if (__new_size <= this->capacity()) 2441: { 2441: pointer __p = this->_M_data() + __pos1; 2441: 2441: const size_type __how_much = __old_size - __pos1 - __n1; 2441: if (__how_much && __n1 != __n2) 2441: this->_S_move(__p + __n2, __p + __n1, __how_much); 2441: } 2441: else 2441: this->_M_mutate(__pos1, __n1, 0, __n2); 2441: 2441: if (__n2) 2441: this->_S_assign(this->_M_data() + __pos1, __n2, __c); 2441: 2441: this->_M_set_length(__new_size); 2441: return *this; 2441: } 2441: 2441: template 2441: basic_string<_CharT, _Traits, _Alloc>& 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 2441: const size_type __len2) 2441: { 2441: _M_check_length(__len1, __len2, "basic_string::_M_replace"); 2441: 2441: const size_type __old_size = this->size(); 2441: const size_type __new_size = __old_size + __len2 - __len1; 2441: 2441: if (__new_size <= this->capacity()) 2441: { 2441: pointer __p = this->_M_data() + __pos; 2441: 2441: const size_type __how_much = __old_size - __pos - __len1; 2441: if (_M_disjunct(__s)) 2441: { 2441: if (__how_much && __len1 != __len2) 2441: this->_S_move(__p + __len2, __p + __len1, __how_much); 2441: if (__len2) 2441: this->_S_copy(__p, __s, __len2); 2441: } 2441: else 2441: { 2441: 2441: if (__len2 && __len2 <= __len1) 2441: this->_S_move(__p, __s, __len2); 2441: if (__how_much && __len1 != __len2) 2441: this->_S_move(__p + __len2, __p + __len1, __how_much); 2441: if (__len2 > __len1) 2441: { 2441: if (__s + __len2 <= __p + __len1) 2441: this->_S_move(__p, __s, __len2); 2441: else if (__s >= __p + __len1) 2441: this->_S_copy(__p, __s + __len2 - __len1, __len2); 2441: else 2441: { 2441: const size_type __nleft = (__p + __len1) - __s; 2441: this->_S_move(__p, __s, __nleft); 2441: this->_S_copy(__p + __nleft, __p + __len2, 2441: __len2 - __nleft); 2441: } 2441: } 2441: } 2441: } 2441: else 2441: this->_M_mutate(__pos, __len1, __s, __len2); 2441: 2441: this->_M_set_length(__new_size); 2441: return *this; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: copy(_CharT* __s, size_type __n, size_type __pos) const 2441: { 2441: _M_check(__pos, "basic_string::copy"); 2441: __n = _M_limit(__pos, __n); 2441: ; 2441: if (__n) 2441: _S_copy(__s, _M_data() + __pos, __n); 2441: 2441: return __n; 2441: } 2441: # 1155 "/usr/include/c++/8/bits/basic_string.tcc" 3 2441: template 2441: basic_string<_CharT, _Traits, _Alloc> 2441: operator+(const _CharT* __lhs, 2441: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { 2441: ; 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef typename __string_type::size_type __size_type; 2441: const __size_type __len = _Traits::length(__lhs); 2441: __string_type __str; 2441: __str.reserve(__len + __rhs.size()); 2441: __str.append(__lhs, __len); 2441: __str.append(__rhs); 2441: return __str; 2441: } 2441: 2441: template 2441: basic_string<_CharT, _Traits, _Alloc> 2441: operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) 2441: { 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef typename __string_type::size_type __size_type; 2441: __string_type __str; 2441: const __size_type __len = __rhs.size(); 2441: __str.reserve(__len + 1); 2441: __str.append(__size_type(1), __lhs); 2441: __str.append(__rhs); 2441: return __str; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept 2441: { 2441: ; 2441: const size_type __size = this->size(); 2441: 2441: if (__n == 0) 2441: return __pos <= __size ? __pos : npos; 2441: if (__pos >= __size) 2441: return npos; 2441: 2441: const _CharT __elem0 = __s[0]; 2441: const _CharT* const __data = data(); 2441: const _CharT* __first = __data + __pos; 2441: const _CharT* const __last = __data + __size; 2441: size_type __len = __size - __pos; 2441: 2441: while (__len >= __n) 2441: { 2441: 2441: __first = traits_type::find(__first, __len - __n + 1, __elem0); 2441: if (!__first) 2441: return npos; 2441: 2441: 2441: 2441: if (traits_type::compare(__first, __s, __n) == 0) 2441: return __first - __data; 2441: __len = __last - ++__first; 2441: } 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find(_CharT __c, size_type __pos) const noexcept 2441: { 2441: size_type __ret = npos; 2441: const size_type __size = this->size(); 2441: if (__pos < __size) 2441: { 2441: const _CharT* __data = _M_data(); 2441: const size_type __n = __size - __pos; 2441: const _CharT* __p = traits_type::find(__data + __pos, __n, __c); 2441: if (__p) 2441: __ret = __p - __data; 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: rfind(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept 2441: { 2441: ; 2441: const size_type __size = this->size(); 2441: if (__n <= __size) 2441: { 2441: __pos = std::min(size_type(__size - __n), __pos); 2441: const _CharT* __data = _M_data(); 2441: do 2441: { 2441: if (traits_type::compare(__data + __pos, __s, __n) == 0) 2441: return __pos; 2441: } 2441: while (__pos-- > 0); 2441: } 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: rfind(_CharT __c, size_type __pos) const noexcept 2441: { 2441: size_type __size = this->size(); 2441: if (__size) 2441: { 2441: if (--__size > __pos) 2441: __size = __pos; 2441: for (++__size; __size-- > 0; ) 2441: if (traits_type::eq(_M_data()[__size], __c)) 2441: return __size; 2441: } 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept 2441: { 2441: ; 2441: for (; __n && __pos < this->size(); ++__pos) 2441: { 2441: const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); 2441: if (__p) 2441: return __pos; 2441: } 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept 2441: { 2441: ; 2441: size_type __size = this->size(); 2441: if (__size && __n) 2441: { 2441: if (--__size > __pos) 2441: __size = __pos; 2441: do 2441: { 2441: if (traits_type::find(__s, __n, _M_data()[__size])) 2441: return __size; 2441: } 2441: while (__size-- != 0); 2441: } 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept 2441: { 2441: ; 2441: for (; __pos < this->size(); ++__pos) 2441: if (!traits_type::find(__s, __n, _M_data()[__pos])) 2441: return __pos; 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find_first_not_of(_CharT __c, size_type __pos) const noexcept 2441: { 2441: for (; __pos < this->size(); ++__pos) 2441: if (!traits_type::eq(_M_data()[__pos], __c)) 2441: return __pos; 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const 2441: noexcept 2441: { 2441: ; 2441: size_type __size = this->size(); 2441: if (__size) 2441: { 2441: if (--__size > __pos) 2441: __size = __pos; 2441: do 2441: { 2441: if (!traits_type::find(__s, __n, _M_data()[__size])) 2441: return __size; 2441: } 2441: while (__size--); 2441: } 2441: return npos; 2441: } 2441: 2441: template 2441: typename basic_string<_CharT, _Traits, _Alloc>::size_type 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: find_last_not_of(_CharT __c, size_type __pos) const noexcept 2441: { 2441: size_type __size = this->size(); 2441: if (__size) 2441: { 2441: if (--__size > __pos) 2441: __size = __pos; 2441: do 2441: { 2441: if (!traits_type::eq(_M_data()[__size], __c)) 2441: return __size; 2441: } 2441: while (__size--); 2441: } 2441: return npos; 2441: } 2441: 2441: template 2441: int 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: compare(size_type __pos, size_type __n, const basic_string& __str) const 2441: { 2441: _M_check(__pos, "basic_string::compare"); 2441: __n = _M_limit(__pos, __n); 2441: const size_type __osize = __str.size(); 2441: const size_type __len = std::min(__n, __osize); 2441: int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); 2441: if (!__r) 2441: __r = _S_compare(__n, __osize); 2441: return __r; 2441: } 2441: 2441: template 2441: int 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: compare(size_type __pos1, size_type __n1, const basic_string& __str, 2441: size_type __pos2, size_type __n2) const 2441: { 2441: _M_check(__pos1, "basic_string::compare"); 2441: __str._M_check(__pos2, "basic_string::compare"); 2441: __n1 = _M_limit(__pos1, __n1); 2441: __n2 = __str._M_limit(__pos2, __n2); 2441: const size_type __len = std::min(__n1, __n2); 2441: int __r = traits_type::compare(_M_data() + __pos1, 2441: __str.data() + __pos2, __len); 2441: if (!__r) 2441: __r = _S_compare(__n1, __n2); 2441: return __r; 2441: } 2441: 2441: template 2441: int 2441: basic_string<_CharT, _Traits, _Alloc>:: 2441: compare(const _CharT* __s) const noexcept 2441: { 2441: ; 2441: const size_type __size = this->size(); 2441: const size_type __osize = traits_type::length(__s); 2441: const size_type __len = std::min(__size, __osize); 2441: int __r = traits_type::compare(_M_data(), __s, __len); 2441: if (!__r) 2441: __r = _S_compare(__size, __osize); 2441: return __r; 2441: } 2441: 2441: template 2441: int 2441: basic_string <_CharT, _Traits, _Alloc>:: 2441: compare(size_type __pos, size_type __n1, const _CharT* __s) const 2441: { 2441: ; 2441: _M_check(__pos, "basic_string::compare"); 2441: __n1 = _M_limit(__pos, __n1); 2441: const size_type __osize = traits_type::length(__s); 2441: const size_type __len = std::min(__n1, __osize); 2441: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 2441: if (!__r) 2441: __r = _S_compare(__n1, __osize); 2441: return __r; 2441: } 2441: 2441: template 2441: int 2441: basic_string <_CharT, _Traits, _Alloc>:: 2441: compare(size_type __pos, size_type __n1, const _CharT* __s, 2441: size_type __n2) const 2441: { 2441: ; 2441: _M_check(__pos, "basic_string::compare"); 2441: __n1 = _M_limit(__pos, __n1); 2441: const size_type __len = std::min(__n1, __n2); 2441: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 2441: if (!__r) 2441: __r = _S_compare(__n1, __n2); 2441: return __r; 2441: } 2441: 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __in, 2441: basic_string<_CharT, _Traits, _Alloc>& __str) 2441: { 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef typename __istream_type::ios_base __ios_base; 2441: typedef typename __istream_type::int_type __int_type; 2441: typedef typename __string_type::size_type __size_type; 2441: typedef ctype<_CharT> __ctype_type; 2441: typedef typename __ctype_type::ctype_base __ctype_base; 2441: 2441: __size_type __extracted = 0; 2441: typename __ios_base::iostate __err = __ios_base::goodbit; 2441: typename __istream_type::sentry __cerb(__in, false); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: 2441: __str.erase(); 2441: _CharT __buf[128]; 2441: __size_type __len = 0; 2441: const streamsize __w = __in.width(); 2441: const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) 2441: : __str.max_size(); 2441: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 2441: const __int_type __eof = _Traits::eof(); 2441: __int_type __c = __in.rdbuf()->sgetc(); 2441: 2441: while (__extracted < __n 2441: && !_Traits::eq_int_type(__c, __eof) 2441: && !__ct.is(__ctype_base::space, 2441: _Traits::to_char_type(__c))) 2441: { 2441: if (__len == sizeof(__buf) / sizeof(_CharT)) 2441: { 2441: __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); 2441: __len = 0; 2441: } 2441: __buf[__len++] = _Traits::to_char_type(__c); 2441: ++__extracted; 2441: __c = __in.rdbuf()->snextc(); 2441: } 2441: __str.append(__buf, __len); 2441: 2441: if (_Traits::eq_int_type(__c, __eof)) 2441: __err |= __ios_base::eofbit; 2441: __in.width(0); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __in._M_setstate(__ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { 2441: 2441: 2441: 2441: __in._M_setstate(__ios_base::badbit); 2441: } 2441: } 2441: 2441: if (!__extracted) 2441: __err |= __ios_base::failbit; 2441: if (__err) 2441: __in.setstate(__err); 2441: return __in; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: getline(basic_istream<_CharT, _Traits>& __in, 2441: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 2441: { 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef typename __istream_type::ios_base __ios_base; 2441: typedef typename __istream_type::int_type __int_type; 2441: typedef typename __string_type::size_type __size_type; 2441: 2441: __size_type __extracted = 0; 2441: const __size_type __n = __str.max_size(); 2441: typename __ios_base::iostate __err = __ios_base::goodbit; 2441: typename __istream_type::sentry __cerb(__in, true); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: __str.erase(); 2441: const __int_type __idelim = _Traits::to_int_type(__delim); 2441: const __int_type __eof = _Traits::eof(); 2441: __int_type __c = __in.rdbuf()->sgetc(); 2441: 2441: while (__extracted < __n 2441: && !_Traits::eq_int_type(__c, __eof) 2441: && !_Traits::eq_int_type(__c, __idelim)) 2441: { 2441: __str += _Traits::to_char_type(__c); 2441: ++__extracted; 2441: __c = __in.rdbuf()->snextc(); 2441: } 2441: 2441: if (_Traits::eq_int_type(__c, __eof)) 2441: __err |= __ios_base::eofbit; 2441: else if (_Traits::eq_int_type(__c, __idelim)) 2441: { 2441: ++__extracted; 2441: __in.rdbuf()->sbumpc(); 2441: } 2441: else 2441: __err |= __ios_base::failbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __in._M_setstate(__ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { 2441: 2441: 2441: 2441: __in._M_setstate(__ios_base::badbit); 2441: } 2441: } 2441: if (!__extracted) 2441: __err |= __ios_base::failbit; 2441: if (__err) 2441: __in.setstate(__err); 2441: return __in; 2441: } 2441: # 1607 "/usr/include/c++/8/bits/basic_string.tcc" 3 2441: extern template class basic_string; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern template 2441: basic_istream& 2441: operator>>(basic_istream&, string&); 2441: extern template 2441: basic_ostream& 2441: operator<<(basic_ostream&, const string&); 2441: extern template 2441: basic_istream& 2441: getline(basic_istream&, string&, char); 2441: extern template 2441: basic_istream& 2441: getline(basic_istream&, string&); 2441: 2441: 2441: 2441: extern template class basic_string; 2441: 2441: 2441: 2441: 2441: 2441: extern template 2441: basic_istream& 2441: operator>>(basic_istream&, wstring&); 2441: extern template 2441: basic_ostream& 2441: operator<<(basic_ostream&, const wstring&); 2441: extern template 2441: basic_istream& 2441: getline(basic_istream&, wstring&, wchar_t); 2441: extern template 2441: basic_istream& 2441: getline(basic_istream&, wstring&); 2441: 2441: 2441: 2441: 2441: } 2441: # 54 "/usr/include/c++/8/string" 2 3 2441: # 41 "/usr/include/gmpxx.h" 2 3 4 2441: # 1 "/usr/include/c++/8/stdexcept" 1 3 4 2441: # 36 "/usr/include/c++/8/stdexcept" 3 4 2441: 2441: # 37 "/usr/include/c++/8/stdexcept" 3 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: struct __cow_string 2441: { 2441: union { 2441: const char* _M_p; 2441: char _M_bytes[sizeof(const char*)]; 2441: }; 2441: 2441: __cow_string(); 2441: __cow_string(const std::string&); 2441: __cow_string(const char*, size_t); 2441: __cow_string(const __cow_string&) noexcept; 2441: __cow_string& operator=(const __cow_string&) noexcept; 2441: ~__cow_string(); 2441: 2441: __cow_string(__cow_string&&) noexcept; 2441: __cow_string& operator=(__cow_string&&) noexcept; 2441: 2441: }; 2441: 2441: typedef basic_string __sso_string; 2441: # 113 "/usr/include/c++/8/stdexcept" 3 2441: class logic_error : public exception 2441: { 2441: __cow_string _M_msg; 2441: 2441: public: 2441: 2441: explicit 2441: logic_error(const string& __arg) ; 2441: 2441: 2441: explicit 2441: logic_error(const char*) ; 2441: 2441: 2441: 2441: logic_error(const logic_error&) noexcept; 2441: logic_error& operator=(const logic_error&) noexcept; 2441: 2441: 2441: virtual ~logic_error() noexcept; 2441: 2441: 2441: 2441: virtual const char* 2441: what() const noexcept; 2441: 2441: 2441: 2441: 2441: 2441: }; 2441: 2441: 2441: 2441: class domain_error : public logic_error 2441: { 2441: public: 2441: explicit domain_error(const string& __arg) ; 2441: 2441: explicit domain_error(const char*) ; 2441: 2441: virtual ~domain_error() noexcept; 2441: }; 2441: 2441: 2441: class invalid_argument : public logic_error 2441: { 2441: public: 2441: explicit invalid_argument(const string& __arg) ; 2441: 2441: explicit invalid_argument(const char*) ; 2441: 2441: virtual ~invalid_argument() noexcept; 2441: }; 2441: 2441: 2441: 2441: class length_error : public logic_error 2441: { 2441: public: 2441: explicit length_error(const string& __arg) ; 2441: 2441: explicit length_error(const char*) ; 2441: 2441: virtual ~length_error() noexcept; 2441: }; 2441: 2441: 2441: 2441: class out_of_range : public logic_error 2441: { 2441: public: 2441: explicit out_of_range(const string& __arg) ; 2441: 2441: explicit out_of_range(const char*) ; 2441: 2441: virtual ~out_of_range() noexcept; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: class runtime_error : public exception 2441: { 2441: __cow_string _M_msg; 2441: 2441: public: 2441: 2441: explicit 2441: runtime_error(const string& __arg) ; 2441: 2441: 2441: explicit 2441: runtime_error(const char*) ; 2441: 2441: 2441: 2441: runtime_error(const runtime_error&) noexcept; 2441: runtime_error& operator=(const runtime_error&) noexcept; 2441: 2441: 2441: virtual ~runtime_error() noexcept; 2441: 2441: 2441: 2441: virtual const char* 2441: what() const noexcept; 2441: 2441: 2441: 2441: 2441: 2441: }; 2441: 2441: 2441: class range_error : public runtime_error 2441: { 2441: public: 2441: explicit range_error(const string& __arg) ; 2441: 2441: explicit range_error(const char*) ; 2441: 2441: virtual ~range_error() noexcept; 2441: }; 2441: 2441: 2441: class overflow_error : public runtime_error 2441: { 2441: public: 2441: explicit overflow_error(const string& __arg) ; 2441: 2441: explicit overflow_error(const char*) ; 2441: 2441: virtual ~overflow_error() noexcept; 2441: }; 2441: 2441: 2441: class underflow_error : public runtime_error 2441: { 2441: public: 2441: explicit underflow_error(const string& __arg) ; 2441: 2441: explicit underflow_error(const char*) ; 2441: 2441: virtual ~underflow_error() noexcept; 2441: }; 2441: 2441: 2441: 2441: 2441: } 2441: # 42 "/usr/include/gmpxx.h" 2 3 4 2441: # 1 "/usr/include/c++/8/cfloat" 1 3 4 2441: # 39 "/usr/include/c++/8/cfloat" 3 4 2441: 2441: # 40 "/usr/include/c++/8/cfloat" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/float.h" 1 3 4 2441: # 43 "/usr/include/c++/8/cfloat" 2 3 2441: # 43 "/usr/include/gmpxx.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/gmp.h" 1 3 4 2441: # 35 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: # 1 "/usr/include/c++/8/cstdio" 1 3 4 2441: # 39 "/usr/include/c++/8/cstdio" 3 4 2441: 2441: # 40 "/usr/include/c++/8/cstdio" 3 2441: # 36 "/usr/include/i386-linux-gnu/gmp.h" 2 3 4 2441: # 55 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 56 "/usr/include/i386-linux-gnu/gmp.h" 2 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 34 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/syslimits.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 194 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 3 4 2441: # 1 "/usr/include/limits.h" 1 3 4 2441: # 26 "/usr/include/limits.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 1 3 4 2441: # 27 "/usr/include/limits.h" 2 3 4 2441: # 183 "/usr/include/limits.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/posix1_lim.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/posix1_lim.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 28 "/usr/include/i386-linux-gnu/bits/posix1_lim.h" 2 3 4 2441: # 161 "/usr/include/i386-linux-gnu/bits/posix1_lim.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/local_lim.h" 1 3 4 2441: # 38 "/usr/include/i386-linux-gnu/bits/local_lim.h" 3 4 2441: # 1 "/usr/include/linux/limits.h" 1 3 4 2441: # 39 "/usr/include/i386-linux-gnu/bits/local_lim.h" 2 3 4 2441: # 162 "/usr/include/i386-linux-gnu/bits/posix1_lim.h" 2 3 4 2441: # 184 "/usr/include/limits.h" 2 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/posix2_lim.h" 1 3 4 2441: # 188 "/usr/include/limits.h" 2 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/xopen_lim.h" 1 3 4 2441: # 64 "/usr/include/i386-linux-gnu/bits/xopen_lim.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/uio_lim.h" 1 3 4 2441: # 65 "/usr/include/i386-linux-gnu/bits/xopen_lim.h" 2 3 4 2441: # 192 "/usr/include/limits.h" 2 3 4 2441: # 195 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 2 3 4 2441: # 8 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/syslimits.h" 2 3 4 2441: # 35 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 2 3 4 2441: # 57 "/usr/include/i386-linux-gnu/gmp.h" 2 3 4 2441: # 141 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: typedef unsigned long int mp_limb_t; 2441: typedef long int mp_limb_signed_t; 2441: 2441: 2441: typedef unsigned long int mp_bitcnt_t; 2441: 2441: 2441: 2441: 2441: typedef struct 2441: { 2441: int _mp_alloc; 2441: 2441: int _mp_size; 2441: 2441: 2441: mp_limb_t *_mp_d; 2441: } __mpz_struct; 2441: 2441: 2441: 2441: 2441: typedef __mpz_struct MP_INT; 2441: typedef __mpz_struct mpz_t[1]; 2441: 2441: typedef mp_limb_t * mp_ptr; 2441: typedef const mp_limb_t * mp_srcptr; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef long int mp_size_t; 2441: typedef long int mp_exp_t; 2441: 2441: 2441: typedef struct 2441: { 2441: __mpz_struct _mp_num; 2441: __mpz_struct _mp_den; 2441: } __mpq_struct; 2441: 2441: typedef __mpq_struct MP_RAT; 2441: typedef __mpq_struct mpq_t[1]; 2441: 2441: typedef struct 2441: { 2441: int _mp_prec; 2441: 2441: 2441: 2441: int _mp_size; 2441: 2441: 2441: mp_exp_t _mp_exp; 2441: mp_limb_t *_mp_d; 2441: } __mpf_struct; 2441: 2441: 2441: typedef __mpf_struct mpf_t[1]; 2441: 2441: 2441: typedef enum 2441: { 2441: GMP_RAND_ALG_DEFAULT = 0, 2441: GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT 2441: } gmp_randalg_t; 2441: 2441: 2441: typedef struct 2441: { 2441: mpz_t _mp_seed; 2441: gmp_randalg_t _mp_alg; 2441: union { 2441: void *_mp_lc; 2441: } _mp_algdata; 2441: } __gmp_randstate_struct; 2441: typedef __gmp_randstate_struct gmp_randstate_t[1]; 2441: 2441: 2441: 2441: typedef const __mpz_struct *mpz_srcptr; 2441: typedef __mpz_struct *mpz_ptr; 2441: typedef const __mpf_struct *mpf_srcptr; 2441: typedef __mpf_struct *mpf_ptr; 2441: typedef const __mpq_struct *mpq_srcptr; 2441: typedef __mpq_struct *mpq_ptr; 2441: # 468 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: extern "C" { 2441: using std::FILE; 2441: 2441: 2441: 2441: void __gmp_set_memory_functions (void *(*) (size_t), 2441: void *(*) (void *, size_t, size_t), 2441: void (*) (void *, size_t)) throw (); 2441: 2441: 2441: void __gmp_get_memory_functions (void *(**) (size_t), 2441: void *(**) (void *, size_t, size_t), 2441: void (**) (void *, size_t)) throw (); 2441: 2441: 2441: extern const int __gmp_bits_per_limb; 2441: 2441: 2441: extern int __gmp_errno; 2441: 2441: 2441: extern const char * const __gmp_version; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void __gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); 2441: 2441: 2441: void __gmp_randinit_default (gmp_randstate_t); 2441: 2441: 2441: void __gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); 2441: 2441: 2441: int __gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); 2441: 2441: 2441: void __gmp_randinit_mt (gmp_randstate_t); 2441: 2441: 2441: void __gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); 2441: 2441: 2441: void __gmp_randseed (gmp_randstate_t, mpz_srcptr); 2441: 2441: 2441: void __gmp_randseed_ui (gmp_randstate_t, unsigned long int); 2441: 2441: 2441: void __gmp_randclear (gmp_randstate_t); 2441: 2441: 2441: unsigned long __gmp_urandomb_ui (gmp_randstate_t, unsigned long); 2441: 2441: 2441: unsigned long __gmp_urandomm_ui (gmp_randstate_t, unsigned long); 2441: 2441: 2441: 2441: 2441: 2441: int __gmp_asprintf (char **, const char *, ...); 2441: 2441: 2441: 2441: int __gmp_fprintf (FILE *, const char *, ...); 2441: # 550 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: int __gmp_printf (const char *, ...); 2441: 2441: 2441: int __gmp_snprintf (char *, size_t, const char *, ...); 2441: 2441: 2441: int __gmp_sprintf (char *, const char *, ...); 2441: # 588 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: int __gmp_fscanf (FILE *, const char *, ...); 2441: 2441: 2441: 2441: int __gmp_scanf (const char *, ...); 2441: 2441: 2441: int __gmp_sscanf (const char *, const char *, ...); 2441: # 617 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: void *__gmpz_realloc (mpz_ptr, mp_size_t); 2441: 2441: 2441: 2441: void __gmpz_abs (mpz_ptr, mpz_srcptr); 2441: 2441: 2441: 2441: void __gmpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_array_init (mpz_ptr, mp_size_t, mp_size_t); 2441: 2441: 2441: void __gmpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); 2441: 2441: 2441: void __gmpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); 2441: 2441: 2441: unsigned long int __gmpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: unsigned long int __gmpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); 2441: 2441: 2441: unsigned long int __gmpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: unsigned long int __gmpz_cdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_clear (mpz_ptr); 2441: 2441: 2441: void __gmpz_clears (mpz_ptr, ...); 2441: 2441: 2441: void __gmpz_clrbit (mpz_ptr, mp_bitcnt_t); 2441: 2441: 2441: int __gmpz_cmp (mpz_srcptr, mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_cmp_d (mpz_srcptr, double) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_cmp_si (mpz_srcptr, signed long int) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_cmp_ui (mpz_srcptr, unsigned long int) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_cmpabs (mpz_srcptr, mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_cmpabs_d (mpz_srcptr, double) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_cmpabs_ui (mpz_srcptr, unsigned long int) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_com (mpz_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_combit (mpz_ptr, mp_bitcnt_t); 2441: 2441: 2441: int __gmpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); 2441: 2441: 2441: int __gmpz_divisible_p (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_divisible_ui_p (mpz_srcptr, unsigned long) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_dump (mpz_srcptr); 2441: 2441: 2441: void *__gmpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); 2441: 2441: 2441: void __gmpz_fac_ui (mpz_ptr, unsigned long int); 2441: 2441: 2441: void __gmpz_2fac_ui (mpz_ptr, unsigned long int); 2441: 2441: 2441: void __gmpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); 2441: 2441: 2441: void __gmpz_primorial_ui (mpz_ptr, unsigned long int); 2441: 2441: 2441: void __gmpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); 2441: 2441: 2441: unsigned long int __gmpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: unsigned long int __gmpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); 2441: 2441: 2441: unsigned long int __gmpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: unsigned long int __gmpz_fdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_fib_ui (mpz_ptr, unsigned long int); 2441: 2441: 2441: void __gmpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); 2441: 2441: 2441: int __gmpz_fits_sint_p (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_fits_slong_p (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_fits_sshort_p (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: int __gmpz_fits_uint_p (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: int __gmpz_fits_ulong_p (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: int __gmpz_fits_ushort_p (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: void __gmpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: unsigned long int __gmpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: double __gmpz_get_d (mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: double __gmpz_get_d_2exp (signed long int *, mpz_srcptr); 2441: 2441: 2441: long int __gmpz_get_si (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: char *__gmpz_get_str (char *, int, mpz_srcptr); 2441: 2441: 2441: 2441: unsigned long int __gmpz_get_ui (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: mp_limb_t __gmpz_getlimbn (mpz_srcptr, mp_size_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: mp_bitcnt_t __gmpz_hamdist (mpz_srcptr, mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); 2441: 2441: 2441: void __gmpz_init (mpz_ptr); 2441: 2441: 2441: void __gmpz_init2 (mpz_ptr, mp_bitcnt_t); 2441: 2441: 2441: void __gmpz_inits (mpz_ptr, ...); 2441: 2441: 2441: void __gmpz_init_set (mpz_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_init_set_d (mpz_ptr, double); 2441: 2441: 2441: void __gmpz_init_set_si (mpz_ptr, signed long int); 2441: 2441: 2441: int __gmpz_init_set_str (mpz_ptr, const char *, int); 2441: 2441: 2441: void __gmpz_init_set_ui (mpz_ptr, unsigned long int); 2441: 2441: 2441: 2441: size_t __gmpz_inp_raw (mpz_ptr, FILE *); 2441: 2441: 2441: 2441: 2441: size_t __gmpz_inp_str (mpz_ptr, FILE *, int); 2441: 2441: 2441: 2441: int __gmpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: int __gmpz_jacobi (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: int __gmpz_kronecker_si (mpz_srcptr, long) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_kronecker_ui (mpz_srcptr, unsigned long) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_si_kronecker (long, mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpz_ui_kronecker (unsigned long, mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); 2441: 2441: 2441: 2441: 2441: void __gmpz_lucnum_ui (mpz_ptr, unsigned long int); 2441: 2441: 2441: void __gmpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); 2441: 2441: 2441: int __gmpz_millerrabin (mpz_srcptr, int) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: 2441: 2441: void __gmpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); 2441: 2441: 2441: void __gmpz_mul_si (mpz_ptr, mpz_srcptr, long int); 2441: 2441: 2441: void __gmpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: 2441: void __gmpz_neg (mpz_ptr, mpz_srcptr); 2441: 2441: 2441: 2441: void __gmpz_nextprime (mpz_ptr, mpz_srcptr); 2441: 2441: 2441: 2441: size_t __gmpz_out_raw (FILE *, mpz_srcptr); 2441: 2441: 2441: 2441: 2441: size_t __gmpz_out_str (FILE *, int, mpz_srcptr); 2441: 2441: 2441: 2441: int __gmpz_perfect_power_p (mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: int __gmpz_perfect_square_p (mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: mp_bitcnt_t __gmpz_popcount (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: void __gmpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); 2441: 2441: 2441: int __gmpz_probab_prime_p (mpz_srcptr, int) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_random (mpz_ptr, mp_size_t); 2441: 2441: 2441: void __gmpz_random2 (mpz_ptr, mp_size_t); 2441: 2441: 2441: void __gmpz_realloc2 (mpz_ptr, mp_bitcnt_t); 2441: 2441: 2441: mp_bitcnt_t __gmpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: int __gmpz_root (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); 2441: 2441: 2441: mp_bitcnt_t __gmpz_scan0 (mpz_srcptr, mp_bitcnt_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: mp_bitcnt_t __gmpz_scan1 (mpz_srcptr, mp_bitcnt_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_set (mpz_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_set_d (mpz_ptr, double); 2441: 2441: 2441: void __gmpz_set_f (mpz_ptr, mpf_srcptr); 2441: 2441: 2441: 2441: void __gmpz_set_q (mpz_ptr, mpq_srcptr); 2441: 2441: 2441: 2441: void __gmpz_set_si (mpz_ptr, signed long int); 2441: 2441: 2441: int __gmpz_set_str (mpz_ptr, const char *, int); 2441: 2441: 2441: void __gmpz_set_ui (mpz_ptr, unsigned long int); 2441: 2441: 2441: void __gmpz_setbit (mpz_ptr, mp_bitcnt_t); 2441: 2441: 2441: 2441: size_t __gmpz_size (mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: size_t __gmpz_sizeinbase (mpz_srcptr, int) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_sqrt (mpz_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); 2441: 2441: 2441: void __gmpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_swap (mpz_ptr, mpz_ptr) throw (); 2441: 2441: 2441: unsigned long int __gmpz_tdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); 2441: 2441: 2441: unsigned long int __gmpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: unsigned long int __gmpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: void __gmpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); 2441: 2441: 2441: unsigned long int __gmpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); 2441: 2441: 2441: int __gmpz_tstbit (mpz_srcptr, mp_bitcnt_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); 2441: 2441: 2441: void __gmpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); 2441: 2441: 2441: void __gmpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); 2441: 2441: 2441: 2441: void __gmpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); 2441: 2441: 2441: mp_srcptr __gmpz_limbs_read (mpz_srcptr); 2441: 2441: 2441: mp_ptr __gmpz_limbs_write (mpz_ptr, mp_size_t); 2441: 2441: 2441: mp_ptr __gmpz_limbs_modify (mpz_ptr, mp_size_t); 2441: 2441: 2441: void __gmpz_limbs_finish (mpz_ptr, mp_size_t); 2441: 2441: 2441: mpz_srcptr __gmpz_roinit_n (mpz_ptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void __gmpq_abs (mpq_ptr, mpq_srcptr); 2441: 2441: 2441: 2441: void __gmpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); 2441: 2441: 2441: void __gmpq_canonicalize (mpq_ptr); 2441: 2441: 2441: void __gmpq_clear (mpq_ptr); 2441: 2441: 2441: void __gmpq_clears (mpq_ptr, ...); 2441: 2441: 2441: int __gmpq_cmp (mpq_srcptr, mpq_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpq_cmp_si (mpq_srcptr, long, unsigned long) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpq_cmp_z (mpq_srcptr, mpz_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); 2441: 2441: 2441: void __gmpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); 2441: 2441: 2441: int __gmpq_equal (mpq_srcptr, mpq_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpq_get_num (mpz_ptr, mpq_srcptr); 2441: 2441: 2441: void __gmpq_get_den (mpz_ptr, mpq_srcptr); 2441: 2441: 2441: double __gmpq_get_d (mpq_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: char *__gmpq_get_str (char *, int, mpq_srcptr); 2441: 2441: 2441: void __gmpq_init (mpq_ptr); 2441: 2441: 2441: void __gmpq_inits (mpq_ptr, ...); 2441: 2441: 2441: 2441: size_t __gmpq_inp_str (mpq_ptr, FILE *, int); 2441: 2441: 2441: 2441: void __gmpq_inv (mpq_ptr, mpq_srcptr); 2441: 2441: 2441: void __gmpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); 2441: 2441: 2441: void __gmpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); 2441: 2441: 2441: 2441: void __gmpq_neg (mpq_ptr, mpq_srcptr); 2441: 2441: 2441: 2441: 2441: size_t __gmpq_out_str (FILE *, int, mpq_srcptr); 2441: 2441: 2441: 2441: void __gmpq_set (mpq_ptr, mpq_srcptr); 2441: 2441: 2441: void __gmpq_set_d (mpq_ptr, double); 2441: 2441: 2441: void __gmpq_set_den (mpq_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpq_set_f (mpq_ptr, mpf_srcptr); 2441: 2441: 2441: void __gmpq_set_num (mpq_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpq_set_si (mpq_ptr, signed long int, unsigned long int); 2441: 2441: 2441: int __gmpq_set_str (mpq_ptr, const char *, int); 2441: 2441: 2441: void __gmpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); 2441: 2441: 2441: void __gmpq_set_z (mpq_ptr, mpz_srcptr); 2441: 2441: 2441: void __gmpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); 2441: 2441: 2441: void __gmpq_swap (mpq_ptr, mpq_ptr) throw (); 2441: 2441: 2441: 2441: 2441: 2441: void __gmpf_abs (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); 2441: 2441: void __gmpf_ceil (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_clear (mpf_ptr); 2441: 2441: 2441: void __gmpf_clears (mpf_ptr, ...); 2441: 2441: 2441: int __gmpf_cmp (mpf_srcptr, mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_cmp_z (mpf_srcptr, mpz_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_cmp_d (mpf_srcptr, double) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_cmp_si (mpf_srcptr, signed long int) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_cmp_ui (mpf_srcptr, unsigned long int) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); 2441: 2441: 2441: void __gmpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpf_dump (mpf_srcptr); 2441: 2441: 2441: int __gmpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_fits_sint_p (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_fits_slong_p (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_fits_sshort_p (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_fits_uint_p (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_fits_ulong_p (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpf_fits_ushort_p (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpf_floor (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: double __gmpf_get_d (mpf_srcptr) __attribute__ ((__pure__)); 2441: 2441: 2441: double __gmpf_get_d_2exp (signed long int *, mpf_srcptr); 2441: 2441: 2441: mp_bitcnt_t __gmpf_get_default_prec (void) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: mp_bitcnt_t __gmpf_get_prec (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: long __gmpf_get_si (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: char *__gmpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); 2441: 2441: 2441: unsigned long __gmpf_get_ui (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpf_init (mpf_ptr); 2441: 2441: 2441: void __gmpf_init2 (mpf_ptr, mp_bitcnt_t); 2441: 2441: 2441: void __gmpf_inits (mpf_ptr, ...); 2441: 2441: 2441: void __gmpf_init_set (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_init_set_d (mpf_ptr, double); 2441: 2441: 2441: void __gmpf_init_set_si (mpf_ptr, signed long int); 2441: 2441: 2441: int __gmpf_init_set_str (mpf_ptr, const char *, int); 2441: 2441: 2441: void __gmpf_init_set_ui (mpf_ptr, unsigned long int); 2441: 2441: 2441: 2441: size_t __gmpf_inp_str (mpf_ptr, FILE *, int); 2441: 2441: 2441: 2441: int __gmpf_integer_p (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); 2441: 2441: 2441: void __gmpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpf_neg (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: 2441: size_t __gmpf_out_str (FILE *, int, size_t, mpf_srcptr); 2441: 2441: 2441: 2441: void __gmpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); 2441: 2441: 2441: void __gmpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_set (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_set_d (mpf_ptr, double); 2441: 2441: 2441: void __gmpf_set_default_prec (mp_bitcnt_t) throw (); 2441: 2441: 2441: void __gmpf_set_prec (mpf_ptr, mp_bitcnt_t); 2441: 2441: 2441: void __gmpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) throw (); 2441: 2441: 2441: void __gmpf_set_q (mpf_ptr, mpq_srcptr); 2441: 2441: 2441: void __gmpf_set_si (mpf_ptr, signed long int); 2441: 2441: 2441: int __gmpf_set_str (mpf_ptr, const char *, int); 2441: 2441: 2441: void __gmpf_set_ui (mpf_ptr, unsigned long int); 2441: 2441: 2441: void __gmpf_set_z (mpf_ptr, mpz_srcptr); 2441: 2441: 2441: size_t __gmpf_size (mpf_srcptr) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpf_sqrt (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_sqrt_ui (mpf_ptr, unsigned long int); 2441: 2441: 2441: void __gmpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); 2441: 2441: 2441: void __gmpf_swap (mpf_ptr, mpf_ptr) throw (); 2441: 2441: 2441: void __gmpf_trunc (mpf_ptr, mpf_srcptr); 2441: 2441: 2441: void __gmpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); 2441: 2441: 2441: void __gmpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); 2441: 2441: 2441: void __gmpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); 2441: # 1461 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: mp_limb_t __gmpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); 2441: 2441: 2441: 2441: 2441: mp_limb_t __gmpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) throw (); 2441: 2441: 2441: 2441: mp_limb_t __gmpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); 2441: 2441: 2441: 2441: int __gmpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: 2441: int __gmpn_zero_p (mp_srcptr, mp_size_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: 2441: void __gmpn_divexact_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); 2441: 2441: 2441: 2441: 2441: 2441: mp_limb_t __gmpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); 2441: 2441: 2441: 2441: 2441: 2441: mp_limb_t __gmpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); 2441: 2441: 2441: mp_limb_t __gmpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); 2441: 2441: 2441: mp_limb_t __gmpn_div_qr_1 (mp_ptr, mp_limb_t *, mp_srcptr, mp_size_t, mp_limb_t); 2441: 2441: 2441: mp_limb_t __gmpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); 2441: 2441: 2441: mp_size_t __gmpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __attribute__ ((__pure__)); 2441: 2441: 2441: mp_limb_t __gmpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); 2441: 2441: 2441: mp_size_t __gmpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); 2441: 2441: 2441: size_t __gmpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); 2441: 2441: 2441: mp_bitcnt_t __gmpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: mp_limb_t __gmpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); 2441: 2441: 2441: mp_limb_t __gmpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __attribute__ ((__pure__)); 2441: 2441: 2441: mp_limb_t __gmpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); 2441: 2441: 2441: void __gmpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: void __gmpn_sqr (mp_ptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: 2441: mp_limb_t __gmpn_neg (mp_ptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: 2441: void __gmpn_com (mp_ptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: int __gmpn_perfect_square_p (mp_srcptr, mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpn_perfect_power_p (mp_srcptr, mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: mp_bitcnt_t __gmpn_popcount (mp_srcptr, mp_size_t) throw () __attribute__ ((__pure__)); 2441: 2441: 2441: mp_size_t __gmpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); 2441: 2441: 2441: 2441: mp_limb_t __gmpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpn_random (mp_ptr, mp_size_t); 2441: 2441: 2441: void __gmpn_random2 (mp_ptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); 2441: 2441: 2441: mp_bitcnt_t __gmpn_scan0 (mp_srcptr, mp_bitcnt_t) __attribute__ ((__pure__)); 2441: 2441: 2441: mp_bitcnt_t __gmpn_scan1 (mp_srcptr, mp_bitcnt_t) __attribute__ ((__pure__)); 2441: 2441: 2441: mp_size_t __gmpn_set_str (mp_ptr, const unsigned char *, size_t, int); 2441: 2441: 2441: size_t __gmpn_sizeinbase (mp_srcptr, mp_size_t, int); 2441: 2441: 2441: mp_size_t __gmpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: 2441: mp_limb_t __gmpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); 2441: 2441: 2441: 2441: 2441: mp_limb_t __gmpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) throw (); 2441: 2441: 2441: 2441: mp_limb_t __gmpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); 2441: 2441: 2441: void __gmpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); 2441: 2441: 2441: void __gmpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: void __gmpn_copyi (mp_ptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_copyd (mp_ptr, mp_srcptr, mp_size_t); 2441: 2441: void __gmpn_zero (mp_ptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_cnd_add_n (mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: mp_limb_t __gmpn_cnd_sub_n (mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_sec_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_add_1_itch (mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: mp_limb_t __gmpn_sec_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_sub_1_itch (mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpn_cnd_swap (mp_limb_t, volatile mp_limb_t *, volatile mp_limb_t *, mp_size_t); 2441: 2441: 2441: void __gmpn_sec_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_mul_itch (mp_size_t, mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpn_sec_sqr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_sqr_itch (mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpn_sec_powm (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_bitcnt_t, mp_srcptr, mp_size_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_powm_itch (mp_size_t, mp_bitcnt_t, mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: void __gmpn_sec_tabselect (volatile mp_limb_t *, volatile const mp_limb_t *, mp_size_t, mp_size_t, mp_size_t); 2441: 2441: 2441: mp_limb_t __gmpn_sec_div_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_div_qr_itch (mp_size_t, mp_size_t) __attribute__ ((__pure__)); 2441: 2441: void __gmpn_sec_div_r (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_div_r_itch (mp_size_t, mp_size_t) __attribute__ ((__pure__)); 2441: 2441: 2441: int __gmpn_sec_invert (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_bitcnt_t, mp_ptr); 2441: 2441: mp_size_t __gmpn_sec_invert_itch (mp_size_t) __attribute__ ((__pure__)); 2441: # 1707 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: extern __inline__ __attribute__ ((__gnu_inline__)) void 2441: __gmpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) 2441: { 2441: if (__gmp_w != __gmp_u) 2441: __gmpz_set (__gmp_w, __gmp_u); 2441: __gmp_w->_mp_size = ((__gmp_w->_mp_size) >= 0 ? (__gmp_w->_mp_size) : -(__gmp_w->_mp_size)); 2441: } 2441: # 1731 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: int 2441: __gmpz_fits_uint_p (mpz_srcptr __gmp_z) throw () 2441: { 2441: mp_size_t __gmp_n = __gmp_z->_mp_size; mp_ptr __gmp_p = __gmp_z->_mp_d; return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= (0x7fffffff * 2U + 1U)));; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: int 2441: __gmpz_fits_ulong_p (mpz_srcptr __gmp_z) throw () 2441: { 2441: mp_size_t __gmp_n = __gmp_z->_mp_size; mp_ptr __gmp_p = __gmp_z->_mp_d; return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= (0x7fffffffL * 2UL + 1UL)));; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: int 2441: __gmpz_fits_ushort_p (mpz_srcptr __gmp_z) throw () 2441: { 2441: mp_size_t __gmp_n = __gmp_z->_mp_size; mp_ptr __gmp_p = __gmp_z->_mp_d; return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= (0x7fff * 2 + 1)));; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: unsigned long 2441: __gmpz_get_ui (mpz_srcptr __gmp_z) throw () 2441: { 2441: mp_ptr __gmp_p = __gmp_z->_mp_d; 2441: mp_size_t __gmp_n = __gmp_z->_mp_size; 2441: mp_limb_t __gmp_l = __gmp_p[0]; 2441: 2441: 2441: 2441: 2441: 2441: 2441: return (__gmp_n != 0 ? __gmp_l : 0); 2441: # 1787 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: mp_limb_t 2441: __gmpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) throw () 2441: { 2441: mp_limb_t __gmp_result = 0; 2441: if (__builtin_expect ((__gmp_n >= 0 && __gmp_n < ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) : -(__gmp_z->_mp_size))) != 0, 1)) 2441: __gmp_result = __gmp_z->_mp_d[__gmp_n]; 2441: return __gmp_result; 2441: } 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) void 2441: __gmpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) 2441: { 2441: if (__gmp_w != __gmp_u) 2441: __gmpz_set (__gmp_w, __gmp_u); 2441: __gmp_w->_mp_size = - __gmp_w->_mp_size; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: int 2441: __gmpz_perfect_square_p (mpz_srcptr __gmp_a) 2441: { 2441: mp_size_t __gmp_asize; 2441: int __gmp_result; 2441: 2441: __gmp_asize = __gmp_a->_mp_size; 2441: __gmp_result = (__gmp_asize >= 0); 2441: if (__builtin_expect ((__gmp_asize > 0) != 0, 1)) 2441: __gmp_result = __gmpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); 2441: return __gmp_result; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: mp_bitcnt_t 2441: __gmpz_popcount (mpz_srcptr __gmp_u) throw () 2441: { 2441: mp_size_t __gmp_usize; 2441: mp_bitcnt_t __gmp_result; 2441: 2441: __gmp_usize = __gmp_u->_mp_size; 2441: __gmp_result = (__gmp_usize < 0 ? (0x7fffffffL * 2UL + 1UL) : 0); 2441: if (__builtin_expect ((__gmp_usize > 0) != 0, 1)) 2441: __gmp_result = __gmpn_popcount (__gmp_u->_mp_d, __gmp_usize); 2441: return __gmp_result; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: void 2441: __gmpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) 2441: { 2441: __gmpz_tdiv_q (__gmp_w, (&((__gmp_u)->_mp_num)), (&((__gmp_u)->_mp_den))); 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: size_t 2441: __gmpz_size (mpz_srcptr __gmp_z) throw () 2441: { 2441: return ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) : -(__gmp_z->_mp_size)); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) void 2441: __gmpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) 2441: { 2441: if (__gmp_w != __gmp_u) 2441: __gmpq_set (__gmp_w, __gmp_u); 2441: __gmp_w->_mp_num._mp_size = ((__gmp_w->_mp_num._mp_size) >= 0 ? (__gmp_w->_mp_num._mp_size) : -(__gmp_w->_mp_num._mp_size)); 2441: } 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) void 2441: __gmpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) 2441: { 2441: if (__gmp_w != __gmp_u) 2441: __gmpq_set (__gmp_w, __gmp_u); 2441: __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; 2441: } 2441: # 2129 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: mp_limb_t 2441: __gmpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) 2441: { 2441: mp_limb_t __gmp_c; 2441: do { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = (__gmp_ysize); if (__gmp_i != 0) { if (__gmpn_add_n (__gmp_wp, __gmp_xp, __gmp_yp, __gmp_i)) { do { if (__gmp_i >= (__gmp_xsize)) { (__gmp_c) = 1; goto __gmp_done; } __gmp_x = (__gmp_xp)[__gmp_i]; } while ((((__gmp_wp)[__gmp_i++] = (__gmp_x + 1) & ((~ (static_cast (0))) >> 0)) == 0)); } } if ((__gmp_wp) != (__gmp_xp)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_xsize); __gmp_j++) (__gmp_wp)[__gmp_j] = (__gmp_xp)[__gmp_j]; } while (0); (__gmp_c) = 0; __gmp_done: ; } while (0); 2441: return __gmp_c; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: mp_limb_t 2441: __gmpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) throw () 2441: { 2441: mp_limb_t __gmp_c; 2441: do { mp_size_t __gmp_i; mp_limb_t __gmp_x, __gmp_r; __gmp_x = (__gmp_src)[0]; __gmp_r = __gmp_x + (__gmp_n); (__gmp_dst)[0] = __gmp_r; if (((__gmp_r) < ((__gmp_n)))) { (__gmp_c) = 1; for (__gmp_i = 1; __gmp_i < (__gmp_size);) { __gmp_x = (__gmp_src)[__gmp_i]; __gmp_r = __gmp_x + 1; (__gmp_dst)[__gmp_i] = __gmp_r; ++__gmp_i; if (!((__gmp_r) < (1))) { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; break; } } } else { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (1); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; } } while (0); 2441: return __gmp_c; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: int 2441: __gmpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) throw () 2441: { 2441: int __gmp_result; 2441: do { mp_size_t __gmp_i; mp_limb_t __gmp_x, __gmp_y; (__gmp_result) = 0; __gmp_i = (__gmp_size); while (--__gmp_i >= 0) { __gmp_x = (__gmp_xp)[__gmp_i]; __gmp_y = (__gmp_yp)[__gmp_i]; if (__gmp_x != __gmp_y) { (__gmp_result) = (__gmp_x > __gmp_y ? 1 : -1); break; } } } while (0); 2441: return __gmp_result; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: int 2441: __gmpn_zero_p (mp_srcptr __gmp_p, mp_size_t __gmp_n) throw () 2441: { 2441: 2441: do { 2441: if (__gmp_p[--__gmp_n] != 0) 2441: return 0; 2441: } while (__gmp_n != 0); 2441: return 1; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: mp_limb_t 2441: __gmpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) 2441: { 2441: mp_limb_t __gmp_c; 2441: do { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = (__gmp_ysize); if (__gmp_i != 0) { if (__gmpn_sub_n (__gmp_wp, __gmp_xp, __gmp_yp, __gmp_i)) { do { if (__gmp_i >= (__gmp_xsize)) { (__gmp_c) = 1; goto __gmp_done; } __gmp_x = (__gmp_xp)[__gmp_i]; } while ((((__gmp_wp)[__gmp_i++] = (__gmp_x - 1) & ((~ (static_cast (0))) >> 0)), __gmp_x == 0)); } } if ((__gmp_wp) != (__gmp_xp)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_xsize); __gmp_j++) (__gmp_wp)[__gmp_j] = (__gmp_xp)[__gmp_j]; } while (0); (__gmp_c) = 0; __gmp_done: ; } while (0); 2441: return __gmp_c; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: mp_limb_t 2441: __gmpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) throw () 2441: { 2441: mp_limb_t __gmp_c; 2441: do { mp_size_t __gmp_i; mp_limb_t __gmp_x, __gmp_r; __gmp_x = (__gmp_src)[0]; __gmp_r = __gmp_x - (__gmp_n); (__gmp_dst)[0] = __gmp_r; if (((__gmp_x) < ((__gmp_n)))) { (__gmp_c) = 1; for (__gmp_i = 1; __gmp_i < (__gmp_size);) { __gmp_x = (__gmp_src)[__gmp_i]; __gmp_r = __gmp_x - 1; (__gmp_dst)[__gmp_i] = __gmp_r; ++__gmp_i; if (!((__gmp_x) < (1))) { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; break; } } } else { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (1); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; } } while (0); 2441: return __gmp_c; 2441: } 2441: 2441: 2441: 2441: 2441: extern __inline__ __attribute__ ((__gnu_inline__)) 2441: 2441: mp_limb_t 2441: __gmpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) 2441: { 2441: while (*__gmp_up == 0) 2441: { 2441: *__gmp_rp = 0; 2441: if (!--__gmp_n) 2441: return 0; 2441: ++__gmp_up; ++__gmp_rp; 2441: } 2441: 2441: *__gmp_rp = (- *__gmp_up) & ((~ (static_cast (0))) >> 0); 2441: 2441: if (--__gmp_n) 2441: __gmpn_com (++__gmp_rp, ++__gmp_up, __gmp_n); 2441: 2441: return 1; 2441: } 2441: 2441: 2441: 2441: } 2441: # 2278 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: std::ostream& operator<< (std::ostream &, mpz_srcptr); 2441: std::ostream& operator<< (std::ostream &, mpq_srcptr); 2441: std::ostream& operator<< (std::ostream &, mpf_srcptr); 2441: std::istream& operator>> (std::istream &, mpz_ptr); 2441: std::istream& operator>> (std::istream &, mpq_ptr); 2441: std::istream& operator>> (std::istream &, mpf_ptr); 2441: # 2309 "/usr/include/i386-linux-gnu/gmp.h" 3 4 2441: enum 2441: { 2441: GMP_ERROR_NONE = 0, 2441: GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, 2441: GMP_ERROR_DIVISION_BY_ZERO = 2, 2441: GMP_ERROR_SQRT_OF_NEGATIVE = 4, 2441: GMP_ERROR_INVALID_ARGUMENT = 8 2441: }; 2441: # 44 "/usr/include/gmpxx.h" 2 3 4 2441: # 85 "/usr/include/gmpxx.h" 3 4 2441: inline void __mpz_set_ui_safe(mpz_ptr p, unsigned long l) 2441: { 2441: p->_mp_size = (l != 0); 2441: p->_mp_d[0] = l & ((~ (static_cast (0))) >> 0); 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: inline void __mpz_set_si_safe(mpz_ptr p, long l) 2441: { 2441: if(l < 0) 2441: { 2441: __mpz_set_ui_safe(p, -static_cast(l)); 2441: __gmpz_neg(p, p); 2441: } 2441: else 2441: __mpz_set_ui_safe(p, l); 2441: 2441: } 2441: # 151 "/usr/include/gmpxx.h" 3 4 2441: inline unsigned long __gmpxx_abs_ui (signed long l) 2441: { 2441: return l >= 0 ? static_cast(l) 2441: : -static_cast(l); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct __gmp_unary_plus 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w) { __gmpz_set(z, w); } 2441: static void eval(mpq_ptr q, mpq_srcptr r) { __gmpq_set(q, r); } 2441: static void eval(mpf_ptr f, mpf_srcptr g) { __gmpf_set(f, g); } 2441: }; 2441: 2441: struct __gmp_unary_minus 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w) { __gmpz_neg(z, w); } 2441: static void eval(mpq_ptr q, mpq_srcptr r) { __gmpq_neg(q, r); } 2441: static void eval(mpf_ptr f, mpf_srcptr g) { __gmpf_neg(f, g); } 2441: }; 2441: 2441: struct __gmp_unary_com 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w) { __gmpz_com(z, w); } 2441: }; 2441: 2441: struct __gmp_binary_plus 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_add(z, w, v); } 2441: 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { 2441: 2441: 2441: if (__builtin_constant_p(l) && l == 0) 2441: { 2441: if (z != w) __gmpz_set(z, w); 2441: } 2441: else 2441: __gmpz_add_ui(z, w, l); 2441: } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { 2441: if (l >= 0) 2441: eval(z, w, static_cast(l)); 2441: else 2441: __gmpz_sub_ui(z, w, -static_cast(l)); 2441: } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_add (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { eval(z, w, d); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) 2441: { __gmpq_add(q, r, s); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) 2441: { 2441: if (__builtin_constant_p(l) && l == 0) 2441: { 2441: if (q != r) __gmpq_set(q, r); 2441: } 2441: else 2441: { 2441: if (q == r) 2441: __gmpz_addmul_ui((&((q)->_mp_num)), (&((q)->_mp_den)), l); 2441: else 2441: { 2441: __gmpz_mul_ui((&((q)->_mp_num)), (&((r)->_mp_den)), l); 2441: __gmpz_add((&((q)->_mp_num)), (&((q)->_mp_num)), (&((r)->_mp_num))); 2441: __gmpz_set((&((q)->_mp_den)), (&((r)->_mp_den))); 2441: } 2441: } 2441: } 2441: static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) 2441: { eval(q, r, l); } 2441: static inline void eval(mpq_ptr q, mpq_srcptr r, signed long int l); 2441: 2441: static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) 2441: { eval(q, r, l); } 2441: static void eval(mpq_ptr q, mpq_srcptr r, double d) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); __gmpq_add (q, r, temp); } 2441: static void eval(mpq_ptr q, double d, mpq_srcptr r) 2441: { eval(q, r, d); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, mpz_srcptr z) 2441: { 2441: if (q == r) 2441: __gmpz_addmul((&((q)->_mp_num)), (&((q)->_mp_den)), z); 2441: else 2441: { 2441: __gmpz_mul((&((q)->_mp_num)), (&((r)->_mp_den)), z); 2441: __gmpz_add((&((q)->_mp_num)), (&((q)->_mp_num)), (&((r)->_mp_num))); 2441: __gmpz_set((&((q)->_mp_den)), (&((r)->_mp_den))); 2441: } 2441: } 2441: static void eval(mpq_ptr q, mpz_srcptr z, mpq_srcptr r) 2441: { eval(q, r, z); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h) 2441: { __gmpf_add(f, g, h); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l) 2441: { __gmpf_add_ui(f, g, l); } 2441: static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g) 2441: { __gmpf_add_ui(f, g, l); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, signed long int l) 2441: { 2441: if (l >= 0) 2441: __gmpf_add_ui(f, g, l); 2441: else 2441: __gmpf_sub_ui(f, g, -static_cast(l)); 2441: } 2441: static void eval(mpf_ptr f, signed long int l, mpf_srcptr g) 2441: { eval(f, g, l); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, double d) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, 8*sizeof(double)); 2441: __gmpf_set_d(temp, d); 2441: __gmpf_add(f, g, temp); 2441: __gmpf_clear(temp); 2441: } 2441: static void eval(mpf_ptr f, double d, mpf_srcptr g) 2441: { eval(f, g, d); } 2441: }; 2441: 2441: struct __gmp_binary_minus 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_sub(z, w, v); } 2441: 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { 2441: if (__builtin_constant_p(l) && l == 0) 2441: { 2441: if (z != w) __gmpz_set(z, w); 2441: } 2441: else 2441: __gmpz_sub_ui(z, w, l); 2441: } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { 2441: if (__builtin_constant_p(l) && l == 0) 2441: { 2441: __gmpz_neg(z, w); 2441: } 2441: else 2441: __gmpz_ui_sub(z, l, w); 2441: } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { 2441: if (l >= 0) 2441: eval(z, w, static_cast(l)); 2441: else 2441: __gmpz_add_ui(z, w, -static_cast(l)); 2441: } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { 2441: if (l >= 0) 2441: eval(z, static_cast(l), w); 2441: else 2441: { 2441: __gmpz_add_ui(z, w, -static_cast(l)); 2441: __gmpz_neg(z, z); 2441: } 2441: } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_sub (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_sub (z, temp, w); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) 2441: { __gmpq_sub(q, r, s); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) 2441: { 2441: if (__builtin_constant_p(l) && l == 0) 2441: { 2441: if (q != r) __gmpq_set(q, r); 2441: } 2441: else 2441: { 2441: if (q == r) 2441: __gmpz_submul_ui((&((q)->_mp_num)), (&((q)->_mp_den)), l); 2441: else 2441: { 2441: __gmpz_mul_ui((&((q)->_mp_num)), (&((r)->_mp_den)), l); 2441: __gmpz_sub((&((q)->_mp_num)), (&((r)->_mp_num)), (&((q)->_mp_num))); 2441: __gmpz_set((&((q)->_mp_den)), (&((r)->_mp_den))); 2441: } 2441: } 2441: } 2441: static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) 2441: { eval(q, r, l); __gmpq_neg(q, q); } 2441: static void eval(mpq_ptr q, mpq_srcptr r, signed long int l) 2441: { 2441: if (l >= 0) 2441: eval(q, r, static_cast(l)); 2441: else 2441: __gmp_binary_plus::eval(q, r, -static_cast(l)); 2441: } 2441: static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) 2441: { eval(q, r, l); __gmpq_neg(q, q); } 2441: static void eval(mpq_ptr q, mpq_srcptr r, double d) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); __gmpq_sub (q, r, temp); } 2441: static void eval(mpq_ptr q, double d, mpq_srcptr r) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); __gmpq_sub (q, temp, r); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, mpz_srcptr z) 2441: { 2441: if (q == r) 2441: __gmpz_submul((&((q)->_mp_num)), (&((q)->_mp_den)), z); 2441: else 2441: { 2441: __gmpz_mul((&((q)->_mp_num)), (&((r)->_mp_den)), z); 2441: __gmpz_sub((&((q)->_mp_num)), (&((r)->_mp_num)), (&((q)->_mp_num))); 2441: __gmpz_set((&((q)->_mp_den)), (&((r)->_mp_den))); 2441: } 2441: } 2441: static void eval(mpq_ptr q, mpz_srcptr z, mpq_srcptr r) 2441: { eval(q, r, z); __gmpq_neg(q, q); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h) 2441: { __gmpf_sub(f, g, h); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l) 2441: { __gmpf_sub_ui(f, g, l); } 2441: static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g) 2441: { __gmpf_ui_sub(f, l, g); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, signed long int l) 2441: { 2441: if (l >= 0) 2441: __gmpf_sub_ui(f, g, l); 2441: else 2441: __gmpf_add_ui(f, g, -static_cast(l)); 2441: } 2441: static void eval(mpf_ptr f, signed long int l, mpf_srcptr g) 2441: { 2441: if (l >= 0) 2441: __gmpf_sub_ui(f, g, l); 2441: else 2441: __gmpf_add_ui(f, g, -static_cast(l)); 2441: __gmpf_neg(f, f); 2441: } 2441: static void eval(mpf_ptr f, mpf_srcptr g, double d) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, 8*sizeof(double)); 2441: __gmpf_set_d(temp, d); 2441: __gmpf_sub(f, g, temp); 2441: __gmpf_clear(temp); 2441: } 2441: static void eval(mpf_ptr f, double d, mpf_srcptr g) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, 8*sizeof(double)); 2441: __gmpf_set_d(temp, d); 2441: __gmpf_sub(f, temp, g); 2441: __gmpf_clear(temp); 2441: } 2441: }; 2441: 2441: 2441: inline void 2441: __gmp_binary_plus::eval(mpq_ptr q, mpq_srcptr r, signed long int l) 2441: { 2441: if (l >= 0) 2441: eval(q, r, static_cast(l)); 2441: else 2441: __gmp_binary_minus::eval(q, r, -static_cast(l)); 2441: } 2441: 2441: struct __gmp_binary_lshift 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mp_bitcnt_t l) 2441: { 2441: if (__builtin_constant_p(l) && (l == 0)) 2441: { 2441: if (z != w) __gmpz_set(z, w); 2441: } 2441: else 2441: __gmpz_mul_2exp(z, w, l); 2441: } 2441: static void eval(mpq_ptr q, mpq_srcptr r, mp_bitcnt_t l) 2441: { 2441: if (__builtin_constant_p(l) && (l == 0)) 2441: { 2441: if (q != r) __gmpq_set(q, r); 2441: } 2441: else 2441: __gmpq_mul_2exp(q, r, l); 2441: } 2441: static void eval(mpf_ptr f, mpf_srcptr g, mp_bitcnt_t l) 2441: { __gmpf_mul_2exp(f, g, l); } 2441: }; 2441: 2441: struct __gmp_binary_rshift 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mp_bitcnt_t l) 2441: { 2441: if (__builtin_constant_p(l) && (l == 0)) 2441: { 2441: if (z != w) __gmpz_set(z, w); 2441: } 2441: else 2441: __gmpz_fdiv_q_2exp(z, w, l); 2441: } 2441: static void eval(mpq_ptr q, mpq_srcptr r, mp_bitcnt_t l) 2441: { 2441: if (__builtin_constant_p(l) && (l == 0)) 2441: { 2441: if (q != r) __gmpq_set(q, r); 2441: } 2441: else 2441: __gmpq_div_2exp(q, r, l); 2441: } 2441: static void eval(mpf_ptr f, mpf_srcptr g, mp_bitcnt_t l) 2441: { __gmpf_div_2exp(f, g, l); } 2441: }; 2441: 2441: struct __gmp_binary_multiplies 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_mul(z, w, v); } 2441: 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { 2441: 2441: 2441: if (__builtin_constant_p(l) && (l & (l-1)) == 0) 2441: { 2441: if (l == 0) 2441: { 2441: z->_mp_size = 0; 2441: } 2441: else 2441: { 2441: __gmp_binary_lshift::eval(z, w, __builtin_ctzl(l)); 2441: } 2441: } 2441: else 2441: 2441: __gmpz_mul_ui(z, w, l); 2441: } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: eval(z, w, static_cast(l)); 2441: else if ((__builtin_constant_p(l <= 0) && (l <= 0))) 2441: { 2441: eval(z, w, -static_cast(l)); 2441: __gmpz_neg(z, z); 2441: } 2441: else 2441: __gmpz_mul_si (z, w, l); 2441: } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_mul (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { eval(z, w, d); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) 2441: { __gmpq_mul(q, r, s); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) 2441: { 2441: 2441: if (__builtin_constant_p(l) && (l & (l-1)) == 0) 2441: { 2441: if (l == 0) 2441: { 2441: __gmpq_set_ui(q, 0, 1); 2441: } 2441: else 2441: { 2441: __gmp_binary_lshift::eval(q, r, __builtin_ctzl(l)); 2441: } 2441: } 2441: else 2441: 2441: { 2441: mpq_t temp; mp_limb_t limbs[1 +1]; (&((temp)->_mp_num))->_mp_d = limbs; __mpz_set_ui_safe ((&((temp)->_mp_num)), l); (&((temp)->_mp_den))->_mp_d = limbs + 1; (&((temp)->_mp_den))->_mp_size = 1; (&((temp)->_mp_den))->_mp_d[0] = 1; 2441: __gmpq_mul (q, r, temp); 2441: } 2441: } 2441: static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) 2441: { eval(q, r, l); } 2441: static void eval(mpq_ptr q, mpq_srcptr r, signed long int l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: eval(q, r, static_cast(l)); 2441: else if ((__builtin_constant_p(l <= 0) && (l <= 0))) 2441: { 2441: eval(q, r, -static_cast(l)); 2441: __gmpq_neg(q, q); 2441: } 2441: else 2441: { 2441: mpq_t temp; mp_limb_t limbs[1 +1]; (&((temp)->_mp_num))->_mp_d = limbs; __mpz_set_si_safe ((&((temp)->_mp_num)), l); (&((temp)->_mp_den))->_mp_d = limbs + 1; (&((temp)->_mp_den))->_mp_size = 1; (&((temp)->_mp_den))->_mp_d[0] = 1; 2441: __gmpq_mul (q, r, temp); 2441: } 2441: } 2441: static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) 2441: { eval(q, r, l); } 2441: static void eval(mpq_ptr q, mpq_srcptr r, double d) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); __gmpq_mul (q, r, temp); } 2441: static void eval(mpq_ptr q, double d, mpq_srcptr r) 2441: { eval(q, r, d); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h) 2441: { __gmpf_mul(f, g, h); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l) 2441: { __gmpf_mul_ui(f, g, l); } 2441: static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g) 2441: { __gmpf_mul_ui(f, g, l); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, signed long int l) 2441: { 2441: if (l >= 0) 2441: __gmpf_mul_ui(f, g, l); 2441: else 2441: { 2441: __gmpf_mul_ui(f, g, -static_cast(l)); 2441: __gmpf_neg(f, f); 2441: } 2441: } 2441: static void eval(mpf_ptr f, signed long int l, mpf_srcptr g) 2441: { eval(f, g, l); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, double d) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, 8*sizeof(double)); 2441: __gmpf_set_d(temp, d); 2441: __gmpf_mul(f, g, temp); 2441: __gmpf_clear(temp); 2441: } 2441: static void eval(mpf_ptr f, double d, mpf_srcptr g) 2441: { eval(f, g, d); } 2441: }; 2441: 2441: struct __gmp_binary_divides 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_tdiv_q(z, w, v); } 2441: 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { 2441: 2441: 2441: if (__builtin_constant_p(l) && (l & (l-1)) == 0 && l != 0) 2441: { 2441: if (l == 1) 2441: { 2441: if (z != w) __gmpz_set(z, w); 2441: } 2441: else 2441: __gmpz_tdiv_q_2exp(z, w, __builtin_ctzl(l)); 2441: 2441: } 2441: else 2441: 2441: __gmpz_tdiv_q_ui(z, w, l); 2441: } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { 2441: if (((w)->_mp_size < 0 ? -1 : (w)->_mp_size > 0) >= 0) 2441: { 2441: if (__gmpz_fits_ulong_p(w)) 2441: __gmpz_set_ui(z, l / __gmpz_get_ui(w)); 2441: else 2441: __gmpz_set_ui(z, 0); 2441: } 2441: else 2441: { 2441: __gmpz_neg(z, w); 2441: if (__gmpz_fits_ulong_p(z)) 2441: { 2441: __gmpz_set_ui(z, l / __gmpz_get_ui(z)); 2441: __gmpz_neg(z, z); 2441: } 2441: else 2441: __gmpz_set_ui(z, 0); 2441: } 2441: } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { 2441: if (l >= 0) 2441: eval(z, w, static_cast(l)); 2441: else 2441: { 2441: eval(z, w, -static_cast(l)); 2441: __gmpz_neg(z, z); 2441: } 2441: } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { 2441: if (__gmpz_fits_slong_p(w)) 2441: __gmpz_set_si(z, l / __gmpz_get_si(w)); 2441: else 2441: { 2441: 2441: 2441: __gmpz_set_si (z, (__gmpz_cmpabs_ui (w, __gmpxx_abs_ui(l)) == 0 ? -1 : 0)); 2441: } 2441: } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_tdiv_q (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_tdiv_q (z, temp, w); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) 2441: { __gmpq_div(q, r, s); } 2441: 2441: static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) 2441: { 2441: 2441: if (__builtin_constant_p(l) && (l & (l-1)) == 0 && l != 0) 2441: __gmp_binary_rshift::eval(q, r, __builtin_ctzl(l)); 2441: else 2441: 2441: { 2441: mpq_t temp; mp_limb_t limbs[1 +1]; (&((temp)->_mp_num))->_mp_d = limbs; __mpz_set_ui_safe ((&((temp)->_mp_num)), l); (&((temp)->_mp_den))->_mp_d = limbs + 1; (&((temp)->_mp_den))->_mp_size = 1; (&((temp)->_mp_den))->_mp_d[0] = 1; 2441: __gmpq_div (q, r, temp); 2441: } 2441: } 2441: static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) 2441: { mpq_t temp; mp_limb_t limbs[1 +1]; (&((temp)->_mp_num))->_mp_d = limbs; __mpz_set_ui_safe ((&((temp)->_mp_num)), l); (&((temp)->_mp_den))->_mp_d = limbs + 1; (&((temp)->_mp_den))->_mp_size = 1; (&((temp)->_mp_den))->_mp_d[0] = 1; __gmpq_div (q, temp, r); } 2441: static void eval(mpq_ptr q, mpq_srcptr r, signed long int l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: eval(q, r, static_cast(l)); 2441: else if ((__builtin_constant_p(l <= 0) && (l <= 0))) 2441: { 2441: eval(q, r, -static_cast(l)); 2441: __gmpq_neg(q, q); 2441: } 2441: else 2441: { 2441: mpq_t temp; mp_limb_t limbs[1 +1]; (&((temp)->_mp_num))->_mp_d = limbs; __mpz_set_si_safe ((&((temp)->_mp_num)), l); (&((temp)->_mp_den))->_mp_d = limbs + 1; (&((temp)->_mp_den))->_mp_size = 1; (&((temp)->_mp_den))->_mp_d[0] = 1; 2441: __gmpq_div (q, r, temp); 2441: } 2441: } 2441: static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) 2441: { mpq_t temp; mp_limb_t limbs[1 +1]; (&((temp)->_mp_num))->_mp_d = limbs; __mpz_set_si_safe ((&((temp)->_mp_num)), l); (&((temp)->_mp_den))->_mp_d = limbs + 1; (&((temp)->_mp_den))->_mp_size = 1; (&((temp)->_mp_den))->_mp_d[0] = 1; __gmpq_div (q, temp, r); } 2441: static void eval(mpq_ptr q, mpq_srcptr r, double d) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); __gmpq_div (q, r, temp); } 2441: static void eval(mpq_ptr q, double d, mpq_srcptr r) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); __gmpq_div (q, temp, r); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h) 2441: { __gmpf_div(f, g, h); } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l) 2441: { __gmpf_div_ui(f, g, l); } 2441: static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g) 2441: { __gmpf_ui_div(f, l, g); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, signed long int l) 2441: { 2441: if (l >= 0) 2441: __gmpf_div_ui(f, g, l); 2441: else 2441: { 2441: __gmpf_div_ui(f, g, -static_cast(l)); 2441: __gmpf_neg(f, f); 2441: } 2441: } 2441: static void eval(mpf_ptr f, signed long int l, mpf_srcptr g) 2441: { 2441: if (l >= 0) 2441: __gmpf_ui_div(f, l, g); 2441: else 2441: { 2441: __gmpf_ui_div(f, -static_cast(l), g); 2441: __gmpf_neg(f, f); 2441: } 2441: } 2441: static void eval(mpf_ptr f, mpf_srcptr g, double d) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, 8*sizeof(double)); 2441: __gmpf_set_d(temp, d); 2441: __gmpf_div(f, g, temp); 2441: __gmpf_clear(temp); 2441: } 2441: static void eval(mpf_ptr f, double d, mpf_srcptr g) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, 8*sizeof(double)); 2441: __gmpf_set_d(temp, d); 2441: __gmpf_div(f, temp, g); 2441: __gmpf_clear(temp); 2441: } 2441: }; 2441: 2441: struct __gmp_binary_modulus 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_tdiv_r(z, w, v); } 2441: 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { __gmpz_tdiv_r_ui(z, w, l); } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { 2441: if (((w)->_mp_size < 0 ? -1 : (w)->_mp_size > 0) >= 0) 2441: { 2441: if (__gmpz_fits_ulong_p(w)) 2441: __gmpz_set_ui(z, l % __gmpz_get_ui(w)); 2441: else 2441: __gmpz_set_ui(z, l); 2441: } 2441: else 2441: { 2441: __gmpz_neg(z, w); 2441: if (__gmpz_fits_ulong_p(z)) 2441: __gmpz_set_ui(z, l % __gmpz_get_ui(z)); 2441: else 2441: __gmpz_set_ui(z, l); 2441: } 2441: } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { 2441: __gmpz_tdiv_r_ui (z, w, __gmpxx_abs_ui(l)); 2441: } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { 2441: if (__gmpz_fits_slong_p(w)) 2441: __gmpz_set_si(z, l % __gmpz_get_si(w)); 2441: else 2441: { 2441: 2441: 2441: __gmpz_set_si (z, __gmpz_cmpabs_ui (w, __gmpxx_abs_ui(l)) == 0 ? 0 : l); 2441: } 2441: } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_tdiv_r (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_tdiv_r (z, temp, w); } 2441: }; 2441: 2441: struct __gmp_binary_and 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_and(z, w, v); } 2441: 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { mpz_t temp; mp_limb_t limbs[1]; temp->_mp_d = limbs; __mpz_set_ui_safe (temp, l); __gmpz_and (z, w, temp); } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { mpz_t temp; mp_limb_t limbs[1]; temp->_mp_d = limbs; __mpz_set_si_safe (temp, l); __gmpz_and (z, w, temp); } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_and (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { eval(z, w, d); } 2441: }; 2441: 2441: struct __gmp_binary_ior 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_ior(z, w, v); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { mpz_t temp; mp_limb_t limbs[1]; temp->_mp_d = limbs; __mpz_set_ui_safe (temp, l); __gmpz_ior (z, w, temp); } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { mpz_t temp; mp_limb_t limbs[1]; temp->_mp_d = limbs; __mpz_set_si_safe (temp, l); __gmpz_ior (z, w, temp); } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_ior (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { eval(z, w, d); } 2441: }; 2441: 2441: struct __gmp_binary_xor 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_xor(z, w, v); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { mpz_t temp; mp_limb_t limbs[1]; temp->_mp_d = limbs; __mpz_set_ui_safe (temp, l); __gmpz_xor (z, w, temp); } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { mpz_t temp; mp_limb_t limbs[1]; temp->_mp_d = limbs; __mpz_set_si_safe (temp, l); __gmpz_xor (z, w, temp); } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_xor (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { eval(z, w, d); } 2441: }; 2441: 2441: struct __gmp_cmp_function 2441: { 2441: static int eval(mpz_srcptr z, mpz_srcptr w) { return __gmpz_cmp(z, w); } 2441: 2441: static int eval(mpz_srcptr z, unsigned long int l) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,l)); } 2441: static int eval(unsigned long int l, mpz_srcptr z) 2441: { return -(__builtin_constant_p (l) && (l) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,l)); } 2441: static int eval(mpz_srcptr z, signed long int l) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,(static_cast (l)))) : __gmpz_cmp_si (z,l)); } 2441: static int eval(signed long int l, mpz_srcptr z) 2441: { return -(__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,(static_cast (l)))) : __gmpz_cmp_si (z,l)); } 2441: static int eval(mpz_srcptr z, double d) 2441: { return __gmpz_cmp_d(z, d); } 2441: static int eval(double d, mpz_srcptr z) 2441: { return -__gmpz_cmp_d(z, d); } 2441: 2441: static int eval(mpq_srcptr q, mpq_srcptr r) { return __gmpq_cmp(q, r); } 2441: 2441: static int eval(mpq_srcptr q, unsigned long int l) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p ((l) == (1)) && (l) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,l,1)); } 2441: static int eval(unsigned long int l, mpq_srcptr q) 2441: { return -(__builtin_constant_p (l) && (l) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p ((l) == (1)) && (l) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,l,1)); } 2441: static int eval(mpq_srcptr q, signed long int l) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p (((static_cast (l))) == (1)) && ((static_cast (l))) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,(static_cast (l)),1)) : __gmpq_cmp_si (q, l, 1)); } 2441: static int eval(signed long int l, mpq_srcptr q) 2441: { return -(__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p (((static_cast (l))) == (1)) && ((static_cast (l))) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,(static_cast (l)),1)) : __gmpq_cmp_si (q, l, 1)); } 2441: static int eval(mpq_srcptr q, double d) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); return __gmpq_cmp (q, temp); } 2441: static int eval(double d, mpq_srcptr q) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); return __gmpq_cmp (temp, q); } 2441: static int eval(mpq_srcptr q, mpz_srcptr z) 2441: { return __gmpq_cmp_z(q, z); } 2441: static int eval(mpz_srcptr z, mpq_srcptr q) 2441: { return -__gmpq_cmp_z(q, z); } 2441: 2441: static int eval(mpf_srcptr f, mpf_srcptr g) { return __gmpf_cmp(f, g); } 2441: 2441: static int eval(mpf_srcptr f, unsigned long int l) 2441: { return __gmpf_cmp_ui(f, l); } 2441: static int eval(unsigned long int l, mpf_srcptr f) 2441: { return -__gmpf_cmp_ui(f, l); } 2441: static int eval(mpf_srcptr f, signed long int l) 2441: { return __gmpf_cmp_si(f, l); } 2441: static int eval(signed long int l, mpf_srcptr f) 2441: { return -__gmpf_cmp_si(f, l); } 2441: static int eval(mpf_srcptr f, double d) 2441: { return __gmpf_cmp_d(f, d); } 2441: static int eval(double d, mpf_srcptr f) 2441: { return -__gmpf_cmp_d(f, d); } 2441: static int eval(mpf_srcptr f, mpz_srcptr z) 2441: { return __gmpf_cmp_z(f, z); } 2441: static int eval(mpz_srcptr z, mpf_srcptr f) 2441: { return -__gmpf_cmp_z(f, z); } 2441: static int eval(mpf_srcptr f, mpq_srcptr q) 2441: { 2441: mpf_t qf; 2441: __gmpf_init(qf); 2441: __gmpf_set_q(qf, q); 2441: int ret = eval(f, qf); 2441: __gmpf_clear(qf); 2441: return ret; 2441: } 2441: static int eval(mpq_srcptr q, mpf_srcptr f) 2441: { return -eval(f, q); } 2441: }; 2441: 2441: struct __gmp_binary_equal 2441: { 2441: static bool eval(mpz_srcptr z, mpz_srcptr w) { return __gmpz_cmp(z, w) == 0; } 2441: 2441: static bool eval(mpz_srcptr z, unsigned long int l) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,l)) == 0; } 2441: static bool eval(unsigned long int l, mpz_srcptr z) 2441: { return eval(z, l); } 2441: static bool eval(mpz_srcptr z, signed long int l) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,(static_cast (l)))) : __gmpz_cmp_si (z,l)) == 0; } 2441: static bool eval(signed long int l, mpz_srcptr z) 2441: { return eval(z, l); } 2441: static bool eval(mpz_srcptr z, double d) 2441: { return __gmpz_cmp_d(z, d) == 0; } 2441: static bool eval(double d, mpz_srcptr z) 2441: { return eval(z, d); } 2441: 2441: static bool eval(mpq_srcptr q, mpq_srcptr r) 2441: { return __gmpq_equal(q, r) != 0; } 2441: 2441: static bool eval(mpq_srcptr q, unsigned long int l) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p ((l) == (1)) && (l) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,l,1)) == 0; } 2441: static bool eval(unsigned long int l, mpq_srcptr q) 2441: { return eval(q, l); } 2441: static bool eval(mpq_srcptr q, signed long int l) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p (((static_cast (l))) == (1)) && ((static_cast (l))) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,(static_cast (l)),1)) : __gmpq_cmp_si (q, l, 1)) == 0; } 2441: static bool eval(signed long int l, mpq_srcptr q) 2441: { return eval(q, l); } 2441: static bool eval(mpq_srcptr q, double d) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); return __gmpq_equal (q, temp) != 0; } 2441: static bool eval(double d, mpq_srcptr q) 2441: { return eval(q, d); } 2441: static bool eval(mpq_srcptr q, mpz_srcptr z) 2441: { return __gmpq_cmp_z(q, z) == 0; } 2441: static bool eval(mpz_srcptr z, mpq_srcptr q) 2441: { return eval(q, z); } 2441: 2441: static bool eval(mpf_srcptr f, mpf_srcptr g) { return __gmpf_cmp(f, g) == 0; } 2441: 2441: static bool eval(mpf_srcptr f, unsigned long int l) 2441: { return __gmpf_cmp_ui(f, l) == 0; } 2441: static bool eval(unsigned long int l, mpf_srcptr f) 2441: { return eval(f, l); } 2441: static bool eval(mpf_srcptr f, signed long int l) 2441: { return __gmpf_cmp_si(f, l) == 0; } 2441: static bool eval(signed long int l, mpf_srcptr f) 2441: { return eval(f, l); } 2441: static bool eval(mpf_srcptr f, double d) 2441: { return __gmpf_cmp_d(f, d) == 0; } 2441: static bool eval(double d, mpf_srcptr f) 2441: { return eval(f, d); } 2441: static bool eval(mpf_srcptr f, mpz_srcptr z) 2441: { return __gmpf_cmp_z(f, z) == 0; } 2441: static bool eval(mpz_srcptr z, mpf_srcptr f) 2441: { return eval(f, z); } 2441: static bool eval(mpf_srcptr f, mpq_srcptr q) 2441: { return __gmp_cmp_function::eval(f, q) == 0; } 2441: static bool eval(mpq_srcptr q, mpf_srcptr f) 2441: { return eval(f, q); } 2441: }; 2441: 2441: struct __gmp_binary_less 2441: { 2441: static bool eval(mpz_srcptr z, mpz_srcptr w) { return __gmpz_cmp(z, w) < 0; } 2441: 2441: static bool eval(mpz_srcptr z, unsigned long int l) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,l)) < 0; } 2441: static bool eval(unsigned long int l, mpz_srcptr z) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,l)) > 0; } 2441: static bool eval(mpz_srcptr z, signed long int l) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,(static_cast (l)))) : __gmpz_cmp_si (z,l)) < 0; } 2441: static bool eval(signed long int l, mpz_srcptr z) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) : __gmpz_cmp_ui (z,(static_cast (l)))) : __gmpz_cmp_si (z,l)) > 0; } 2441: static bool eval(mpz_srcptr z, double d) 2441: { return __gmpz_cmp_d(z, d) < 0; } 2441: static bool eval(double d, mpz_srcptr z) 2441: { return __gmpz_cmp_d(z, d) > 0; } 2441: 2441: static bool eval(mpq_srcptr q, mpq_srcptr r) { return __gmpq_cmp(q, r) < 0; } 2441: 2441: static bool eval(mpq_srcptr q, unsigned long int l) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p ((l) == (1)) && (l) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,l,1)) < 0; } 2441: static bool eval(unsigned long int l, mpq_srcptr q) 2441: { return (__builtin_constant_p (l) && (l) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p ((l) == (1)) && (l) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,l,1)) > 0; } 2441: static bool eval(mpq_srcptr q, signed long int l) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p (((static_cast (l))) == (1)) && ((static_cast (l))) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,(static_cast (l)),1)) : __gmpq_cmp_si (q, l, 1)) < 0; } 2441: static bool eval(signed long int l, mpq_srcptr q) 2441: { return (__builtin_constant_p ((l) >= 0) && (l) >= 0 ? (__builtin_constant_p ((static_cast (l))) && ((static_cast (l))) == 0 ? ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0) : __builtin_constant_p (((static_cast (l))) == (1)) && ((static_cast (l))) == (1) ? __gmpz_cmp ((&((q)->_mp_num)), (&((q)->_mp_den))) : __gmpq_cmp_ui (q,(static_cast (l)),1)) : __gmpq_cmp_si (q, l, 1)) > 0; } 2441: static bool eval(mpq_srcptr q, double d) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); return __gmpq_cmp (q, temp) < 0; } 2441: static bool eval(double d, mpq_srcptr q) 2441: { mpq_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1 + (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1]; (&((temp)->_mp_num))->_mp_d = limbs; (&((temp)->_mp_num))->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_d = limbs + (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; (&((temp)->_mp_den))->_mp_alloc = (((53 +1-(-1021)) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpq_set_d (temp, d); return __gmpq_cmp (temp, q) < 0; } 2441: static bool eval(mpq_srcptr q, mpz_srcptr z) 2441: { return __gmpq_cmp_z(q, z) < 0; } 2441: static bool eval(mpz_srcptr z, mpq_srcptr q) 2441: { return __gmpq_cmp_z(q, z) > 0; } 2441: 2441: static bool eval(mpf_srcptr f, mpf_srcptr g) { return __gmpf_cmp(f, g) < 0; } 2441: 2441: static bool eval(mpf_srcptr f, unsigned long int l) 2441: { return __gmpf_cmp_ui(f, l) < 0; } 2441: static bool eval(unsigned long int l, mpf_srcptr f) 2441: { return __gmpf_cmp_ui(f, l) > 0; } 2441: static bool eval(mpf_srcptr f, signed long int l) 2441: { return __gmpf_cmp_si(f, l) < 0; } 2441: static bool eval(signed long int l, mpf_srcptr f) 2441: { return __gmpf_cmp_si(f, l) > 0; } 2441: static bool eval(mpf_srcptr f, double d) 2441: { return __gmpf_cmp_d(f, d) < 0; } 2441: static bool eval(double d, mpf_srcptr f) 2441: { return __gmpf_cmp_d(f, d) > 0; } 2441: static bool eval(mpf_srcptr f, mpz_srcptr z) 2441: { return __gmpf_cmp_z(f, z) < 0; } 2441: static bool eval(mpz_srcptr z, mpf_srcptr f) 2441: { return __gmpf_cmp_z(f, z) > 0; } 2441: static bool eval(mpf_srcptr f, mpq_srcptr q) 2441: { return __gmp_cmp_function::eval(f, q) < 0; } 2441: static bool eval(mpq_srcptr q, mpf_srcptr f) 2441: { return __gmp_cmp_function::eval(q, f) < 0; } 2441: }; 2441: 2441: struct __gmp_binary_greater 2441: { 2441: template 2441: static inline bool eval(T t, U u) { return __gmp_binary_less::eval(u, t); } 2441: }; 2441: 2441: struct __gmp_unary_increment 2441: { 2441: static void eval(mpz_ptr z) { __gmpz_add_ui(z, z, 1); } 2441: static void eval(mpq_ptr q) 2441: { __gmpz_add((&((q)->_mp_num)), (&((q)->_mp_num)), (&((q)->_mp_den))); } 2441: static void eval(mpf_ptr f) { __gmpf_add_ui(f, f, 1); } 2441: }; 2441: 2441: struct __gmp_unary_decrement 2441: { 2441: static void eval(mpz_ptr z) { __gmpz_sub_ui(z, z, 1); } 2441: static void eval(mpq_ptr q) 2441: { __gmpz_sub((&((q)->_mp_num)), (&((q)->_mp_num)), (&((q)->_mp_den))); } 2441: static void eval(mpf_ptr f) { __gmpf_sub_ui(f, f, 1); } 2441: }; 2441: 2441: struct __gmp_abs_function 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w) { __gmpz_abs(z, w); } 2441: static void eval(mpq_ptr q, mpq_srcptr r) { __gmpq_abs(q, r); } 2441: static void eval(mpf_ptr f, mpf_srcptr g) { __gmpf_abs(f, g); } 2441: }; 2441: 2441: struct __gmp_trunc_function 2441: { 2441: static void eval(mpf_ptr f, mpf_srcptr g) { __gmpf_trunc(f, g); } 2441: }; 2441: 2441: struct __gmp_floor_function 2441: { 2441: static void eval(mpf_ptr f, mpf_srcptr g) { __gmpf_floor(f, g); } 2441: }; 2441: 2441: struct __gmp_ceil_function 2441: { 2441: static void eval(mpf_ptr f, mpf_srcptr g) { __gmpf_ceil(f, g); } 2441: }; 2441: 2441: struct __gmp_sqrt_function 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w) { __gmpz_sqrt(z, w); } 2441: static void eval(mpf_ptr f, mpf_srcptr g) { __gmpf_sqrt(f, g); } 2441: }; 2441: 2441: struct __gmp_hypot_function 2441: { 2441: static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, __gmpf_get_prec(f)); 2441: __gmpf_mul(temp, g, g); 2441: __gmpf_mul(f, h, h); 2441: __gmpf_add(f, f, temp); 2441: __gmpf_sqrt(f, f); 2441: __gmpf_clear(temp); 2441: } 2441: 2441: static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, __gmpf_get_prec(f)); 2441: __gmpf_mul(temp, g, g); 2441: __gmpf_set_ui(f, l); 2441: __gmpf_mul_ui(f, f, l); 2441: __gmpf_add(f, f, temp); 2441: __gmpf_clear(temp); 2441: __gmpf_sqrt(f, f); 2441: } 2441: static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g) 2441: { eval(f, g, l); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, signed long int l) 2441: { eval(f, g, __gmpxx_abs_ui(l)); } 2441: static void eval(mpf_ptr f, signed long int l, mpf_srcptr g) 2441: { eval(f, g, l); } 2441: static void eval(mpf_ptr f, mpf_srcptr g, double d) 2441: { 2441: mpf_t temp; 2441: __gmpf_init2(temp, __gmpf_get_prec(f)); 2441: __gmpf_mul(temp, g, g); 2441: __gmpf_set_d(f, d); 2441: __gmpf_mul(f, f, f); 2441: __gmpf_add(f, f, temp); 2441: __gmpf_sqrt(f, f); 2441: __gmpf_clear(temp); 2441: } 2441: static void eval(mpf_ptr f, double d, mpf_srcptr g) 2441: { eval(f, g, d); } 2441: }; 2441: 2441: struct __gmp_sgn_function 2441: { 2441: static int eval(mpz_srcptr z) { return ((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0); } 2441: static int eval(mpq_srcptr q) { return ((q)->_mp_num._mp_size < 0 ? -1 : (q)->_mp_num._mp_size > 0); } 2441: static int eval(mpf_srcptr f) { return ((f)->_mp_size < 0 ? -1 : (f)->_mp_size > 0); } 2441: }; 2441: 2441: struct __gmp_gcd_function 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_gcd(z, w, v); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { __gmpz_gcd_ui(z, w, l); } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { eval(z, w, __gmpxx_abs_ui(l)); } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_gcd (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { eval(z, w, d); } 2441: }; 2441: 2441: struct __gmp_lcm_function 2441: { 2441: static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) 2441: { __gmpz_lcm(z, w, v); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) 2441: { __gmpz_lcm_ui(z, w, l); } 2441: static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) 2441: { eval(z, w, __gmpxx_abs_ui(l)); } 2441: static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) 2441: { eval(z, w, l); } 2441: static void eval(mpz_ptr z, mpz_srcptr w, double d) 2441: { mpz_t temp; mp_limb_t limbs[(((1024) + ((32 - 0) - 1)) / (32 - 0))+1]; temp->_mp_d = limbs; temp->_mp_alloc = (((1024) + ((32 - 0) - 1)) / (32 - 0))+1; __gmpz_set_d (temp, d); __gmpz_lcm (z, w, temp); } 2441: static void eval(mpz_ptr z, double d, mpz_srcptr w) 2441: { eval(z, w, d); } 2441: }; 2441: 2441: struct __gmp_rand_function 2441: { 2441: static void eval(mpz_ptr z, gmp_randstate_t s, mp_bitcnt_t l) 2441: { __gmpz_urandomb(z, s, l); } 2441: static void eval(mpz_ptr z, gmp_randstate_t s, mpz_srcptr w) 2441: { __gmpz_urandomm(z, s, w); } 2441: static void eval(mpf_ptr f, gmp_randstate_t s, mp_bitcnt_t prec) 2441: { __gmpf_urandomb(f, s, prec); } 2441: }; 2441: # 1204 "/usr/include/gmpxx.h" 3 4 2441: extern "C" { 2441: typedef void (*__gmp_freefunc_t) (void *, size_t); 2441: } 2441: struct __gmp_alloc_cstring 2441: { 2441: char *str; 2441: __gmp_alloc_cstring(char *s) { str = s; } 2441: ~__gmp_alloc_cstring() 2441: { 2441: __gmp_freefunc_t freefunc; 2441: __gmp_get_memory_functions (__null, __null, &freefunc); 2441: (*freefunc) (str, std::strlen(str)+1); 2441: } 2441: }; 2441: 2441: 2441: 2441: template 2441: class __gmp_expr; 2441: 2441: 2441: 2441: template 2441: struct __gmp_resolve_ref 2441: { 2441: typedef T ref_type; 2441: }; 2441: 2441: template 2441: struct __gmp_resolve_ref<__gmp_expr > 2441: { 2441: typedef const __gmp_expr & ref_type; 2441: }; 2441: 2441: 2441: template 2441: struct __gmp_resolve_expr; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpz_t value_type; 2441: typedef mpz_ptr ptr_type; 2441: typedef mpz_srcptr srcptr_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpq_t value_type; 2441: typedef mpq_ptr ptr_type; 2441: typedef mpq_srcptr srcptr_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpf_t value_type; 2441: typedef mpf_ptr ptr_type; 2441: typedef mpf_srcptr srcptr_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpq_t value_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpq_t value_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpf_t value_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpf_t value_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpf_t value_type; 2441: }; 2441: 2441: template <> 2441: struct __gmp_resolve_expr 2441: { 2441: typedef mpf_t value_type; 2441: }; 2441: 2441: 2441: namespace std { 2441: template 2441: struct common_type <__gmp_expr, __gmp_expr > 2441: { 2441: private: 2441: typedef typename __gmp_resolve_expr::value_type X; 2441: public: 2441: typedef __gmp_expr type; 2441: }; 2441: 2441: template 2441: struct common_type <__gmp_expr > 2441: { 2441: typedef __gmp_expr type; 2441: }; 2441: # 1332 "/usr/include/gmpxx.h" 3 4 2441: template struct common_type <__gmp_expr, signed char > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, unsigned char > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, signed int > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, unsigned int > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, signed short int > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, unsigned short int > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, signed long int > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, unsigned long int > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, float > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: template struct common_type <__gmp_expr, double > { typedef __gmp_expr type; }; template struct common_type > { typedef __gmp_expr type; }; 2441: 2441: } 2441: 2441: 2441: 2441: template 2441: struct __gmp_unary_expr 2441: { 2441: typename __gmp_resolve_ref::ref_type val; 2441: 2441: __gmp_unary_expr(const T &v) : val(v) { } 2441: private: 2441: __gmp_unary_expr(); 2441: }; 2441: 2441: template 2441: struct __gmp_binary_expr 2441: { 2441: typename __gmp_resolve_ref::ref_type val1; 2441: typename __gmp_resolve_ref::ref_type val2; 2441: 2441: __gmp_binary_expr(const T &v1, const U &v2) : val1(v1), val2(v2) { } 2441: private: 2441: __gmp_binary_expr(); 2441: }; 2441: # 1428 "/usr/include/gmpxx.h" 3 4 2441: template <> 2441: class __gmp_expr 2441: { 2441: private: 2441: typedef mpz_t value_type; 2441: value_type mp; 2441: 2441: 2441: void assign_ui(unsigned long l) 2441: { 2441: if ((__builtin_constant_p(l == 0) && (l == 0))) 2441: mp->_mp_size = 0; 2441: else 2441: __gmpz_set_ui(mp, l); 2441: } 2441: void assign_si(signed long l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: assign_ui(l); 2441: else if ((__builtin_constant_p(l <= 0) && (l <= 0))) 2441: { 2441: assign_ui(-static_cast(l)); 2441: __gmpz_neg(mp, mp); 2441: } 2441: else 2441: __gmpz_set_si(mp, l); 2441: } 2441: void assign_d (double d) 2441: { 2441: __gmpz_set_d (mp, d); 2441: } 2441: 2441: void init_ui(unsigned long l) 2441: { 2441: if ((__builtin_constant_p(l == 0) && (l == 0))) 2441: __gmpz_init(mp); 2441: else 2441: __gmpz_init_set_ui(mp, l); 2441: } 2441: void init_si(signed long l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: init_ui(l); 2441: else if ((__builtin_constant_p(l <= 0) && (l <= 0))) 2441: { 2441: init_ui(-static_cast(l)); 2441: __gmpz_neg(mp, mp); 2441: } 2441: else 2441: __gmpz_init_set_si(mp, l); 2441: } 2441: void init_d (double d) 2441: { 2441: __gmpz_init_set_d (mp, d); 2441: } 2441: 2441: public: 2441: mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } 2441: 2441: 2441: __gmp_expr() { __gmpz_init(mp); } 2441: 2441: __gmp_expr(const __gmp_expr &z) { __gmpz_init_set(mp, z.mp); } 2441: 2441: __gmp_expr(__gmp_expr &&z) 2441: { *mp = *z.mp; __gmpz_init(z.mp); } 2441: 2441: template 2441: __gmp_expr(const __gmp_expr &expr) 2441: { __gmpz_init(mp); __gmp_set_expr(mp, expr); } 2441: template 2441: explicit __gmp_expr(const __gmp_expr &expr) 2441: { __gmpz_init(mp); __gmp_set_expr(mp, expr); } 2441: 2441: __gmp_expr(signed char c) { init_si(c); } __gmp_expr(unsigned char c) { init_ui(c); } __gmp_expr(signed int i) { init_si(i); } __gmp_expr(unsigned int i) { init_ui(i); } __gmp_expr(signed short int s) { init_si(s); } __gmp_expr(unsigned short int s) { init_ui(s); } __gmp_expr(signed long int l) { init_si(l); } __gmp_expr(unsigned long int l) { init_ui(l); } __gmp_expr(float f) { init_d(f); } __gmp_expr(double d) { init_d(d); } 2441: 2441: explicit __gmp_expr(const char *s, int base = 0) 2441: { 2441: if (__gmpz_init_set_str (mp, s, base) != 0) 2441: { 2441: __gmpz_clear (mp); 2441: throw std::invalid_argument ("mpz_set_str"); 2441: } 2441: } 2441: explicit __gmp_expr(const std::string &s, int base = 0) 2441: { 2441: if (__gmpz_init_set_str(mp, s.c_str(), base) != 0) 2441: { 2441: __gmpz_clear (mp); 2441: throw std::invalid_argument ("mpz_set_str"); 2441: } 2441: } 2441: 2441: explicit __gmp_expr(mpz_srcptr z) { __gmpz_init_set(mp, z); } 2441: 2441: ~__gmp_expr() { __gmpz_clear(mp); } 2441: 2441: void swap(__gmp_expr& z) noexcept { std::swap(*mp, *z.mp); } 2441: 2441: 2441: __gmp_expr & operator=(const __gmp_expr &z) 2441: { __gmpz_set(mp, z.mp); return *this; } 2441: 2441: __gmp_expr & operator=(__gmp_expr &&z) noexcept 2441: { swap(z); return *this; } 2441: 2441: template 2441: __gmp_expr & operator=(const __gmp_expr &expr) 2441: { __gmp_set_expr(mp, expr); return *this; } 2441: 2441: __gmp_expr & operator=(signed char c) { assign_si(c); return *this; } __gmp_expr & operator=(unsigned char c) { assign_ui(c); return *this; } __gmp_expr & operator=(signed int i) { assign_si(i); return *this; } __gmp_expr & operator=(unsigned int i) { assign_ui(i); return *this; } __gmp_expr & operator=(signed short int s) { assign_si(s); return *this; } __gmp_expr & operator=(unsigned short int s) { assign_ui(s); return *this; } __gmp_expr & operator=(signed long int l) { assign_si(l); return *this; } __gmp_expr & operator=(unsigned long int l) { assign_ui(l); return *this; } __gmp_expr & operator=(float f) { assign_d(f); return *this; } __gmp_expr & operator=(double d) { assign_d(d); return *this; } 2441: 2441: __gmp_expr & operator=(const char *s) 2441: { 2441: if (__gmpz_set_str (mp, s, 0) != 0) 2441: throw std::invalid_argument ("mpz_set_str"); 2441: return *this; 2441: } 2441: __gmp_expr & operator=(const std::string &s) 2441: { 2441: if (__gmpz_set_str(mp, s.c_str(), 0) != 0) 2441: throw std::invalid_argument ("mpz_set_str"); 2441: return *this; 2441: } 2441: 2441: 2441: int set_str(const char *s, int base) 2441: { return __gmpz_set_str(mp, s, base); } 2441: int set_str(const std::string &s, int base) 2441: { return __gmpz_set_str(mp, s.c_str(), base); } 2441: std::string get_str(int base = 10) const 2441: { 2441: __gmp_alloc_cstring temp(__gmpz_get_str(0, base, mp)); 2441: return std::string(temp.str); 2441: } 2441: 2441: 2441: mpz_srcptr __get_mp() const { return mp; } 2441: mpz_ptr __get_mp() { return mp; } 2441: mpz_srcptr get_mpz_t() const { return mp; } 2441: mpz_ptr get_mpz_t() { return mp; } 2441: 2441: signed long int get_si() const { return __gmpz_get_si(mp); } 2441: unsigned long int get_ui() const { return __gmpz_get_ui(mp); } 2441: double get_d() const { return __gmpz_get_d(mp); } 2441: 2441: 2441: 2441: bool fits_sint_p() const { return __gmpz_fits_sint_p(mp); } 2441: bool fits_uint_p() const { return __gmpz_fits_uint_p(mp); } 2441: bool fits_sshort_p() const { return __gmpz_fits_sshort_p(mp); } 2441: bool fits_ushort_p() const { return __gmpz_fits_ushort_p(mp); } 2441: bool fits_slong_p() const { return __gmpz_fits_slong_p(mp); } 2441: bool fits_ulong_p() const { return __gmpz_fits_ulong_p(mp); } 2441: 2441: 2441: 2441: 2441: 2441: explicit operator bool() const { return mp->_mp_size != 0; } 2441: 2441: 2441: 2441: template __gmp_expr & operator+=(const __gmp_expr &); __gmp_expr & operator+=(signed char); __gmp_expr & operator+=(unsigned char); __gmp_expr & operator+=(signed int); __gmp_expr & operator+=(unsigned int); __gmp_expr & operator+=(signed short int); __gmp_expr & operator+=(unsigned short int); __gmp_expr & operator+=(signed long int); __gmp_expr & operator+=(unsigned long int); __gmp_expr & operator+=(float); __gmp_expr & operator+=(double); 2441: template __gmp_expr & operator-=(const __gmp_expr &); __gmp_expr & operator-=(signed char); __gmp_expr & operator-=(unsigned char); __gmp_expr & operator-=(signed int); __gmp_expr & operator-=(unsigned int); __gmp_expr & operator-=(signed short int); __gmp_expr & operator-=(unsigned short int); __gmp_expr & operator-=(signed long int); __gmp_expr & operator-=(unsigned long int); __gmp_expr & operator-=(float); __gmp_expr & operator-=(double); 2441: template __gmp_expr & operator*=(const __gmp_expr &); __gmp_expr & operator*=(signed char); __gmp_expr & operator*=(unsigned char); __gmp_expr & operator*=(signed int); __gmp_expr & operator*=(unsigned int); __gmp_expr & operator*=(signed short int); __gmp_expr & operator*=(unsigned short int); __gmp_expr & operator*=(signed long int); __gmp_expr & operator*=(unsigned long int); __gmp_expr & operator*=(float); __gmp_expr & operator*=(double); 2441: template __gmp_expr & operator/=(const __gmp_expr &); __gmp_expr & operator/=(signed char); __gmp_expr & operator/=(unsigned char); __gmp_expr & operator/=(signed int); __gmp_expr & operator/=(unsigned int); __gmp_expr & operator/=(signed short int); __gmp_expr & operator/=(unsigned short int); __gmp_expr & operator/=(signed long int); __gmp_expr & operator/=(unsigned long int); __gmp_expr & operator/=(float); __gmp_expr & operator/=(double); 2441: template __gmp_expr & operator%=(const __gmp_expr &); __gmp_expr & operator%=(signed char); __gmp_expr & operator%=(unsigned char); __gmp_expr & operator%=(signed int); __gmp_expr & operator%=(unsigned int); __gmp_expr & operator%=(signed short int); __gmp_expr & operator%=(unsigned short int); __gmp_expr & operator%=(signed long int); __gmp_expr & operator%=(unsigned long int); __gmp_expr & operator%=(float); __gmp_expr & operator%=(double); 2441: 2441: template __gmp_expr & operator&=(const __gmp_expr &); __gmp_expr & operator&=(signed char); __gmp_expr & operator&=(unsigned char); __gmp_expr & operator&=(signed int); __gmp_expr & operator&=(unsigned int); __gmp_expr & operator&=(signed short int); __gmp_expr & operator&=(unsigned short int); __gmp_expr & operator&=(signed long int); __gmp_expr & operator&=(unsigned long int); __gmp_expr & operator&=(float); __gmp_expr & operator&=(double); 2441: template __gmp_expr & operator|=(const __gmp_expr &); __gmp_expr & operator|=(signed char); __gmp_expr & operator|=(unsigned char); __gmp_expr & operator|=(signed int); __gmp_expr & operator|=(unsigned int); __gmp_expr & operator|=(signed short int); __gmp_expr & operator|=(unsigned short int); __gmp_expr & operator|=(signed long int); __gmp_expr & operator|=(unsigned long int); __gmp_expr & operator|=(float); __gmp_expr & operator|=(double); 2441: template __gmp_expr & operator^=(const __gmp_expr &); __gmp_expr & operator^=(signed char); __gmp_expr & operator^=(unsigned char); __gmp_expr & operator^=(signed int); __gmp_expr & operator^=(unsigned int); __gmp_expr & operator^=(signed short int); __gmp_expr & operator^=(unsigned short int); __gmp_expr & operator^=(signed long int); __gmp_expr & operator^=(unsigned long int); __gmp_expr & operator^=(float); __gmp_expr & operator^=(double); 2441: 2441: __gmp_expr & operator<<=(mp_bitcnt_t); 2441: __gmp_expr & operator>>=(mp_bitcnt_t); 2441: 2441: inline __gmp_expr & operator++(); inline __gmp_expr operator++(int); 2441: inline __gmp_expr & operator--(); inline __gmp_expr operator--(int); 2441: }; 2441: 2441: typedef __gmp_expr mpz_class; 2441: 2441: 2441: 2441: 2441: template <> 2441: class __gmp_expr 2441: { 2441: private: 2441: typedef mpq_t value_type; 2441: value_type mp; 2441: 2441: 2441: void assign_ui(unsigned long l) { __gmpq_set_ui(mp, l, 1); } 2441: void assign_si(signed long l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: assign_ui(l); 2441: else 2441: __gmpq_set_si(mp, l, 1); 2441: } 2441: void assign_d (double d) { __gmpq_set_d (mp, d); } 2441: 2441: void init_ui(unsigned long l) { __gmpq_init(mp); get_num() = l; } 2441: void init_si(signed long l) { __gmpq_init(mp); get_num() = l; } 2441: void init_d (double d) { __gmpq_init(mp); assign_d (d); } 2441: 2441: public: 2441: mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } 2441: void canonicalize() { __gmpq_canonicalize(mp); } 2441: 2441: 2441: __gmp_expr() { __gmpq_init(mp); } 2441: 2441: __gmp_expr(const __gmp_expr &q) 2441: { 2441: __gmpz_init_set((&((mp)->_mp_num)), (&((q.mp)->_mp_num))); 2441: __gmpz_init_set((&((mp)->_mp_den)), (&((q.mp)->_mp_den))); 2441: } 2441: 2441: __gmp_expr(__gmp_expr &&q) 2441: { *mp = *q.mp; __gmpq_init(q.mp); } 2441: 2441: template 2441: __gmp_expr(const __gmp_expr &expr) 2441: { __gmpq_init(mp); __gmp_set_expr(mp, expr); } 2441: template 2441: __gmp_expr(const __gmp_expr &expr) 2441: { __gmpq_init(mp); __gmp_set_expr(mp, expr); } 2441: template 2441: explicit __gmp_expr(const __gmp_expr &expr) 2441: { __gmpq_init(mp); __gmp_set_expr(mp, expr); } 2441: 2441: __gmp_expr(signed char c) { init_si(c); } __gmp_expr(unsigned char c) { init_ui(c); } __gmp_expr(signed int i) { init_si(i); } __gmp_expr(unsigned int i) { init_ui(i); } __gmp_expr(signed short int s) { init_si(s); } __gmp_expr(unsigned short int s) { init_ui(s); } __gmp_expr(signed long int l) { init_si(l); } __gmp_expr(unsigned long int l) { init_ui(l); } __gmp_expr(float f) { init_d(f); } __gmp_expr(double d) { init_d(d); } 2441: 2441: explicit __gmp_expr(const char *s, int base = 0) 2441: { 2441: __gmpq_init (mp); 2441: 2441: 2441: if (s == 0) 2441: { 2441: 2441: __gmpz_set_si((&((mp)->_mp_den)), base); 2441: } 2441: else if (__gmpq_set_str(mp, s, base) != 0) 2441: { 2441: __gmpq_clear (mp); 2441: throw std::invalid_argument ("mpq_set_str"); 2441: } 2441: } 2441: explicit __gmp_expr(const std::string &s, int base = 0) 2441: { 2441: __gmpq_init(mp); 2441: if (__gmpq_set_str (mp, s.c_str(), base) != 0) 2441: { 2441: __gmpq_clear (mp); 2441: throw std::invalid_argument ("mpq_set_str"); 2441: } 2441: } 2441: explicit __gmp_expr(mpq_srcptr q) 2441: { 2441: __gmpz_init_set((&((mp)->_mp_num)), (&((q)->_mp_num))); 2441: __gmpz_init_set((&((mp)->_mp_den)), (&((q)->_mp_den))); 2441: } 2441: 2441: __gmp_expr(const mpz_class &num, const mpz_class &den) 2441: { 2441: __gmpz_init_set((&((mp)->_mp_num)), num.get_mpz_t()); 2441: __gmpz_init_set((&((mp)->_mp_den)), den.get_mpz_t()); 2441: } 2441: 2441: ~__gmp_expr() { __gmpq_clear(mp); } 2441: 2441: void swap(__gmp_expr& q) noexcept { std::swap(*mp, *q.mp); } 2441: 2441: 2441: __gmp_expr & operator=(const __gmp_expr &q) 2441: { __gmpq_set(mp, q.mp); return *this; } 2441: 2441: __gmp_expr & operator=(__gmp_expr &&q) noexcept 2441: { swap(q); return *this; } 2441: __gmp_expr & operator=(mpz_class &&z) noexcept 2441: { get_num() = std::move(z); get_den() = 1u; return *this; } 2441: 2441: template 2441: __gmp_expr & operator=(const __gmp_expr &expr) 2441: { __gmp_set_expr(mp, expr); return *this; } 2441: 2441: __gmp_expr & operator=(signed char c) { assign_si(c); return *this; } __gmp_expr & operator=(unsigned char c) { assign_ui(c); return *this; } __gmp_expr & operator=(signed int i) { assign_si(i); return *this; } __gmp_expr & operator=(unsigned int i) { assign_ui(i); return *this; } __gmp_expr & operator=(signed short int s) { assign_si(s); return *this; } __gmp_expr & operator=(unsigned short int s) { assign_ui(s); return *this; } __gmp_expr & operator=(signed long int l) { assign_si(l); return *this; } __gmp_expr & operator=(unsigned long int l) { assign_ui(l); return *this; } __gmp_expr & operator=(float f) { assign_d(f); return *this; } __gmp_expr & operator=(double d) { assign_d(d); return *this; } 2441: 2441: __gmp_expr & operator=(const char *s) 2441: { 2441: if (__gmpq_set_str (mp, s, 0) != 0) 2441: throw std::invalid_argument ("mpq_set_str"); 2441: return *this; 2441: } 2441: __gmp_expr & operator=(const std::string &s) 2441: { 2441: if (__gmpq_set_str(mp, s.c_str(), 0) != 0) 2441: throw std::invalid_argument ("mpq_set_str"); 2441: return *this; 2441: } 2441: 2441: 2441: int set_str(const char *s, int base) 2441: { return __gmpq_set_str(mp, s, base); } 2441: int set_str(const std::string &s, int base) 2441: { return __gmpq_set_str(mp, s.c_str(), base); } 2441: std::string get_str(int base = 10) const 2441: { 2441: __gmp_alloc_cstring temp(__gmpq_get_str(0, base, mp)); 2441: return std::string(temp.str); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const mpz_class & get_num() const 2441: { return reinterpret_cast(*(&((mp)->_mp_num))); } 2441: mpz_class & get_num() 2441: { return reinterpret_cast(*(&((mp)->_mp_num))); } 2441: const mpz_class & get_den() const 2441: { return reinterpret_cast(*(&((mp)->_mp_den))); } 2441: mpz_class & get_den() 2441: { return reinterpret_cast(*(&((mp)->_mp_den))); } 2441: 2441: mpq_srcptr __get_mp() const { return mp; } 2441: mpq_ptr __get_mp() { return mp; } 2441: mpq_srcptr get_mpq_t() const { return mp; } 2441: mpq_ptr get_mpq_t() { return mp; } 2441: 2441: mpz_srcptr get_num_mpz_t() const { return (&((mp)->_mp_num)); } 2441: mpz_ptr get_num_mpz_t() { return (&((mp)->_mp_num)); } 2441: mpz_srcptr get_den_mpz_t() const { return (&((mp)->_mp_den)); } 2441: mpz_ptr get_den_mpz_t() { return (&((mp)->_mp_den)); } 2441: 2441: double get_d() const { return __gmpq_get_d(mp); } 2441: 2441: 2441: explicit operator bool() const { return (&((mp)->_mp_num))->_mp_size != 0; } 2441: 2441: 2441: 2441: template __gmp_expr & operator+=(const __gmp_expr &); __gmp_expr & operator+=(signed char); __gmp_expr & operator+=(unsigned char); __gmp_expr & operator+=(signed int); __gmp_expr & operator+=(unsigned int); __gmp_expr & operator+=(signed short int); __gmp_expr & operator+=(unsigned short int); __gmp_expr & operator+=(signed long int); __gmp_expr & operator+=(unsigned long int); __gmp_expr & operator+=(float); __gmp_expr & operator+=(double); 2441: template __gmp_expr & operator-=(const __gmp_expr &); __gmp_expr & operator-=(signed char); __gmp_expr & operator-=(unsigned char); __gmp_expr & operator-=(signed int); __gmp_expr & operator-=(unsigned int); __gmp_expr & operator-=(signed short int); __gmp_expr & operator-=(unsigned short int); __gmp_expr & operator-=(signed long int); __gmp_expr & operator-=(unsigned long int); __gmp_expr & operator-=(float); __gmp_expr & operator-=(double); 2441: template __gmp_expr & operator*=(const __gmp_expr &); __gmp_expr & operator*=(signed char); __gmp_expr & operator*=(unsigned char); __gmp_expr & operator*=(signed int); __gmp_expr & operator*=(unsigned int); __gmp_expr & operator*=(signed short int); __gmp_expr & operator*=(unsigned short int); __gmp_expr & operator*=(signed long int); __gmp_expr & operator*=(unsigned long int); __gmp_expr & operator*=(float); __gmp_expr & operator*=(double); 2441: template __gmp_expr & operator/=(const __gmp_expr &); __gmp_expr & operator/=(signed char); __gmp_expr & operator/=(unsigned char); __gmp_expr & operator/=(signed int); __gmp_expr & operator/=(unsigned int); __gmp_expr & operator/=(signed short int); __gmp_expr & operator/=(unsigned short int); __gmp_expr & operator/=(signed long int); __gmp_expr & operator/=(unsigned long int); __gmp_expr & operator/=(float); __gmp_expr & operator/=(double); 2441: 2441: __gmp_expr & operator<<=(mp_bitcnt_t); 2441: __gmp_expr & operator>>=(mp_bitcnt_t); 2441: 2441: inline __gmp_expr & operator++(); inline __gmp_expr operator++(int); 2441: inline __gmp_expr & operator--(); inline __gmp_expr operator--(int); 2441: }; 2441: 2441: typedef __gmp_expr mpq_class; 2441: 2441: 2441: 2441: 2441: template <> 2441: class __gmp_expr 2441: { 2441: private: 2441: typedef mpf_t value_type; 2441: value_type mp; 2441: 2441: 2441: void assign_ui(unsigned long l) { __gmpf_set_ui(mp, l); } 2441: void assign_si(signed long l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: assign_ui(l); 2441: else 2441: __gmpf_set_si(mp, l); 2441: } 2441: void assign_d (double d) { __gmpf_set_d (mp, d); } 2441: 2441: void init_ui(unsigned long l) 2441: { 2441: if ((__builtin_constant_p(l == 0) && (l == 0))) 2441: __gmpf_init(mp); 2441: else 2441: __gmpf_init_set_ui(mp, l); 2441: } 2441: void init_si(signed long l) 2441: { 2441: if ((__builtin_constant_p(l >= 0) && (l >= 0))) 2441: init_ui(l); 2441: else 2441: __gmpf_init_set_si(mp, l); 2441: } 2441: void init_d (double d) { __gmpf_init_set_d (mp, d); } 2441: 2441: public: 2441: mp_bitcnt_t get_prec() const { return __gmpf_get_prec(mp); } 2441: 2441: void set_prec(mp_bitcnt_t prec) { __gmpf_set_prec(mp, prec); } 2441: void set_prec_raw(mp_bitcnt_t prec) { __gmpf_set_prec_raw(mp, prec); } 2441: 2441: 2441: __gmp_expr() { __gmpf_init(mp); } 2441: 2441: __gmp_expr(const __gmp_expr &f) 2441: { __gmpf_init2(mp, f.get_prec()); __gmpf_set(mp, f.mp); } 2441: 2441: __gmp_expr(__gmp_expr &&f) 2441: { *mp = *f.mp; __gmpf_init2(f.mp, get_prec()); } 2441: 2441: __gmp_expr(const __gmp_expr &f, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set(mp, f.mp); } 2441: template 2441: __gmp_expr(const __gmp_expr &expr) 2441: { __gmpf_init2(mp, expr.get_prec()); __gmp_set_expr(mp, expr); } 2441: template 2441: __gmp_expr(const __gmp_expr &expr, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmp_set_expr(mp, expr); } 2441: 2441: __gmp_expr(signed char c) { init_si(c); } __gmp_expr(unsigned char c) { init_ui(c); } __gmp_expr(signed int i) { init_si(i); } __gmp_expr(unsigned int i) { init_ui(i); } __gmp_expr(signed short int s) { init_si(s); } __gmp_expr(unsigned short int s) { init_ui(s); } __gmp_expr(signed long int l) { init_si(l); } __gmp_expr(unsigned long int l) { init_ui(l); } __gmp_expr(float f) { init_d(f); } __gmp_expr(double d) { init_d(d); } 2441: 2441: __gmp_expr(signed char c, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_si(mp, c); } 2441: __gmp_expr(unsigned char c, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_ui(mp, c); } 2441: 2441: __gmp_expr(signed int i, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_si(mp, i); } 2441: __gmp_expr(unsigned int i, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_ui(mp, i); } 2441: 2441: __gmp_expr(signed short int s, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_si(mp, s); } 2441: __gmp_expr(unsigned short int s, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_ui(mp, s); } 2441: 2441: __gmp_expr(signed long int l, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_si(mp, l); } 2441: __gmp_expr(unsigned long int l, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_ui(mp, l); } 2441: 2441: __gmp_expr(float f, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_d(mp, f); } 2441: __gmp_expr(double d, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set_d(mp, d); } 2441: 2441: 2441: 2441: 2441: explicit __gmp_expr(const char *s) 2441: { 2441: if (__gmpf_init_set_str (mp, s, 0) != 0) 2441: { 2441: __gmpf_clear (mp); 2441: throw std::invalid_argument ("mpf_set_str"); 2441: } 2441: } 2441: __gmp_expr(const char *s, mp_bitcnt_t prec, int base = 0) 2441: { 2441: __gmpf_init2(mp, prec); 2441: if (__gmpf_set_str(mp, s, base) != 0) 2441: { 2441: __gmpf_clear (mp); 2441: throw std::invalid_argument ("mpf_set_str"); 2441: } 2441: } 2441: explicit __gmp_expr(const std::string &s) 2441: { 2441: if (__gmpf_init_set_str(mp, s.c_str(), 0) != 0) 2441: { 2441: __gmpf_clear (mp); 2441: throw std::invalid_argument ("mpf_set_str"); 2441: } 2441: } 2441: __gmp_expr(const std::string &s, mp_bitcnt_t prec, int base = 0) 2441: { 2441: __gmpf_init2(mp, prec); 2441: if (__gmpf_set_str(mp, s.c_str(), base) != 0) 2441: { 2441: __gmpf_clear (mp); 2441: throw std::invalid_argument ("mpf_set_str"); 2441: } 2441: } 2441: 2441: explicit __gmp_expr(mpf_srcptr f) 2441: { __gmpf_init2(mp, __gmpf_get_prec(f)); __gmpf_set(mp, f); } 2441: __gmp_expr(mpf_srcptr f, mp_bitcnt_t prec) 2441: { __gmpf_init2(mp, prec); __gmpf_set(mp, f); } 2441: 2441: ~__gmp_expr() { __gmpf_clear(mp); } 2441: 2441: void swap(__gmp_expr& f) noexcept { std::swap(*mp, *f.mp); } 2441: 2441: 2441: __gmp_expr & operator=(const __gmp_expr &f) 2441: { __gmpf_set(mp, f.mp); return *this; } 2441: 2441: __gmp_expr & operator=(__gmp_expr &&f) noexcept 2441: { swap(f); return *this; } 2441: 2441: template 2441: __gmp_expr & operator=(const __gmp_expr &expr) 2441: { __gmp_set_expr(mp, expr); return *this; } 2441: 2441: __gmp_expr & operator=(signed char c) { assign_si(c); return *this; } __gmp_expr & operator=(unsigned char c) { assign_ui(c); return *this; } __gmp_expr & operator=(signed int i) { assign_si(i); return *this; } __gmp_expr & operator=(unsigned int i) { assign_ui(i); return *this; } __gmp_expr & operator=(signed short int s) { assign_si(s); return *this; } __gmp_expr & operator=(unsigned short int s) { assign_ui(s); return *this; } __gmp_expr & operator=(signed long int l) { assign_si(l); return *this; } __gmp_expr & operator=(unsigned long int l) { assign_ui(l); return *this; } __gmp_expr & operator=(float f) { assign_d(f); return *this; } __gmp_expr & operator=(double d) { assign_d(d); return *this; } 2441: 2441: __gmp_expr & operator=(const char *s) 2441: { 2441: if (__gmpf_set_str (mp, s, 0) != 0) 2441: throw std::invalid_argument ("mpf_set_str"); 2441: return *this; 2441: } 2441: __gmp_expr & operator=(const std::string &s) 2441: { 2441: if (__gmpf_set_str(mp, s.c_str(), 0) != 0) 2441: throw std::invalid_argument ("mpf_set_str"); 2441: return *this; 2441: } 2441: 2441: 2441: int set_str(const char *s, int base) 2441: { return __gmpf_set_str(mp, s, base); } 2441: int set_str(const std::string &s, int base) 2441: { return __gmpf_set_str(mp, s.c_str(), base); } 2441: std::string get_str(mp_exp_t &expo, int base = 10, size_t size = 0) const 2441: { 2441: __gmp_alloc_cstring temp(__gmpf_get_str(0, &expo, base, size, mp)); 2441: return std::string(temp.str); 2441: } 2441: 2441: 2441: mpf_srcptr __get_mp() const { return mp; } 2441: mpf_ptr __get_mp() { return mp; } 2441: mpf_srcptr get_mpf_t() const { return mp; } 2441: mpf_ptr get_mpf_t() { return mp; } 2441: 2441: signed long int get_si() const { return __gmpf_get_si(mp); } 2441: unsigned long int get_ui() const { return __gmpf_get_ui(mp); } 2441: double get_d() const { return __gmpf_get_d(mp); } 2441: 2441: 2441: 2441: bool fits_sint_p() const { return __gmpf_fits_sint_p(mp); } 2441: bool fits_uint_p() const { return __gmpf_fits_uint_p(mp); } 2441: bool fits_sshort_p() const { return __gmpf_fits_sshort_p(mp); } 2441: bool fits_ushort_p() const { return __gmpf_fits_ushort_p(mp); } 2441: bool fits_slong_p() const { return __gmpf_fits_slong_p(mp); } 2441: bool fits_ulong_p() const { return __gmpf_fits_ulong_p(mp); } 2441: 2441: 2441: 2441: 2441: 2441: explicit operator bool() const { return mp->_mp_size != 0; } 2441: 2441: 2441: 2441: template __gmp_expr & operator+=(const __gmp_expr &); __gmp_expr & operator+=(signed char); __gmp_expr & operator+=(unsigned char); __gmp_expr & operator+=(signed int); __gmp_expr & operator+=(unsigned int); __gmp_expr & operator+=(signed short int); __gmp_expr & operator+=(unsigned short int); __gmp_expr & operator+=(signed long int); __gmp_expr & operator+=(unsigned long int); __gmp_expr & operator+=(float); __gmp_expr & operator+=(double); 2441: template __gmp_expr & operator-=(const __gmp_expr &); __gmp_expr & operator-=(signed char); __gmp_expr & operator-=(unsigned char); __gmp_expr & operator-=(signed int); __gmp_expr & operator-=(unsigned int); __gmp_expr & operator-=(signed short int); __gmp_expr & operator-=(unsigned short int); __gmp_expr & operator-=(signed long int); __gmp_expr & operator-=(unsigned long int); __gmp_expr & operator-=(float); __gmp_expr & operator-=(double); 2441: template __gmp_expr & operator*=(const __gmp_expr &); __gmp_expr & operator*=(signed char); __gmp_expr & operator*=(unsigned char); __gmp_expr & operator*=(signed int); __gmp_expr & operator*=(unsigned int); __gmp_expr & operator*=(signed short int); __gmp_expr & operator*=(unsigned short int); __gmp_expr & operator*=(signed long int); __gmp_expr & operator*=(unsigned long int); __gmp_expr & operator*=(float); __gmp_expr & operator*=(double); 2441: template __gmp_expr & operator/=(const __gmp_expr &); __gmp_expr & operator/=(signed char); __gmp_expr & operator/=(unsigned char); __gmp_expr & operator/=(signed int); __gmp_expr & operator/=(unsigned int); __gmp_expr & operator/=(signed short int); __gmp_expr & operator/=(unsigned short int); __gmp_expr & operator/=(signed long int); __gmp_expr & operator/=(unsigned long int); __gmp_expr & operator/=(float); __gmp_expr & operator/=(double); 2441: 2441: __gmp_expr & operator<<=(mp_bitcnt_t); 2441: __gmp_expr & operator>>=(mp_bitcnt_t); 2441: 2441: inline __gmp_expr & operator++(); inline __gmp_expr operator++(int); 2441: inline __gmp_expr & operator--(); inline __gmp_expr operator--(int); 2441: }; 2441: 2441: typedef __gmp_expr mpf_class; 2441: 2441: 2441: 2441: 2441: 2441: 2441: inline mpz_class operator"" _mpz(const char* s) 2441: { 2441: return mpz_class(s); 2441: } 2441: 2441: inline mpq_class operator"" _mpq(const char* s) 2441: { 2441: mpq_class q; 2441: q.get_num() = s; 2441: return q; 2441: } 2441: 2441: inline mpf_class operator"" _mpf(const char* s) 2441: { 2441: return mpf_class(s); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline std::ostream & operator<< 2441: (std::ostream &o, const __gmp_expr &expr) 2441: { 2441: __gmp_expr const& temp(expr); 2441: return o << temp.__get_mp(); 2441: } 2441: 2441: template 2441: inline std::istream & operator>>(std::istream &i, __gmp_expr &expr) 2441: { 2441: return i >> expr.__get_mp(); 2441: } 2441: # 2055 "/usr/include/gmpxx.h" 3 4 2441: inline void __gmp_set_expr(mpz_ptr z, const mpz_class &w) 2441: { 2441: __gmpz_set(z, w.get_mpz_t()); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr &expr) 2441: { 2441: expr.eval(z); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr &expr) 2441: { 2441: mpq_class const& temp(expr); 2441: __gmpz_set_q(z, temp.get_mpq_t()); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr &expr) 2441: { 2441: mpf_class const& temp(expr); 2441: __gmpz_set_f(z, temp.get_mpf_t()); 2441: } 2441: 2441: inline void __gmp_set_expr(mpq_ptr q, const mpz_class &z) 2441: { 2441: __gmpq_set_z(q, z.get_mpz_t()); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr &expr) 2441: { 2441: __gmp_set_expr((&((q)->_mp_num)), expr); 2441: __gmpz_set_ui((&((q)->_mp_den)), 1); 2441: } 2441: 2441: inline void __gmp_set_expr(mpq_ptr q, const mpq_class &r) 2441: { 2441: __gmpq_set(q, r.get_mpq_t()); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr &expr) 2441: { 2441: expr.eval(q); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr &expr) 2441: { 2441: mpf_class const& temp(expr); 2441: __gmpq_set_f(q, temp.get_mpf_t()); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpf_ptr f, const __gmp_expr &expr) 2441: { 2441: mpz_class const& temp(expr); 2441: __gmpf_set_z(f, temp.get_mpz_t()); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpf_ptr f, const __gmp_expr &expr) 2441: { 2441: mpq_class const& temp(expr); 2441: __gmpf_set_q(f, temp.get_mpq_t()); 2441: } 2441: 2441: inline void __gmp_set_expr(mpf_ptr f, const mpf_class &g) 2441: { 2441: __gmpf_set(f, g.get_mpf_t()); 2441: } 2441: 2441: template 2441: inline void __gmp_set_expr(mpf_ptr f, const __gmp_expr &expr) 2441: { 2441: expr.eval(f); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: class __gmp_temp 2441: { 2441: __gmp_expr val; 2441: public: 2441: template 2441: __gmp_temp(U const& u, V) : val (u) {} 2441: typename __gmp_resolve_expr::srcptr_type 2441: __get_mp() const { return val.__get_mp(); } 2441: }; 2441: 2441: template <> 2441: class __gmp_temp 2441: { 2441: mpf_class val; 2441: public: 2441: template 2441: __gmp_temp(U const& u, mpf_ptr res) : val (u, __gmpf_get_prec(res)) {} 2441: mpf_srcptr __get_mp() const { return val.__get_mp(); } 2441: }; 2441: # 2178 "/usr/include/gmpxx.h" 3 4 2441: template 2441: class __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val_type; 2441: 2441: __gmp_unary_expr expr; 2441: public: 2441: explicit __gmp_expr(const val_type &val) : expr(val) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { Op::eval(p, expr.val.__get_mp()); } 2441: const val_type & get_val() const { return expr.val; } 2441: mp_bitcnt_t get_prec() const { return expr.val.get_prec(); } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class __gmp_expr > 2441: { 2441: private: 2441: typedef U val_type; 2441: 2441: __gmp_unary_expr expr; 2441: public: 2441: explicit __gmp_expr(const val_type &val) : expr(val) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { Op::eval(p, expr.val); } 2441: const val_type & get_val() const { return expr.val; } 2441: mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val_type; 2441: 2441: __gmp_unary_expr expr; 2441: public: 2441: explicit __gmp_expr(const val_type &val) : expr(val) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { expr.val.eval(p); Op::eval(p, p); } 2441: const val_type & get_val() const { return expr.val; } 2441: mp_bitcnt_t get_prec() const { return expr.val.get_prec(); } 2441: }; 2441: # 2242 "/usr/include/gmpxx.h" 3 4 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { Op::eval(p, expr.val1.__get_mp(), expr.val2.__get_mp()); } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class __gmp_expr, U, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef U val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { Op::eval(p, expr.val1.__get_mp(), expr.val2); } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const { return expr.val1.get_prec(); } 2441: }; 2441: 2441: template 2441: class __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef U val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { Op::eval(p, expr.val1, expr.val2.__get_mp()); } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const { return expr.val2.get_prec(); } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: if(p != expr.val1.__get_mp()) 2441: { 2441: __gmp_set_expr(p, expr.val2); 2441: Op::eval(p, expr.val1.__get_mp(), p); 2441: } 2441: else 2441: { 2441: __gmp_temp temp(expr.val2, p); 2441: Op::eval(p, expr.val1.__get_mp(), temp.__get_mp()); 2441: } 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: if(p != expr.val2.__get_mp()) 2441: { 2441: __gmp_set_expr(p, expr.val1); 2441: Op::eval(p, p, expr.val2.__get_mp()); 2441: } 2441: else 2441: { 2441: __gmp_temp temp(expr.val1, p); 2441: Op::eval(p, temp.__get_mp(), expr.val2.__get_mp()); 2441: } 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: if(p != expr.val1.__get_mp()) 2441: { 2441: __gmp_set_expr(p, expr.val2); 2441: Op::eval(p, expr.val1.__get_mp(), p); 2441: } 2441: else 2441: { 2441: __gmp_temp temp(expr.val2, p); 2441: Op::eval(p, expr.val1.__get_mp(), temp.__get_mp()); 2441: } 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: if(p != expr.val2.__get_mp()) 2441: { 2441: __gmp_set_expr(p, expr.val1); 2441: Op::eval(p, p, expr.val2.__get_mp()); 2441: } 2441: else 2441: { 2441: __gmp_temp temp(expr.val1, p); 2441: Op::eval(p, temp.__get_mp(), expr.val2.__get_mp()); 2441: } 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class __gmp_expr, V, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef V val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: expr.val1.eval(p); 2441: Op::eval(p, p, expr.val2); 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const { return expr.val1.get_prec(); } 2441: }; 2441: 2441: template 2441: class __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef U val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: expr.val2.eval(p); 2441: Op::eval(p, expr.val1, p); 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const { return expr.val2.get_prec(); } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: __gmp_temp temp2(expr.val2, p); 2441: expr.val1.eval(p); 2441: Op::eval(p, p, temp2.__get_mp()); 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: __gmp_temp temp1(expr.val1, p); 2441: expr.val2.eval(p); 2441: Op::eval(p, temp1.__get_mp(), p); 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: 2441: template 2441: class __gmp_expr 2441: , __gmp_expr, Op> > 2441: { 2441: private: 2441: typedef __gmp_expr val1_type; 2441: typedef __gmp_expr val2_type; 2441: 2441: __gmp_binary_expr expr; 2441: public: 2441: __gmp_expr(const val1_type &val1, const val2_type &val2) 2441: : expr(val1, val2) { } 2441: void eval(typename __gmp_resolve_expr::ptr_type p) const 2441: { 2441: __gmp_temp temp2(expr.val2, p); 2441: expr.val1.eval(p); 2441: Op::eval(p, p, temp2.__get_mp()); 2441: } 2441: const val1_type & get_val1() const { return expr.val1; } 2441: const val2_type & get_val2() const { return expr.val2; } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: mp_bitcnt_t prec1 = expr.val1.get_prec(), 2441: prec2 = expr.val2.get_prec(); 2441: return (prec1 > prec2) ? prec1 : prec2; 2441: } 2441: }; 2441: # 2761 "/usr/include/gmpxx.h" 3 4 2441: template <> class __gmp_expr > { private: typedef mpz_class val1_type; typedef mpq_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { __gmp_binary_plus::eval(q, expr.val1.get_mpz_t(), expr.val2.get_mpq_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template <> class __gmp_expr > { private: typedef mpq_class val1_type; typedef mpz_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { __gmp_binary_plus::eval(q, expr.val1.get_mpq_t(), expr.val2.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , __gmp_binary_plus> > { private: typedef mpz_class val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpq_class temp(expr.val2); __gmp_binary_plus::eval(q, expr.val1.get_mpz_t(), temp.get_mpq_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , __gmp_binary_plus> > { private: typedef mpq_class val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp(expr.val2); __gmp_binary_plus::eval(q, expr.val1.get_mpq_t(), temp.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , mpq_class, __gmp_binary_plus> > { private: typedef __gmp_expr val1_type; typedef mpq_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp(expr.val1); __gmp_binary_plus::eval(q, temp.get_mpz_t(), expr.val2.get_mpq_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , mpz_class, __gmp_binary_plus> > { private: typedef __gmp_expr val1_type; typedef mpz_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpq_class temp(expr.val1); __gmp_binary_plus::eval(q, temp.get_mpq_t(), expr.val2.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr, __gmp_expr, __gmp_binary_plus> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp1(expr.val1); expr.val2.eval(q); __gmp_binary_plus::eval(q, temp1.get_mpz_t(), q); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr, __gmp_expr, __gmp_binary_plus> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp2(expr.val2); expr.val1.eval(q); __gmp_binary_plus::eval(q, q, temp2.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; 2441: template <> class __gmp_expr > { private: typedef mpz_class val1_type; typedef mpq_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { __gmp_binary_minus::eval(q, expr.val1.get_mpz_t(), expr.val2.get_mpq_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template <> class __gmp_expr > { private: typedef mpq_class val1_type; typedef mpz_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { __gmp_binary_minus::eval(q, expr.val1.get_mpq_t(), expr.val2.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , __gmp_binary_minus> > { private: typedef mpz_class val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpq_class temp(expr.val2); __gmp_binary_minus::eval(q, expr.val1.get_mpz_t(), temp.get_mpq_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , __gmp_binary_minus> > { private: typedef mpq_class val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp(expr.val2); __gmp_binary_minus::eval(q, expr.val1.get_mpq_t(), temp.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , mpq_class, __gmp_binary_minus> > { private: typedef __gmp_expr val1_type; typedef mpq_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp(expr.val1); __gmp_binary_minus::eval(q, temp.get_mpz_t(), expr.val2.get_mpq_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr , mpz_class, __gmp_binary_minus> > { private: typedef __gmp_expr val1_type; typedef mpz_class val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpq_class temp(expr.val1); __gmp_binary_minus::eval(q, temp.get_mpq_t(), expr.val2.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr, __gmp_expr, __gmp_binary_minus> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp1(expr.val1); expr.val2.eval(q); __gmp_binary_minus::eval(q, temp1.get_mpz_t(), q); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; template class __gmp_expr, __gmp_expr, __gmp_binary_minus> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(mpq_ptr q) const { mpz_class temp2(expr.val2); expr.val1.eval(q); __gmp_binary_minus::eval(q, q, temp2.get_mpz_t()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } }; 2441: # 3054 "/usr/include/gmpxx.h" 3 4 2441: template inline __gmp_expr, __gmp_unary_plus> > operator+(const __gmp_expr &expr) { return __gmp_expr, __gmp_unary_plus> >(expr); } 2441: template inline __gmp_expr, __gmp_unary_minus> > operator-(const __gmp_expr &expr) { return __gmp_expr, __gmp_unary_minus> >(expr); } 2441: template inline __gmp_expr, __gmp_unary_com> > operator~(const __gmp_expr &expr) { return __gmp_expr, __gmp_unary_com> >(expr); } 2441: 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_plus> > operator+(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_plus> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_plus> > operator+(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_plus> > operator+(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_plus> > operator+(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_plus> >(expr, t); } template inline __gmp_expr , __gmp_binary_plus> > operator+(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_plus> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_minus> > operator-(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_minus> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_minus> > operator-(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_minus> > operator-(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_minus> > operator-(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_minus> >(expr, t); } template inline __gmp_expr , __gmp_binary_minus> > operator-(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_minus> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_multiplies> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_multiplies> > operator*(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_multiplies> >(expr, t); } template inline __gmp_expr , __gmp_binary_multiplies> > operator*(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_multiplies> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_divides> > operator/(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_divides> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_divides> > operator/(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_divides> > operator/(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_divides> > operator/(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_divides> >(expr, t); } template inline __gmp_expr , __gmp_binary_divides> > operator/(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_divides> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_modulus> > operator%(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_modulus> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_modulus> > operator%(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_modulus> >(expr, t); } template inline __gmp_expr , __gmp_binary_modulus> > operator%(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_modulus> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_and> > operator&(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_and> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_and> > operator&(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_and> > operator&(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_and> > operator&(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_and> >(expr, t); } template inline __gmp_expr , __gmp_binary_and> > operator&(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_and> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_ior> > operator|(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_ior> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_ior> > operator|(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_ior> > operator|(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_ior> > operator|(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_ior> >(expr, t); } template inline __gmp_expr , __gmp_binary_ior> > operator|(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_ior> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_xor> > operator^(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_binary_xor> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_binary_xor> > operator^(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_xor> > operator^(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } template inline __gmp_expr , double, __gmp_binary_xor> > operator^(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_binary_xor> >(expr, t); } template inline __gmp_expr , __gmp_binary_xor> > operator^(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_binary_xor> >(t, expr); } 2441: 2441: template inline __gmp_expr , mp_bitcnt_t, __gmp_binary_lshift> > operator<<(const __gmp_expr &expr, mp_bitcnt_t l) { return __gmp_expr, mp_bitcnt_t, __gmp_binary_lshift> >(expr, l); } 2441: template inline __gmp_expr , mp_bitcnt_t, __gmp_binary_rshift> > operator>>(const __gmp_expr &expr, mp_bitcnt_t l) { return __gmp_expr, mp_bitcnt_t, __gmp_binary_rshift> >(expr, l); } 2441: 2441: template inline bool operator==(const __gmp_expr &expr1, const __gmp_expr &expr2) { __gmp_expr const& temp1(expr1); __gmp_expr const& temp2(expr2); return __gmp_binary_equal::eval(temp1.__get_mp(), temp2.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, signed char t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(signed char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, unsigned char t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(unsigned char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, signed int t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(signed int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, unsigned int t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(unsigned int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, signed short int t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(signed short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, unsigned short int t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(unsigned short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, signed long int t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(signed long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, unsigned long int t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(unsigned long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, float t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(float t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator==(const __gmp_expr &expr, double t) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator==(double t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } 2441: template inline bool operator!=(const __gmp_expr &expr1, const __gmp_expr &expr2) { __gmp_expr const& temp1(expr1); __gmp_expr const& temp2(expr2); return ! __gmp_binary_equal::eval(temp1.__get_mp(), temp2.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, signed char t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(signed char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, unsigned char t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(unsigned char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, signed int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(signed int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, unsigned int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(unsigned int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, signed short int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(signed short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, unsigned short int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(unsigned short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, signed long int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(signed long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, unsigned long int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(unsigned long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, float t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(float t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } template inline bool operator!=(const __gmp_expr &expr, double t) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator!=(double t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_equal::eval(static_cast(t), temp.__get_mp()); } 2441: template inline bool operator<(const __gmp_expr &expr1, const __gmp_expr &expr2) { __gmp_expr const& temp1(expr1); __gmp_expr const& temp2(expr2); return __gmp_binary_less::eval(temp1.__get_mp(), temp2.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, signed char t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(signed char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, unsigned char t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(unsigned char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, signed int t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(signed int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, unsigned int t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(unsigned int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, signed short int t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(signed short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, unsigned short int t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(unsigned short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, signed long int t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(signed long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, unsigned long int t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(unsigned long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, float t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(float t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<(const __gmp_expr &expr, double t) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<(double t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } 2441: template inline bool operator<=(const __gmp_expr &expr1, const __gmp_expr &expr2) { __gmp_expr const& temp1(expr1); __gmp_expr const& temp2(expr2); return ! __gmp_binary_greater::eval(temp1.__get_mp(), temp2.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, signed char t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(signed char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, unsigned char t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(unsigned char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, signed int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(signed int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, unsigned int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(unsigned int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, signed short int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(signed short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, unsigned short int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(unsigned short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, signed long int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(signed long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, unsigned long int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(unsigned long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, float t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(float t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator<=(const __gmp_expr &expr, double t) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator<=(double t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } 2441: template inline bool operator>(const __gmp_expr &expr1, const __gmp_expr &expr2) { __gmp_expr const& temp1(expr1); __gmp_expr const& temp2(expr2); return __gmp_binary_greater::eval(temp1.__get_mp(), temp2.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, signed char t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(signed char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, unsigned char t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(unsigned char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, signed int t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(signed int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, unsigned int t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(unsigned int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, signed short int t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(signed short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, unsigned short int t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(unsigned short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, signed long int t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(signed long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, unsigned long int t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(unsigned long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, float t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(float t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>(const __gmp_expr &expr, double t) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>(double t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_binary_greater::eval(static_cast(t), temp.__get_mp()); } 2441: template inline bool operator>=(const __gmp_expr &expr1, const __gmp_expr &expr2) { __gmp_expr const& temp1(expr1); __gmp_expr const& temp2(expr2); return ! __gmp_binary_less::eval(temp1.__get_mp(), temp2.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, signed char t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(signed char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, unsigned char t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(unsigned char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, signed int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(signed int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, unsigned int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(unsigned int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, signed short int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(signed short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, unsigned short int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(unsigned short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, signed long int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(signed long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, unsigned long int t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(unsigned long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, float t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(float t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } template inline bool operator>=(const __gmp_expr &expr, double t) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(temp.__get_mp(), static_cast(t)); } template inline bool operator>=(double t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return ! __gmp_binary_less::eval(static_cast(t), temp.__get_mp()); } 2441: 2441: template inline __gmp_expr, __gmp_abs_function> > abs(const __gmp_expr &expr) { return __gmp_expr, __gmp_abs_function> >(expr); } 2441: template inline __gmp_expr, __gmp_trunc_function> > trunc(const __gmp_expr &expr) { return __gmp_expr, __gmp_trunc_function> >(expr); } 2441: template inline __gmp_expr, __gmp_floor_function> > floor(const __gmp_expr &expr) { return __gmp_expr, __gmp_floor_function> >(expr); } 2441: template inline __gmp_expr, __gmp_ceil_function> > ceil(const __gmp_expr &expr) { return __gmp_expr, __gmp_ceil_function> >(expr); } 2441: template inline __gmp_expr, __gmp_sqrt_function> > sqrt(const __gmp_expr &expr) { return __gmp_expr, __gmp_sqrt_function> >(expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_hypot_function> > hypot(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_hypot_function> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_hypot_function> > hypot(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , double, __gmp_hypot_function> > hypot(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } template inline __gmp_expr , double, __gmp_hypot_function> > hypot(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_hypot_function> >(expr, t); } template inline __gmp_expr , __gmp_hypot_function> > hypot(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_hypot_function> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_gcd_function> > gcd(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_gcd_function> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_gcd_function> > gcd(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , double, __gmp_gcd_function> > gcd(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } template inline __gmp_expr , double, __gmp_gcd_function> > gcd(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_gcd_function> >(expr, t); } template inline __gmp_expr , __gmp_gcd_function> > gcd(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_gcd_function> >(t, expr); } 2441: template inline __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_lcm_function> > lcm(const __gmp_expr &expr1, const __gmp_expr &expr2) { return __gmp_expr::value_type, __gmp_binary_expr<__gmp_expr, __gmp_expr, __gmp_lcm_function> > (expr1, expr2); } template inline __gmp_expr , signed long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, signed char t) { return __gmp_expr , signed long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(signed char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, unsigned char t) { return __gmp_expr , unsigned long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(unsigned char t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, signed int t) { return __gmp_expr , signed long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(signed int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, unsigned int t) { return __gmp_expr , unsigned long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(unsigned int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, signed short int t) { return __gmp_expr , signed long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(signed short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, unsigned short int t) { return __gmp_expr , unsigned long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(unsigned short int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , signed long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, signed long int t) { return __gmp_expr , signed long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(signed long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , unsigned long int, __gmp_lcm_function> > lcm(const __gmp_expr &expr, unsigned long int t) { return __gmp_expr , unsigned long int, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(unsigned long int t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , double, __gmp_lcm_function> > lcm(const __gmp_expr &expr, float t) { return __gmp_expr , double, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(float t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } template inline __gmp_expr , double, __gmp_lcm_function> > lcm(const __gmp_expr &expr, double t) { return __gmp_expr , double, __gmp_lcm_function> >(expr, t); } template inline __gmp_expr , __gmp_lcm_function> > lcm(double t, const __gmp_expr &expr) { return __gmp_expr , __gmp_lcm_function> >(t, expr); } 2441: 2441: template inline int sgn(const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_sgn_function::eval(temp.__get_mp()); } 2441: template inline int cmp(const __gmp_expr &expr1, const __gmp_expr &expr2) { __gmp_expr const& temp1(expr1); __gmp_expr const& temp2(expr2); return __gmp_cmp_function::eval(temp1.__get_mp(), temp2.__get_mp()); } template inline int cmp(const __gmp_expr &expr, signed char t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(signed char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, unsigned char t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(unsigned char t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, signed int t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(signed int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, unsigned int t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(unsigned int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, signed short int t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(signed short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, unsigned short int t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(unsigned short int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, signed long int t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(signed long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, unsigned long int t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(unsigned long int t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, float t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(float t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } template inline int cmp(const __gmp_expr &expr, double t) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(temp.__get_mp(), static_cast(t)); } template inline int cmp(double t, const __gmp_expr &expr) { __gmp_expr const& temp(expr); return __gmp_cmp_function::eval(static_cast(t), temp.__get_mp()); } 2441: 2441: template 2441: void swap(__gmp_expr& x, __gmp_expr& y) noexcept 2441: { x.swap(y); } 2441: 2441: 2441: 2441: template inline mpz_class & mpz_class::operator+=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_plus> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator+=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator+=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpz_class & mpz_class::operator-=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_minus> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator-=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator-=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpz_class & mpz_class::operator*=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_multiplies> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator*=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator*=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpz_class & mpz_class::operator/=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_divides> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator/=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator/=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpz_class & mpz_class::operator%=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_modulus> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator%=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator%=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: 2441: template inline mpz_class & mpz_class::operator&=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_and> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator&=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator&=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpz_class & mpz_class::operator|=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_ior> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator|=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator|=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpz_class & mpz_class::operator^=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_xor> >(*this, expr)); return *this; } inline mpz_class & mpz_class::operator^=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpz_class & mpz_class::operator^=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: 2441: inline mpz_class & mpz_class::operator<<=(mp_bitcnt_t l) { __gmp_set_expr(mp, __gmp_expr >(*this, l)); return *this; } 2441: inline mpz_class & mpz_class::operator>>=(mp_bitcnt_t l) { __gmp_set_expr(mp, __gmp_expr >(*this, l)); return *this; } 2441: 2441: inline mpz_class & mpz_class::operator++() { __gmp_unary_increment::eval(mp); return *this; } inline mpz_class mpz_class::operator++(int) { mpz_class temp(*this); __gmp_unary_increment::eval(mp); return temp; } 2441: inline mpz_class & mpz_class::operator--() { __gmp_unary_decrement::eval(mp); return *this; } inline mpz_class mpz_class::operator--(int) { mpz_class temp(*this); __gmp_unary_decrement::eval(mp); return temp; } 2441: 2441: 2441: 2441: template inline mpq_class & mpq_class::operator+=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_plus> >(*this, expr)); return *this; } inline mpq_class & mpq_class::operator+=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator+=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpq_class & mpq_class::operator-=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_minus> >(*this, expr)); return *this; } inline mpq_class & mpq_class::operator-=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator-=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpq_class & mpq_class::operator*=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_multiplies> >(*this, expr)); return *this; } inline mpq_class & mpq_class::operator*=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator*=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpq_class & mpq_class::operator/=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_divides> >(*this, expr)); return *this; } inline mpq_class & mpq_class::operator/=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpq_class & mpq_class::operator/=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: 2441: inline mpq_class & mpq_class::operator<<=(mp_bitcnt_t l) { __gmp_set_expr(mp, __gmp_expr >(*this, l)); return *this; } 2441: inline mpq_class & mpq_class::operator>>=(mp_bitcnt_t l) { __gmp_set_expr(mp, __gmp_expr >(*this, l)); return *this; } 2441: 2441: inline mpq_class & mpq_class::operator++() { __gmp_unary_increment::eval(mp); return *this; } inline mpq_class mpq_class::operator++(int) { mpq_class temp(*this); __gmp_unary_increment::eval(mp); return temp; } 2441: inline mpq_class & mpq_class::operator--() { __gmp_unary_decrement::eval(mp); return *this; } inline mpq_class mpq_class::operator--(int) { mpq_class temp(*this); __gmp_unary_decrement::eval(mp); return temp; } 2441: 2441: 2441: 2441: template inline mpf_class & mpf_class::operator+=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_plus> >(*this, expr)); return *this; } inline mpf_class & mpf_class::operator+=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator+=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpf_class & mpf_class::operator-=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_minus> >(*this, expr)); return *this; } inline mpf_class & mpf_class::operator-=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator-=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpf_class & mpf_class::operator*=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_multiplies> >(*this, expr)); return *this; } inline mpf_class & mpf_class::operator*=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator*=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: template inline mpf_class & mpf_class::operator/=(const __gmp_expr &expr) { __gmp_set_expr(mp, __gmp_expr, __gmp_binary_divides> >(*this, expr)); return *this; } inline mpf_class & mpf_class::operator/=(signed char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(unsigned char t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(signed int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(unsigned int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(signed short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(unsigned short int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(signed long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(unsigned long int t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(float t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } inline mpf_class & mpf_class::operator/=(double t) { __gmp_set_expr(mp, __gmp_expr >(*this, t)); return *this; } 2441: 2441: inline mpf_class & mpf_class::operator<<=(mp_bitcnt_t l) { __gmp_set_expr(mp, __gmp_expr >(*this, l)); return *this; } 2441: inline mpf_class & mpf_class::operator>>=(mp_bitcnt_t l) { __gmp_set_expr(mp, __gmp_expr >(*this, l)); return *this; } 2441: 2441: inline mpf_class & mpf_class::operator++() { __gmp_unary_increment::eval(mp); return *this; } inline mpf_class mpf_class::operator++(int) { mpf_class temp(*this); __gmp_unary_increment::eval(mp); return temp; } 2441: inline mpf_class & mpf_class::operator--() { __gmp_unary_decrement::eval(mp); return *this; } inline mpf_class mpf_class::operator--(int) { mpf_class temp(*this); __gmp_unary_decrement::eval(mp); return temp; } 2441: 2441: 2441: 2441: 2441: 2441: class __gmp_urandomb_value { }; 2441: class __gmp_urandomm_value { }; 2441: 2441: template <> 2441: class __gmp_expr 2441: { 2441: private: 2441: __gmp_randstate_struct *state; 2441: mp_bitcnt_t bits; 2441: public: 2441: __gmp_expr(gmp_randstate_t s, mp_bitcnt_t l) : state(s), bits(l) { } 2441: void eval(mpz_ptr z) const { __gmp_rand_function::eval(z, state, bits); } 2441: mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } 2441: }; 2441: 2441: template <> 2441: class __gmp_expr 2441: { 2441: private: 2441: __gmp_randstate_struct *state; 2441: mpz_class range; 2441: public: 2441: __gmp_expr(gmp_randstate_t s, const mpz_class &z) : state(s), range(z) { } 2441: void eval(mpz_ptr z) const 2441: { __gmp_rand_function::eval(z, state, range.get_mpz_t()); } 2441: mp_bitcnt_t get_prec() const { return __gmpf_get_default_prec(); } 2441: }; 2441: 2441: template <> 2441: class __gmp_expr 2441: { 2441: private: 2441: __gmp_randstate_struct *state; 2441: mp_bitcnt_t bits; 2441: public: 2441: __gmp_expr(gmp_randstate_t s, mp_bitcnt_t l) : state(s), bits(l) { } 2441: void eval(mpf_ptr f) const 2441: { 2441: __gmp_rand_function::eval(f, state, 2441: (bits>0) ? bits : __gmpf_get_prec(f)); 2441: } 2441: mp_bitcnt_t get_prec() const 2441: { 2441: if (bits == 0) 2441: return __gmpf_get_default_prec(); 2441: else 2441: return bits; 2441: } 2441: }; 2441: 2441: extern "C" { 2441: typedef void __gmp_randinit_default_t (gmp_randstate_t); 2441: typedef void __gmp_randinit_lc_2exp_t (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); 2441: typedef int __gmp_randinit_lc_2exp_size_t (gmp_randstate_t, mp_bitcnt_t); 2441: } 2441: 2441: class gmp_randclass 2441: { 2441: private: 2441: gmp_randstate_t state; 2441: 2441: 2441: gmp_randclass(const gmp_randclass &); 2441: void operator=(const gmp_randclass &); 2441: public: 2441: 2441: gmp_randclass(gmp_randalg_t alg, unsigned long int size) 2441: { 2441: switch (alg) 2441: { 2441: case GMP_RAND_ALG_LC: 2441: default: 2441: __gmp_randinit(state, alg, size); 2441: break; 2441: } 2441: } 2441: 2441: 2441: gmp_randclass(__gmp_randinit_default_t* f) { f(state); } 2441: 2441: 2441: gmp_randclass(__gmp_randinit_lc_2exp_t* f, 2441: mpz_class z, unsigned long int l1, mp_bitcnt_t l2) 2441: { f(state, z.get_mpz_t(), l1, l2); } 2441: 2441: 2441: gmp_randclass(__gmp_randinit_lc_2exp_size_t* f, 2441: mp_bitcnt_t size) 2441: { 2441: if (f (state, size) == 0) 2441: throw std::length_error ("gmp_randinit_lc_2exp_size"); 2441: } 2441: 2441: ~gmp_randclass() { __gmp_randclear(state); } 2441: 2441: 2441: void seed(); 2441: void seed(unsigned long int s) { __gmp_randseed_ui(state, s); } 2441: void seed(const mpz_class &z) { __gmp_randseed(state, z.get_mpz_t()); } 2441: 2441: 2441: __gmp_expr get_z_bits(mp_bitcnt_t l) 2441: { return __gmp_expr(state, l); } 2441: __gmp_expr get_z_bits(const mpz_class &z) 2441: { return get_z_bits(z.get_ui()); } 2441: 2441: 2441: __gmp_expr get_z_range(const mpz_class &z) 2441: { return __gmp_expr(state, z); } 2441: 2441: __gmp_expr get_f(mp_bitcnt_t prec = 0) 2441: { return __gmp_expr(state, prec); } 2441: }; 2441: 2441: 2441: 2441: 2441: namespace std { 2441: template <> class numeric_limits 2441: { 2441: public: 2441: static const bool is_specialized = true; 2441: static mpz_class min() { return mpz_class(); } 2441: static mpz_class max() { return mpz_class(); } 2441: static mpz_class lowest() { return mpz_class(); } 2441: static const int digits = 0; 2441: static const int digits10 = 0; 2441: static const int max_digits10 = 0; 2441: static const bool is_signed = true; 2441: static const bool is_integer = true; 2441: static const bool is_exact = true; 2441: static const int radix = 2; 2441: static mpz_class epsilon() { return mpz_class(); } 2441: static mpz_class round_error() { return mpz_class(); } 2441: static const int min_exponent = 0; 2441: static const int min_exponent10 = 0; 2441: static const int max_exponent = 0; 2441: static const int max_exponent10 = 0; 2441: static const bool has_infinity = false; 2441: static const bool has_quiet_NaN = false; 2441: static const bool has_signaling_NaN = false; 2441: static const float_denorm_style has_denorm = denorm_absent; 2441: static const bool has_denorm_loss = false; 2441: static mpz_class infinity() { return mpz_class(); } 2441: static mpz_class quiet_NaN() { return mpz_class(); } 2441: static mpz_class signaling_NaN() { return mpz_class(); } 2441: static mpz_class denorm_min() { return mpz_class(); } 2441: static const bool is_iec559 = false; 2441: static const bool is_bounded = false; 2441: static const bool is_modulo = false; 2441: static const bool traps = false; 2441: static const bool tinyness_before = false; 2441: static const float_round_style round_style = round_toward_zero; 2441: }; 2441: 2441: template <> class numeric_limits 2441: { 2441: public: 2441: static const bool is_specialized = true; 2441: static mpq_class min() { return mpq_class(); } 2441: static mpq_class max() { return mpq_class(); } 2441: static mpq_class lowest() { return mpq_class(); } 2441: static const int digits = 0; 2441: static const int digits10 = 0; 2441: static const int max_digits10 = 0; 2441: static const bool is_signed = true; 2441: static const bool is_integer = false; 2441: static const bool is_exact = true; 2441: static const int radix = 2; 2441: static mpq_class epsilon() { return mpq_class(); } 2441: static mpq_class round_error() { return mpq_class(); } 2441: static const int min_exponent = 0; 2441: static const int min_exponent10 = 0; 2441: static const int max_exponent = 0; 2441: static const int max_exponent10 = 0; 2441: static const bool has_infinity = false; 2441: static const bool has_quiet_NaN = false; 2441: static const bool has_signaling_NaN = false; 2441: static const float_denorm_style has_denorm = denorm_absent; 2441: static const bool has_denorm_loss = false; 2441: static mpq_class infinity() { return mpq_class(); } 2441: static mpq_class quiet_NaN() { return mpq_class(); } 2441: static mpq_class signaling_NaN() { return mpq_class(); } 2441: static mpq_class denorm_min() { return mpq_class(); } 2441: static const bool is_iec559 = false; 2441: static const bool is_bounded = false; 2441: static const bool is_modulo = false; 2441: static const bool traps = false; 2441: static const bool tinyness_before = false; 2441: static const float_round_style round_style = round_toward_zero; 2441: }; 2441: 2441: template <> class numeric_limits 2441: { 2441: public: 2441: static const bool is_specialized = true; 2441: static mpf_class min() { return mpf_class(); } 2441: static mpf_class max() { return mpf_class(); } 2441: static mpf_class lowest() { return mpf_class(); } 2441: static const int digits = 0; 2441: static const int digits10 = 0; 2441: static const int max_digits10 = 0; 2441: static const bool is_signed = true; 2441: static const bool is_integer = false; 2441: static const bool is_exact = false; 2441: static const int radix = 2; 2441: static mpf_class epsilon() { return mpf_class(); } 2441: static mpf_class round_error() { return mpf_class(); } 2441: static const int min_exponent = 0; 2441: static const int min_exponent10 = 0; 2441: static const int max_exponent = 0; 2441: static const int max_exponent10 = 0; 2441: static const bool has_infinity = false; 2441: static const bool has_quiet_NaN = false; 2441: static const bool has_signaling_NaN = false; 2441: static const float_denorm_style has_denorm = denorm_absent; 2441: static const bool has_denorm_loss = false; 2441: static mpf_class infinity() { return mpf_class(); } 2441: static mpf_class quiet_NaN() { return mpf_class(); } 2441: static mpf_class signaling_NaN() { return mpf_class(); } 2441: static mpf_class denorm_min() { return mpf_class(); } 2441: static const bool is_iec559 = false; 2441: static const bool is_bounded = false; 2441: static const bool is_modulo = false; 2441: static const bool traps = false; 2441: static const bool tinyness_before = false; 2441: static const float_round_style round_style = round_indeterminate; 2441: }; 2441: } 2441: # 29 "../../src/mp_std_bits_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 34 "../../src/mp_std_bits_defs.hh" 2441: void swap(mpz_class& x, mpz_class& y); 2441: 2441: 2441: 2441: 2441: void swap(mpq_class& x, mpq_class& y); 2441: # 173 "../../src/mp_std_bits_defs.hh" 2441: # 1 "../../src/mp_std_bits_inlines.hh" 1 2441: # 28 "../../src/mp_std_bits_inlines.hh" 2441: inline void 2441: swap(mpz_class& x, mpz_class& y) { 2441: 2441: # 30 "../../src/mp_std_bits_inlines.hh" 3 4 2441: __gmpz_swap 2441: # 30 "../../src/mp_std_bits_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: swap(mpq_class& x, mpq_class& y) { 2441: 2441: # 35 "../../src/mp_std_bits_inlines.hh" 3 4 2441: __gmpq_swap 2441: # 35 "../../src/mp_std_bits_inlines.hh" 2441: (x.get_mpq_t(), y.get_mpq_t()); 2441: } 2441: # 174 "../../src/mp_std_bits_defs.hh" 2 2441: # 28 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/Temp_defs.hh" 1 2441: # 27 "../../src/Temp_defs.hh" 2441: # 1 "../../src/meta_programming.hh" 1 2441: # 29 "../../src/meta_programming.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 102 "../../src/meta_programming.hh" 2441: template 2441: struct Compile_Time_Check; 2441: # 114 "../../src/meta_programming.hh" 2441: template <> 2441: struct Compile_Time_Check { 2441: }; 2441: # 142 "../../src/meta_programming.hh" 2441: template 2441: struct Bool { 2441: enum const_bool_value { 2441: value = b 2441: }; 2441: }; 2441: # 156 "../../src/meta_programming.hh" 2441: struct True : public Bool { 2441: }; 2441: # 166 "../../src/meta_programming.hh" 2441: struct False : public Bool { 2441: }; 2441: # 178 "../../src/meta_programming.hh" 2441: template 2441: struct Is_Same : public False { 2441: }; 2441: # 191 "../../src/meta_programming.hh" 2441: template 2441: struct Is_Same : public True { 2441: }; 2441: # 222 "../../src/meta_programming.hh" 2441: template 2441: struct Is_Same_Or_Derived { 2441: 2441: 2441: 2441: 2441: struct Any { 2441: 2441: template 2441: Any(const T&); 2441: }; 2441: 2441: 2441: static char func(const Base&); 2441: 2441: 2441: static double func(Any); 2441: 2441: 2441: static const Derived& derived_object(); 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_245 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(sizeof(char) != sizeof(double))>) } 2441: 2441: ; 2441: 2441: enum const_bool_value { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: value = (sizeof(func(derived_object())) == sizeof(char)) 2441: }; 2441: }; 2441: # 269 "../../src/meta_programming.hh" 2441: template 2441: struct Enable_If { 2441: }; 2441: 2441: template 2441: struct Enable_If_Is { 2441: typedef T type; 2441: }; 2441: # 304 "../../src/meta_programming.hh" 2441: template 2441: struct Enable_If { 2441: typedef T type; 2441: }; 2441: 2441: template 2441: struct Is_Native : public False { 2441: }; 2441: 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: template <> struct Is_Native : public True { }; 2441: 2441: 2441: template <> struct Is_Native : public True { }; 2441: 2441: 2441: template <> struct Is_Native : public True { }; 2441: 2441: 2441: template <> struct Is_Native : public True { }; 2441: 2441: 2441: template <> struct Is_Native : public True { }; 2441: 2441: template <> struct Is_Native : public True { }; 2441: 2441: } 2441: # 28 "../../src/Temp_defs.hh" 2 2441: # 1 "../../src/Slow_Copy.hh" 1 2441: # 30 "../../src/Slow_Copy.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct Slow_Copy : public False { 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template <> 2441: struct Slow_Copy : public True { 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template <> 2441: struct Slow_Copy : public True { 2441: }; 2441: 2441: } 2441: # 29 "../../src/Temp_defs.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: template 2441: class Temp_Item { 2441: public: 2441: 2441: static Temp_Item& obtain(); 2441: 2441: 2441: static void release(Temp_Item& p); 2441: 2441: 2441: T& item(); 2441: 2441: private: 2441: 2441: T item_; 2441: 2441: 2441: Temp_Item* next; 2441: 2441: class Free_List { 2441: public: 2441: Free_List(); 2441: ~Free_List(); 2441: Temp_Item* head_ptr; 2441: private: 2441: Free_List(const Free_List&); 2441: Free_List& operator=(const Free_List&); 2441: }; 2441: 2441: friend class Free_List; 2441: 2441: 2441: static Temp_Item*& free_list_ref(); 2441: 2441: 2441: Temp_Item(); 2441: 2441: 2441: Temp_Item(const Temp_Item&); 2441: 2441: 2441: Temp_Item& operator=(const Temp_Item&); 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class Temp_Reference_Holder { 2441: public: 2441: 2441: Temp_Reference_Holder(); 2441: 2441: 2441: ~Temp_Reference_Holder(); 2441: 2441: 2441: T& item(); 2441: 2441: private: 2441: 2441: Temp_Reference_Holder(const Temp_Reference_Holder&); 2441: 2441: 2441: Temp_Reference_Holder& operator=(const Temp_Reference_Holder&); 2441: 2441: 2441: Temp_Item& held; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class Temp_Value_Holder { 2441: public: 2441: 2441: Temp_Value_Holder(); 2441: 2441: 2441: T& item(); 2441: 2441: private: 2441: 2441: Temp_Value_Holder(const Temp_Value_Holder&); 2441: 2441: 2441: Temp_Value_Holder& operator=(const Temp_Value_Holder&); 2441: 2441: 2441: T item_; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class Dirty_Temp; 2441: 2441: 2441: 2441: 2441: template 2441: class Dirty_Temp::value>::type> 2441: : public Temp_Reference_Holder { 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class Dirty_Temp::value>::type> 2441: : public Temp_Value_Holder { 2441: }; 2441: 2441: } 2441: 2441: # 1 "../../src/Temp_inlines.hh" 1 2441: # 29 "../../src/Temp_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Temp_Item::Temp_Item() 2441: : item_() { 2441: } 2441: 2441: template 2441: inline T& 2441: Temp_Item::item() { 2441: return item_; 2441: } 2441: 2441: template 2441: inline 2441: Temp_Item::Free_List::Free_List() 2441: : head_ptr(0) { 2441: } 2441: 2441: template 2441: inline Temp_Item*& 2441: Temp_Item::free_list_ref() { 2441: static Free_List free_list; 2441: return free_list.head_ptr; 2441: } 2441: 2441: template 2441: inline Temp_Item& 2441: Temp_Item::obtain() { 2441: Temp_Item* const p = free_list_ref(); 2441: if (p != 0) { 2441: free_list_ref() = p->next; 2441: return *p; 2441: } 2441: else { 2441: return *new Temp_Item(); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Temp_Item::release(Temp_Item& p) { 2441: p.next = free_list_ref(); 2441: free_list_ref() = &p; 2441: } 2441: 2441: template 2441: inline 2441: Temp_Reference_Holder::Temp_Reference_Holder() 2441: : held(Temp_Item::obtain()) { 2441: } 2441: 2441: template 2441: inline 2441: Temp_Reference_Holder::~Temp_Reference_Holder() { 2441: Temp_Item::release(held); 2441: } 2441: 2441: template 2441: inline T& 2441: Temp_Reference_Holder::item() { 2441: return held.item(); 2441: } 2441: 2441: template 2441: inline 2441: Temp_Value_Holder::Temp_Value_Holder() { 2441: } 2441: 2441: template 2441: inline T& 2441: Temp_Value_Holder::item() { 2441: return item_; 2441: } 2441: 2441: } 2441: # 153 "../../src/Temp_defs.hh" 2 2441: # 1 "../../src/Temp_templates.hh" 1 2441: # 27 "../../src/Temp_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Temp_Item::Free_List::~Free_List() { 2441: while (head_ptr != 0) { 2441: Temp_Item* const p = head_ptr; 2441: head_ptr = head_ptr->next; 2441: delete p; 2441: } 2441: } 2441: 2441: } 2441: # 154 "../../src/Temp_defs.hh" 2 2441: # 29 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/Rounding_Dir_defs.hh" 1 2441: # 27 "../../src/Rounding_Dir_defs.hh" 2441: # 1 "../../src/Result_defs.hh" 1 2441: # 27 "../../src/Result_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: enum Result_Class { 2441: 2441: VC_NORMAL = 0U << 4, 2441: 2441: 2441: VC_MINUS_INFINITY = 1U << 4, 2441: 2441: 2441: VC_PLUS_INFINITY = 2U << 4, 2441: 2441: 2441: VC_NAN = 3U << 4, 2441: 2441: VC_MASK = VC_NAN 2441: }; 2441: 2441: 2441: enum Result_Relation { 2441: 2441: VR_EMPTY = 0U, 2441: 2441: 2441: VR_EQ = 1U, 2441: 2441: 2441: VR_LT = 2U, 2441: 2441: 2441: VR_GT = 4U, 2441: 2441: 2441: VR_NE = VR_LT | VR_GT, 2441: 2441: 2441: VR_LE = VR_EQ | VR_LT, 2441: 2441: 2441: VR_GE = VR_EQ | VR_GT, 2441: 2441: 2441: VR_LGE = VR_LT | VR_EQ | VR_GT, 2441: 2441: VR_MASK = VR_LGE 2441: }; 2441: 2441: 2441: 2441: enum Result { 2441: 2441: V_EMPTY = VR_EMPTY, 2441: 2441: 2441: V_EQ = static_cast(VR_EQ), 2441: 2441: 2441: V_LT = static_cast(VR_LT), 2441: 2441: 2441: V_GT = static_cast(VR_GT), 2441: 2441: 2441: V_NE = VR_NE, 2441: 2441: 2441: V_LE = VR_LE, 2441: 2441: 2441: V_GE = VR_GE, 2441: 2441: 2441: V_LGE = VR_LGE, 2441: 2441: 2441: V_OVERFLOW = 1U << 6, 2441: 2441: 2441: V_LT_INF = V_LT | V_OVERFLOW, 2441: 2441: 2441: V_GT_SUP = V_GT | V_OVERFLOW, 2441: 2441: 2441: V_LT_PLUS_INFINITY = V_LT | static_cast(VC_PLUS_INFINITY), 2441: 2441: 2441: V_GT_MINUS_INFINITY = V_GT | static_cast(VC_MINUS_INFINITY), 2441: 2441: 2441: V_EQ_MINUS_INFINITY = V_EQ | static_cast(VC_MINUS_INFINITY), 2441: 2441: 2441: V_EQ_PLUS_INFINITY = V_EQ | static_cast(VC_PLUS_INFINITY), 2441: 2441: 2441: V_NAN = static_cast(VC_NAN), 2441: 2441: 2441: V_CVT_STR_UNK = V_NAN | (1U << 8), 2441: 2441: 2441: V_DIV_ZERO = V_NAN | (2U << 8), 2441: 2441: 2441: V_INF_ADD_INF = V_NAN | (3U << 8), 2441: 2441: 2441: V_INF_DIV_INF = V_NAN | (4U << 8), 2441: 2441: 2441: V_INF_MOD = V_NAN | (5U << 8), 2441: 2441: 2441: V_INF_MUL_ZERO = V_NAN | (6U << 8), 2441: 2441: 2441: V_INF_SUB_INF = V_NAN | (7U << 8), 2441: 2441: 2441: V_MOD_ZERO = V_NAN | (8U << 8), 2441: 2441: 2441: V_SQRT_NEG = V_NAN | (9U << 8), 2441: 2441: 2441: V_UNKNOWN_NEG_OVERFLOW = V_NAN | (10U << 8), 2441: 2441: 2441: V_UNKNOWN_POS_OVERFLOW = V_NAN | (11U << 8), 2441: 2441: 2441: V_UNREPRESENTABLE = 1U << 7 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: Result operator&(Result x, Result y); 2441: 2441: 2441: Result operator|(Result x, Result y); 2441: 2441: 2441: Result operator-(Result x, Result y); 2441: 2441: 2441: 2441: 2441: 2441: Result_Class result_class(Result r); 2441: 2441: 2441: 2441: 2441: Result_Relation result_relation(Result r); 2441: 2441: 2441: Result result_relation_class(Result r); 2441: 2441: 2441: 2441: } 2441: 2441: # 1 "../../src/Result_inlines.hh" 1 2441: # 27 "../../src/Result_inlines.hh" 2441: # 1 "../../src/assertions.hh" 1 2441: # 99 "../../src/assertions.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 110 "../../src/assertions.hh" 2441: void ppl_unreachable() __attribute__((weak, noreturn)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void ppl_unreachable_msg(const char* msg, 2441: const char* file, unsigned int line, 2441: const char* function) __attribute__((weak, noreturn)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void ppl_assertion_failed(const char* assertion_text, 2441: const char* file, unsigned int line, 2441: const char* function) __attribute__((weak, noreturn)); 2441: # 143 "../../src/assertions.hh" 2441: template 2441: bool copy_contains(T x_copy, T y_copy) { 2441: return x_copy.contains(y_copy); 2441: } 2441: 2441: } 2441: # 28 "../../src/Result_inlines.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: inline Result 2441: operator&(Result x, Result y) { 2441: const unsigned res = static_cast(x) & static_cast(y); 2441: return static_cast(res); 2441: } 2441: 2441: 2441: inline Result 2441: operator|(Result x, Result y) { 2441: const unsigned res = static_cast(x) | static_cast(y); 2441: return static_cast(res); 2441: } 2441: 2441: 2441: inline Result 2441: operator-(Result x, Result y) { 2441: const Result y_neg = static_cast(~static_cast(y)); 2441: return x & y_neg; 2441: } 2441: 2441: 2441: inline Result_Class 2441: result_class(Result r) { 2441: const Result rc = r & static_cast(VC_MASK); 2441: return static_cast(rc); 2441: } 2441: 2441: 2441: inline Result_Relation 2441: result_relation(Result r) { 2441: const Result rc = r & static_cast(VR_MASK); 2441: return static_cast(rc); 2441: } 2441: 2441: 2441: inline Result 2441: result_relation_class(Result r) { 2441: return r & (static_cast(VR_MASK) | static_cast(VC_MASK)); 2441: } 2441: 2441: inline int 2441: result_overflow(Result r) { 2441: switch (result_class(r)) { 2441: case VC_NORMAL: 2441: switch (r) { 2441: case V_LT_INF: 2441: return -1; 2441: case V_GT_SUP: 2441: return 1; 2441: default: 2441: break; 2441: } 2441: break; 2441: case VC_MINUS_INFINITY: 2441: return -1; 2441: case VC_PLUS_INFINITY: 2441: return 1; 2441: default: 2441: break; 2441: } 2441: return 0; 2441: } 2441: 2441: inline bool 2441: result_representable(Result r) { 2441: return (r & V_UNREPRESENTABLE) != V_UNREPRESENTABLE; 2441: } 2441: 2441: } 2441: # 194 "../../src/Result_defs.hh" 2 2441: # 28 "../../src/Rounding_Dir_defs.hh" 2 2441: # 1 "../../src/fpu_defs.hh" 1 2441: # 27 "../../src/fpu_defs.hh" 2441: # 1 "../../src/fpu_types.hh" 1 2441: # 20 "../../src/fpu_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: enum fpu_rounding_direction_type {}; 2441: enum fpu_rounding_control_word_type {}; 2441: 2441: } 2441: # 28 "../../src/fpu_defs.hh" 2 2441: # 1 "../../src/compiler.hh" 1 2441: # 27 "../../src/compiler.hh" 2441: # 1 "/usr/include/c++/8/cstddef" 1 3 2441: # 42 "/usr/include/c++/8/cstddef" 3 2441: 2441: # 43 "/usr/include/c++/8/cstddef" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 51 "/usr/include/c++/8/cstddef" 2 3 2441: 2441: 2441: 2441: # 53 "/usr/include/c++/8/cstddef" 3 2441: namespace std 2441: { 2441: 2441: using ::max_align_t; 2441: } 2441: # 28 "../../src/compiler.hh" 2 2441: # 1 "/usr/include/c++/8/climits" 1 3 2441: # 39 "/usr/include/c++/8/climits" 3 2441: 2441: # 40 "/usr/include/c++/8/climits" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 43 "/usr/include/c++/8/climits" 2 3 2441: # 29 "../../src/compiler.hh" 2 2441: # 1 "/usr/include/c++/8/cassert" 1 3 2441: # 41 "/usr/include/c++/8/cassert" 3 2441: 2441: # 42 "/usr/include/c++/8/cassert" 3 2441: 2441: 2441: # 1 "/usr/include/assert.h" 1 3 4 2441: # 44 "/usr/include/c++/8/cassert" 2 3 2441: # 30 "../../src/compiler.hh" 2 2441: 2441: 2441: # 31 "../../src/compiler.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 47 "../../src/compiler.hh" 2441: template 2441: inline void 2441: PPL_CC_FLUSH(const T& x) { 2441: 2441: __asm__ __volatile__ ("" : "+m" (const_cast(x))); 2441: 2441: 2441: 2441: 2441: } 2441: # 67 "../../src/compiler.hh" 2441: template 2441: struct Suppress_Uninitialized_Warnings_Type { 2441: typedef T synonym; 2441: }; 2441: # 142 "../../src/compiler.hh" 2441: inline unsigned int 2441: clz(unsigned int u) { 2441: 2441: # 144 "../../src/compiler.hh" 3 4 2441: (static_cast (0)) 2441: # 144 "../../src/compiler.hh" 2441: ; 2441: 2441: return static_cast(__builtin_clz(u)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: inline unsigned int 2441: clz(unsigned long ul) { 2441: 2441: # 158 "../../src/compiler.hh" 3 4 2441: (static_cast (0)) 2441: # 158 "../../src/compiler.hh" 2441: ; 2441: 2441: return static_cast(__builtin_clzl(ul)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: inline unsigned int 2441: clz(unsigned long long ull) { 2441: 2441: # 172 "../../src/compiler.hh" 3 4 2441: (static_cast (0)) 2441: # 172 "../../src/compiler.hh" 2441: ; 2441: 2441: return static_cast(__builtin_clzll(ull)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: 2441: inline unsigned int 2441: ctz(unsigned int u) { 2441: 2441: # 187 "../../src/compiler.hh" 3 4 2441: (static_cast (0)) 2441: # 187 "../../src/compiler.hh" 2441: ; 2441: 2441: return static_cast(__builtin_ctz(u)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: inline unsigned int 2441: ctz(unsigned long ul) { 2441: 2441: # 201 "../../src/compiler.hh" 3 4 2441: (static_cast (0)) 2441: # 201 "../../src/compiler.hh" 2441: ; 2441: 2441: return static_cast(__builtin_ctzl(ul)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: inline unsigned int 2441: ctz(unsigned long long ull) { 2441: 2441: # 215 "../../src/compiler.hh" 3 4 2441: (static_cast (0)) 2441: # 215 "../../src/compiler.hh" 2441: ; 2441: 2441: return static_cast(__builtin_ctzll(ull)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: } 2441: # 29 "../../src/fpu_defs.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: void 2441: fpu_initialize_control_functions(); 2441: 2441: 2441: fpu_rounding_direction_type 2441: fpu_get_rounding_direction(); 2441: 2441: 2441: void 2441: fpu_set_rounding_direction(fpu_rounding_direction_type dir); 2441: 2441: 2441: 2441: 2441: 2441: fpu_rounding_control_word_type 2441: fpu_save_rounding_direction(fpu_rounding_direction_type dir); 2441: 2441: 2441: 2441: 2441: 2441: 2441: fpu_rounding_control_word_type 2441: fpu_save_rounding_direction_reset_inexact(fpu_rounding_direction_type dir); 2441: 2441: 2441: void 2441: fpu_restore_rounding_direction(fpu_rounding_control_word_type w); 2441: 2441: 2441: void 2441: fpu_reset_inexact(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: int 2441: fpu_check_inexact(); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: # 1 "../../src/fpu-ia32_inlines.hh" 1 2441: # 27 "../../src/fpu-ia32_inlines.hh" 2441: # 1 "/usr/include/c++/8/csetjmp" 1 3 2441: # 39 "/usr/include/c++/8/csetjmp" 3 2441: 2441: # 40 "/usr/include/c++/8/csetjmp" 3 2441: 2441: 2441: # 1 "/usr/include/setjmp.h" 1 3 4 2441: # 27 "/usr/include/setjmp.h" 3 4 2441: 2441: # 27 "/usr/include/setjmp.h" 3 4 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: 2441: struct __jmp_buf_tag 2441: { 2441: 2441: 2441: 2441: 2441: __jmp_buf __jmpbuf; 2441: int __mask_was_saved; 2441: __sigset_t __saved_mask; 2441: }; 2441: 2441: 2441: typedef struct __jmp_buf_tag jmp_buf[1]; 2441: 2441: 2441: 2441: extern int setjmp (jmp_buf __env) throw (); 2441: 2441: 2441: 2441: 2441: extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) throw (); 2441: 2441: 2441: 2441: extern int _setjmp (struct __jmp_buf_tag __env[1]) throw (); 2441: # 67 "/usr/include/setjmp.h" 3 4 2441: extern void longjmp (struct __jmp_buf_tag __env[1], int __val) 2441: throw () __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: 2441: 2441: extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) 2441: throw () __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef struct __jmp_buf_tag sigjmp_buf[1]; 2441: # 93 "/usr/include/setjmp.h" 3 4 2441: extern void siglongjmp (sigjmp_buf __env, int __val) 2441: throw () __attribute__ ((__noreturn__)); 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/setjmp2.h" 1 3 4 2441: # 25 "/usr/include/i386-linux-gnu/bits/setjmp2.h" 3 4 2441: extern void longjmp (struct __jmp_buf_tag __env[1], int __val) throw () __asm__ ("" "__longjmp_chk") 2441: 2441: __attribute__ ((__noreturn__)); 2441: extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) throw () __asm__ ("" "__longjmp_chk") 2441: 2441: __attribute__ ((__noreturn__)); 2441: extern void siglongjmp (struct __jmp_buf_tag __env[1], int __val) throw () __asm__ ("" "__longjmp_chk") 2441: 2441: __attribute__ ((__noreturn__)); 2441: # 101 "/usr/include/setjmp.h" 2 3 4 2441: 2441: 2441: } 2441: # 43 "/usr/include/c++/8/csetjmp" 2 3 2441: # 55 "/usr/include/c++/8/csetjmp" 3 2441: namespace std 2441: { 2441: using ::jmp_buf; 2441: using ::longjmp; 2441: } 2441: # 28 "../../src/fpu-ia32_inlines.hh" 2 2441: # 1 "/usr/include/c++/8/csignal" 1 3 2441: # 39 "/usr/include/c++/8/csignal" 3 2441: 2441: # 40 "/usr/include/c++/8/csignal" 3 2441: 2441: 2441: # 1 "/usr/include/signal.h" 1 3 4 2441: # 27 "/usr/include/signal.h" 3 4 2441: extern "C" { 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/signum.h" 1 3 4 2441: # 26 "/usr/include/i386-linux-gnu/bits/signum.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/signum-generic.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/signum.h" 2 3 4 2441: # 31 "/usr/include/signal.h" 2 3 4 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/sig_atomic_t.h" 1 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef __sig_atomic_t sig_atomic_t; 2441: # 33 "/usr/include/signal.h" 2 3 4 2441: # 57 "/usr/include/signal.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/siginfo_t.h" 1 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 5 "/usr/include/i386-linux-gnu/bits/types/siginfo_t.h" 2 3 4 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/__sigval_t.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/types/__sigval_t.h" 3 4 2441: union sigval 2441: { 2441: int sival_int; 2441: void *sival_ptr; 2441: }; 2441: 2441: typedef union sigval __sigval_t; 2441: # 7 "/usr/include/i386-linux-gnu/bits/types/siginfo_t.h" 2 3 4 2441: # 16 "/usr/include/i386-linux-gnu/bits/types/siginfo_t.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/siginfo-arch.h" 1 3 4 2441: # 17 "/usr/include/i386-linux-gnu/bits/types/siginfo_t.h" 2 3 4 2441: # 36 "/usr/include/i386-linux-gnu/bits/types/siginfo_t.h" 3 4 2441: typedef struct 2441: { 2441: int si_signo; 2441: 2441: int si_errno; 2441: 2441: int si_code; 2441: # 51 "/usr/include/i386-linux-gnu/bits/types/siginfo_t.h" 3 4 2441: union 2441: { 2441: int _pad[((128 / sizeof (int)) - 3)]; 2441: 2441: 2441: struct 2441: { 2441: __pid_t si_pid; 2441: __uid_t si_uid; 2441: } _kill; 2441: 2441: 2441: struct 2441: { 2441: int si_tid; 2441: int si_overrun; 2441: __sigval_t si_sigval; 2441: } _timer; 2441: 2441: 2441: struct 2441: { 2441: __pid_t si_pid; 2441: __uid_t si_uid; 2441: __sigval_t si_sigval; 2441: } _rt; 2441: 2441: 2441: struct 2441: { 2441: __pid_t si_pid; 2441: __uid_t si_uid; 2441: int si_status; 2441: __clock_t si_utime; 2441: __clock_t si_stime; 2441: } _sigchld; 2441: 2441: 2441: struct 2441: { 2441: void *si_addr; 2441: 2441: short int si_addr_lsb; 2441: union 2441: { 2441: 2441: struct 2441: { 2441: void *_lower; 2441: void *_upper; 2441: } _addr_bnd; 2441: 2441: __uint32_t _pkey; 2441: } _bounds; 2441: } _sigfault; 2441: 2441: 2441: struct 2441: { 2441: long int si_band; 2441: int si_fd; 2441: } _sigpoll; 2441: 2441: 2441: 2441: struct 2441: { 2441: void *_call_addr; 2441: int _syscall; 2441: unsigned int _arch; 2441: } _sigsys; 2441: 2441: } _sifields; 2441: } siginfo_t ; 2441: # 58 "/usr/include/signal.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/siginfo-consts.h" 1 3 4 2441: # 35 "/usr/include/i386-linux-gnu/bits/siginfo-consts.h" 3 4 2441: enum 2441: { 2441: SI_ASYNCNL = -60, 2441: SI_TKILL = -6, 2441: SI_SIGIO, 2441: 2441: SI_ASYNCIO, 2441: SI_MESGQ, 2441: SI_TIMER, 2441: 2441: 2441: 2441: 2441: 2441: SI_QUEUE, 2441: SI_USER, 2441: SI_KERNEL = 0x80 2441: # 63 "/usr/include/i386-linux-gnu/bits/siginfo-consts.h" 3 4 2441: }; 2441: 2441: 2441: 2441: 2441: enum 2441: { 2441: ILL_ILLOPC = 1, 2441: 2441: ILL_ILLOPN, 2441: 2441: ILL_ILLADR, 2441: 2441: ILL_ILLTRP, 2441: 2441: ILL_PRVOPC, 2441: 2441: ILL_PRVREG, 2441: 2441: ILL_COPROC, 2441: 2441: ILL_BADSTK 2441: 2441: }; 2441: 2441: 2441: enum 2441: { 2441: FPE_INTDIV = 1, 2441: 2441: FPE_INTOVF, 2441: 2441: FPE_FLTDIV, 2441: 2441: FPE_FLTOVF, 2441: 2441: FPE_FLTUND, 2441: 2441: FPE_FLTRES, 2441: 2441: FPE_FLTINV, 2441: 2441: FPE_FLTSUB 2441: 2441: }; 2441: 2441: 2441: enum 2441: { 2441: SEGV_MAPERR = 1, 2441: 2441: SEGV_ACCERR, 2441: 2441: SEGV_BNDERR, 2441: 2441: SEGV_PKUERR 2441: 2441: }; 2441: 2441: 2441: enum 2441: { 2441: BUS_ADRALN = 1, 2441: 2441: BUS_ADRERR, 2441: 2441: BUS_OBJERR, 2441: 2441: BUS_MCEERR_AR, 2441: 2441: BUS_MCEERR_AO 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: enum 2441: { 2441: TRAP_BRKPT = 1, 2441: 2441: TRAP_TRACE 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: enum 2441: { 2441: CLD_EXITED = 1, 2441: 2441: CLD_KILLED, 2441: 2441: CLD_DUMPED, 2441: 2441: CLD_TRAPPED, 2441: 2441: CLD_STOPPED, 2441: 2441: CLD_CONTINUED 2441: 2441: }; 2441: 2441: 2441: enum 2441: { 2441: POLL_IN = 1, 2441: 2441: POLL_OUT, 2441: 2441: POLL_MSG, 2441: 2441: POLL_ERR, 2441: 2441: POLL_PRI, 2441: 2441: POLL_HUP 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/siginfo-consts-arch.h" 1 3 4 2441: # 189 "/usr/include/i386-linux-gnu/bits/siginfo-consts.h" 2 3 4 2441: # 59 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/sigval_t.h" 1 3 4 2441: # 16 "/usr/include/i386-linux-gnu/bits/types/sigval_t.h" 3 4 2441: typedef __sigval_t sigval_t; 2441: # 63 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/sigevent_t.h" 1 3 4 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/wordsize.h" 1 3 4 2441: # 5 "/usr/include/i386-linux-gnu/bits/types/sigevent_t.h" 2 3 4 2441: # 22 "/usr/include/i386-linux-gnu/bits/types/sigevent_t.h" 3 4 2441: typedef struct sigevent 2441: { 2441: __sigval_t sigev_value; 2441: int sigev_signo; 2441: int sigev_notify; 2441: 2441: union 2441: { 2441: int _pad[((64 / sizeof (int)) - 3)]; 2441: 2441: 2441: 2441: __pid_t _tid; 2441: 2441: struct 2441: { 2441: void (*_function) (__sigval_t); 2441: pthread_attr_t *_attribute; 2441: } _sigev_thread; 2441: } _sigev_un; 2441: } sigevent_t; 2441: # 67 "/usr/include/signal.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/sigevent-consts.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/sigevent-consts.h" 3 4 2441: enum 2441: { 2441: SIGEV_SIGNAL = 0, 2441: 2441: SIGEV_NONE, 2441: 2441: SIGEV_THREAD, 2441: 2441: 2441: SIGEV_THREAD_ID = 4 2441: 2441: 2441: }; 2441: # 68 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: 2441: 2441: typedef void (*__sighandler_t) (int); 2441: 2441: 2441: 2441: 2441: extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) 2441: throw (); 2441: 2441: extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) 2441: throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern __sighandler_t signal (int __sig, __sighandler_t __handler) 2441: throw (); 2441: # 112 "/usr/include/signal.h" 3 4 2441: extern int kill (__pid_t __pid, int __sig) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int killpg (__pid_t __pgrp, int __sig) throw (); 2441: 2441: 2441: 2441: extern int raise (int __sig) throw (); 2441: 2441: 2441: 2441: extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) 2441: throw (); 2441: extern int gsignal (int __sig) throw (); 2441: 2441: 2441: 2441: 2441: extern void psignal (int __sig, const char *__s); 2441: 2441: 2441: extern void psiginfo (const siginfo_t *__pinfo, const char *__s); 2441: # 151 "/usr/include/signal.h" 3 4 2441: extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); 2441: # 170 "/usr/include/signal.h" 3 4 2441: extern int sigblock (int __mask) throw () __attribute__ ((__deprecated__)); 2441: 2441: 2441: extern int sigsetmask (int __mask) throw () __attribute__ ((__deprecated__)); 2441: 2441: 2441: extern int siggetmask (void) throw () __attribute__ ((__deprecated__)); 2441: # 185 "/usr/include/signal.h" 3 4 2441: typedef __sighandler_t sighandler_t; 2441: 2441: 2441: 2441: 2441: typedef __sighandler_t sig_t; 2441: 2441: 2441: 2441: 2441: 2441: extern int sigemptyset (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int sigfillset (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int sigaddset (sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int sigdelset (sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int sigismember (const sigset_t *__set, int __signo) 2441: throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int sigisemptyset (const sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int sigandset (sigset_t *__set, const sigset_t *__left, 2441: const sigset_t *__right) throw () __attribute__ ((__nonnull__ (1, 2, 3))); 2441: 2441: 2441: extern int sigorset (sigset_t *__set, const sigset_t *__left, 2441: const sigset_t *__right) throw () __attribute__ ((__nonnull__ (1, 2, 3))); 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/sigaction.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/sigaction.h" 3 4 2441: struct sigaction 2441: { 2441: 2441: 2441: union 2441: { 2441: 2441: __sighandler_t sa_handler; 2441: 2441: void (*sa_sigaction) (int, siginfo_t *, void *); 2441: } 2441: __sigaction_handler; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: __sigset_t sa_mask; 2441: 2441: 2441: int sa_flags; 2441: 2441: 2441: void (*sa_restorer) (void); 2441: }; 2441: # 227 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: extern int sigprocmask (int __how, const sigset_t *__restrict __set, 2441: sigset_t *__restrict __oset) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int sigsuspend (const sigset_t *__set) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: extern int sigaction (int __sig, const struct sigaction *__restrict __act, 2441: struct sigaction *__restrict __oact) throw (); 2441: 2441: 2441: extern int sigpending (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) 2441: __attribute__ ((__nonnull__ (1, 2))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int sigwaitinfo (const sigset_t *__restrict __set, 2441: siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int sigtimedwait (const sigset_t *__restrict __set, 2441: siginfo_t *__restrict __info, 2441: const struct timespec *__restrict __timeout) 2441: __attribute__ ((__nonnull__ (1))); 2441: 2441: 2441: 2441: extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) 2441: throw (); 2441: # 286 "/usr/include/signal.h" 3 4 2441: extern const char *const _sys_siglist[(64 + 1)]; 2441: extern const char *const sys_siglist[(64 + 1)]; 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/sigcontext.h" 1 3 4 2441: # 31 "/usr/include/i386-linux-gnu/bits/sigcontext.h" 3 4 2441: struct _fpx_sw_bytes 2441: { 2441: __uint32_t magic1; 2441: __uint32_t extended_size; 2441: __uint64_t xstate_bv; 2441: __uint32_t xstate_size; 2441: __uint32_t __glibc_reserved1[7]; 2441: }; 2441: 2441: struct _fpreg 2441: { 2441: unsigned short significand[4]; 2441: unsigned short exponent; 2441: }; 2441: 2441: struct _fpxreg 2441: { 2441: unsigned short significand[4]; 2441: unsigned short exponent; 2441: unsigned short __glibc_reserved1[3]; 2441: }; 2441: 2441: struct _xmmreg 2441: { 2441: __uint32_t element[4]; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: struct _fpstate 2441: { 2441: 2441: __uint32_t cw; 2441: __uint32_t sw; 2441: __uint32_t tag; 2441: __uint32_t ipoff; 2441: __uint32_t cssel; 2441: __uint32_t dataoff; 2441: __uint32_t datasel; 2441: struct _fpreg _st[8]; 2441: unsigned short status; 2441: unsigned short magic; 2441: 2441: 2441: __uint32_t _fxsr_env[6]; 2441: __uint32_t mxcsr; 2441: __uint32_t __glibc_reserved1; 2441: struct _fpxreg _fxsr_st[8]; 2441: struct _xmmreg _xmm[8]; 2441: __uint32_t __glibc_reserved2[56]; 2441: }; 2441: # 95 "/usr/include/i386-linux-gnu/bits/sigcontext.h" 3 4 2441: struct sigcontext 2441: { 2441: unsigned short gs, __gsh; 2441: unsigned short fs, __fsh; 2441: unsigned short es, __esh; 2441: unsigned short ds, __dsh; 2441: unsigned long edi; 2441: unsigned long esi; 2441: unsigned long ebp; 2441: unsigned long esp; 2441: unsigned long ebx; 2441: unsigned long edx; 2441: unsigned long ecx; 2441: unsigned long eax; 2441: unsigned long trapno; 2441: unsigned long err; 2441: unsigned long eip; 2441: unsigned short cs, __csh; 2441: unsigned long eflags; 2441: unsigned long esp_at_signal; 2441: unsigned short ss, __ssh; 2441: struct _fpstate * fpstate; 2441: unsigned long oldmask; 2441: unsigned long cr2; 2441: }; 2441: # 177 "/usr/include/i386-linux-gnu/bits/sigcontext.h" 3 4 2441: struct _xsave_hdr 2441: { 2441: __uint64_t xstate_bv; 2441: __uint64_t __glibc_reserved1[2]; 2441: __uint64_t __glibc_reserved2[5]; 2441: }; 2441: 2441: struct _ymmh_state 2441: { 2441: __uint32_t ymmh_space[64]; 2441: }; 2441: 2441: struct _xstate 2441: { 2441: struct _fpstate fpstate; 2441: struct _xsave_hdr xstate_hdr; 2441: struct _ymmh_state ymmh; 2441: }; 2441: # 292 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: extern int sigreturn (struct sigcontext *__scp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 302 "/usr/include/signal.h" 2 3 4 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/stack_t.h" 1 3 4 2441: # 23 "/usr/include/i386-linux-gnu/bits/types/stack_t.h" 3 4 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include/stddef.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/types/stack_t.h" 2 3 4 2441: 2441: 2441: typedef struct 2441: { 2441: void *ss_sp; 2441: int ss_flags; 2441: size_t ss_size; 2441: } stack_t; 2441: # 304 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/sys/ucontext.h" 1 3 4 2441: # 156 "/usr/include/i386-linux-gnu/sys/ucontext.h" 3 4 2441: typedef int greg_t; 2441: # 165 "/usr/include/i386-linux-gnu/sys/ucontext.h" 3 4 2441: typedef greg_t gregset_t[19]; 2441: 2441: 2441: 2441: enum 2441: { 2441: REG_GS = 0, 2441: 2441: REG_FS, 2441: 2441: REG_ES, 2441: 2441: REG_DS, 2441: 2441: REG_EDI, 2441: 2441: REG_ESI, 2441: 2441: REG_EBP, 2441: 2441: REG_ESP, 2441: 2441: REG_EBX, 2441: 2441: REG_EDX, 2441: 2441: REG_ECX, 2441: 2441: REG_EAX, 2441: 2441: REG_TRAPNO, 2441: 2441: REG_ERR, 2441: 2441: REG_EIP, 2441: 2441: REG_CS, 2441: 2441: REG_EFL, 2441: 2441: REG_UESP, 2441: 2441: REG_SS 2441: 2441: }; 2441: 2441: 2441: 2441: struct _libc_fpreg 2441: { 2441: unsigned short int significand[4]; 2441: unsigned short int exponent; 2441: }; 2441: 2441: struct _libc_fpstate 2441: { 2441: unsigned long int cw; 2441: unsigned long int sw; 2441: unsigned long int tag; 2441: unsigned long int ipoff; 2441: unsigned long int cssel; 2441: unsigned long int dataoff; 2441: unsigned long int datasel; 2441: struct _libc_fpreg _st[8]; 2441: unsigned long int status; 2441: }; 2441: 2441: 2441: typedef struct _libc_fpstate *fpregset_t; 2441: 2441: 2441: typedef struct 2441: { 2441: gregset_t gregs; 2441: 2441: 2441: fpregset_t fpregs; 2441: unsigned long int oldmask; 2441: unsigned long int cr2; 2441: } mcontext_t; 2441: 2441: 2441: typedef struct ucontext_t 2441: { 2441: unsigned long int uc_flags; 2441: struct ucontext_t *uc_link; 2441: stack_t uc_stack; 2441: mcontext_t uc_mcontext; 2441: sigset_t uc_sigmask; 2441: struct _libc_fpstate __fpregs_mem; 2441: unsigned long int __ssp[4]; 2441: } ucontext_t; 2441: # 307 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int siginterrupt (int __sig, int __interrupt) throw (); 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/sigstack.h" 1 3 4 2441: # 317 "/usr/include/signal.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/ss_flags.h" 1 3 4 2441: # 27 "/usr/include/i386-linux-gnu/bits/ss_flags.h" 3 4 2441: enum 2441: { 2441: SS_ONSTACK = 1, 2441: 2441: SS_DISABLE 2441: 2441: }; 2441: # 318 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: 2441: extern int sigaltstack (const stack_t *__restrict __ss, 2441: stack_t *__restrict __oss) throw (); 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/types/struct_sigstack.h" 1 3 4 2441: # 23 "/usr/include/i386-linux-gnu/bits/types/struct_sigstack.h" 3 4 2441: struct sigstack 2441: { 2441: void *ss_sp; 2441: int ss_onstack; 2441: }; 2441: # 328 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) 2441: throw () __attribute__ ((__deprecated__)); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int sighold (int __sig) throw (); 2441: 2441: 2441: extern int sigrelse (int __sig) throw (); 2441: 2441: 2441: extern int sigignore (int __sig) throw (); 2441: 2441: 2441: extern __sighandler_t sigset (int __sig, __sighandler_t __disp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/sigthread.h" 1 3 4 2441: # 31 "/usr/include/i386-linux-gnu/bits/sigthread.h" 3 4 2441: extern int pthread_sigmask (int __how, 2441: const __sigset_t *__restrict __newmask, 2441: __sigset_t *__restrict __oldmask)throw (); 2441: 2441: 2441: extern int pthread_kill (pthread_t __threadid, int __signo) throw (); 2441: 2441: 2441: 2441: extern int pthread_sigqueue (pthread_t __threadid, int __signo, 2441: const union sigval __value) throw (); 2441: # 360 "/usr/include/signal.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int __libc_current_sigrtmin (void) throw (); 2441: 2441: extern int __libc_current_sigrtmax (void) throw (); 2441: 2441: 2441: 2441: 2441: } 2441: # 43 "/usr/include/c++/8/csignal" 2 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace std 2441: { 2441: using ::sig_atomic_t; 2441: using ::signal; 2441: using ::raise; 2441: } 2441: # 29 "../../src/fpu-ia32_inlines.hh" 2 2441: # 57 "../../src/fpu-ia32_inlines.hh" 2441: 2441: # 57 "../../src/fpu-ia32_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: typedef struct { 2441: unsigned short control_word; 2441: unsigned short unused1; 2441: unsigned short status_word; 2441: unsigned short unused2; 2441: unsigned short tags; 2441: unsigned short unused3; 2441: unsigned int eip; 2441: unsigned short cs_selector; 2441: unsigned int opcode:11; 2441: unsigned int unused4:5; 2441: unsigned int data_offset; 2441: unsigned short data_selector; 2441: unsigned short unused5; 2441: } ia32_fenv_t; 2441: 2441: inline int 2441: fpu_get_control() { 2441: unsigned short cw; 2441: __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw) : : "memory"); 2441: return cw; 2441: } 2441: 2441: inline void 2441: fpu_set_control(int c) { 2441: unsigned short cw = static_cast(c); 2441: __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw) : "memory"); 2441: } 2441: 2441: inline int 2441: fpu_get_status() { 2441: unsigned short sw; 2441: __asm__ __volatile__ ("fnstsw %0" : "=a" (sw) : : "memory"); 2441: return sw; 2441: } 2441: 2441: inline void 2441: fpu_clear_status(unsigned short bits) { 2441: 2441: ia32_fenv_t env; 2441: __asm__ __volatile__ ("fnstenv %0" : "=m" (env)); 2441: env.status_word = static_cast(env.status_word & ~bits); 2441: __asm__ __volatile__ ("fldenv %0" : : "m" (env) : "memory"); 2441: } 2441: 2441: inline void 2441: fpu_clear_exceptions() { 2441: __asm__ __volatile__ ("fnclex" : : : "memory"); 2441: } 2441: 2441: 2441: inline void 2441: sse_set_control(unsigned int cw) { 2441: __asm__ __volatile__ ("ldmxcsr %0" : : "m" (*&cw) : "memory"); 2441: } 2441: 2441: inline unsigned int 2441: sse_get_control() { 2441: unsigned int cw; 2441: __asm__ __volatile__ ("stmxcsr %0" : "=m" (*&cw) : : "memory"); 2441: return cw; 2441: } 2441: 2441: 2441: inline void 2441: fpu_initialize_control_functions() { 2441: 2441: extern void detect_sse_unit(); 2441: detect_sse_unit(); 2441: 2441: } 2441: 2441: inline fpu_rounding_direction_type 2441: fpu_get_rounding_direction() { 2441: return static_cast(fpu_get_control() & 0xc00); 2441: } 2441: 2441: inline void 2441: fpu_set_rounding_direction(fpu_rounding_direction_type dir) { 2441: 2441: fpu_set_control(0x37f | dir); 2441: 2441: 2441: extern bool have_sse_unit; 2441: if (have_sse_unit) 2441: sse_set_control(0x1f80 | (dir << 3)); 2441: 2441: } 2441: 2441: inline fpu_rounding_control_word_type 2441: fpu_save_rounding_direction(fpu_rounding_direction_type dir) { 2441: 2441: fpu_set_control(0x37f | dir); 2441: 2441: 2441: extern bool have_sse_unit; 2441: if (have_sse_unit) 2441: sse_set_control(0x1f80 | (dir << 3)); 2441: 2441: return static_cast(0); 2441: } 2441: 2441: inline void 2441: fpu_reset_inexact() { 2441: 2441: fpu_clear_exceptions(); 2441: 2441: 2441: 2441: 2441: extern bool have_sse_unit; 2441: if (have_sse_unit) { 2441: sse_set_control((0x1f80 | (0x800 << 3))); 2441: } 2441: 2441: } 2441: 2441: inline void 2441: fpu_restore_rounding_direction(fpu_rounding_control_word_type) { 2441: 2441: fpu_set_control((0x37f | 0x800)); 2441: 2441: 2441: extern bool have_sse_unit; 2441: if (have_sse_unit) { 2441: sse_set_control((0x1f80 | (0x800 << 3))); 2441: } 2441: 2441: } 2441: 2441: inline int 2441: fpu_check_inexact() { 2441: 2441: if (fpu_get_status() & 0x20) { 2441: return 1; 2441: } 2441: 2441: 2441: extern bool have_sse_unit; 2441: if (have_sse_unit && (sse_get_control() & 0x20)) { 2441: return 1; 2441: } 2441: 2441: return 0; 2441: } 2441: 2441: } 2441: # 87 "../../src/fpu_defs.hh" 2 2441: # 29 "../../src/Rounding_Dir_defs.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: enum Rounding_Dir { 2441: 2441: 2441: 2441: ROUND_DOWN = 0U, 2441: 2441: 2441: 2441: 2441: ROUND_UP = 1U, 2441: 2441: 2441: 2441: 2441: ROUND_IGNORE = 6U, 2441: ROUND_NATIVE = ROUND_IGNORE, 2441: 2441: 2441: 2441: 2441: 2441: 2441: ROUND_NOT_NEEDED = 7U, 2441: 2441: ROUND_DIRECT = ROUND_UP, 2441: ROUND_INVERSE = ROUND_DOWN, 2441: 2441: ROUND_DIR_MASK = 7U, 2441: 2441: 2441: 2441: 2441: 2441: ROUND_STRICT_RELATION = 8U, 2441: 2441: ROUND_CHECK = ROUND_DIRECT | ROUND_STRICT_RELATION 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: Rounding_Dir operator&(Rounding_Dir x, Rounding_Dir y); 2441: 2441: 2441: Rounding_Dir operator|(Rounding_Dir x, Rounding_Dir y); 2441: 2441: 2441: 2441: 2441: 2441: Rounding_Dir inverse(Rounding_Dir dir); 2441: 2441: 2441: Rounding_Dir round_dir(Rounding_Dir dir); 2441: 2441: 2441: bool round_down(Rounding_Dir dir); 2441: 2441: 2441: bool round_up(Rounding_Dir dir); 2441: 2441: 2441: bool round_ignore(Rounding_Dir dir); 2441: 2441: 2441: bool round_not_needed(Rounding_Dir dir); 2441: 2441: 2441: bool round_not_requested(Rounding_Dir dir); 2441: 2441: 2441: bool round_direct(Rounding_Dir dir); 2441: 2441: 2441: bool round_inverse(Rounding_Dir dir); 2441: 2441: 2441: bool round_strict_relation(Rounding_Dir dir); 2441: 2441: 2441: fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir); 2441: 2441: 2441: 2441: } 2441: 2441: # 1 "../../src/Rounding_Dir_inlines.hh" 1 2441: # 29 "../../src/Rounding_Dir_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: inline Rounding_Dir 2441: operator&(Rounding_Dir x, Rounding_Dir y) { 2441: const unsigned res = static_cast(x) & static_cast(y); 2441: return static_cast(res); 2441: } 2441: 2441: 2441: inline Rounding_Dir 2441: operator|(Rounding_Dir x, Rounding_Dir y) { 2441: const unsigned res = static_cast(x) | static_cast(y); 2441: return static_cast(res); 2441: } 2441: 2441: 2441: inline Rounding_Dir 2441: round_dir(Rounding_Dir dir) { 2441: return dir & ROUND_DIR_MASK; 2441: } 2441: 2441: 2441: inline bool 2441: round_down(Rounding_Dir dir) { 2441: return round_dir(dir) == ROUND_DOWN; 2441: } 2441: 2441: 2441: inline bool 2441: round_up(Rounding_Dir dir) { 2441: return round_dir(dir) == ROUND_UP; 2441: } 2441: 2441: 2441: inline bool 2441: round_ignore(Rounding_Dir dir) { 2441: return round_dir(dir) == ROUND_IGNORE; 2441: } 2441: 2441: 2441: inline bool 2441: round_not_needed(Rounding_Dir dir) { 2441: return round_dir(dir) == ROUND_NOT_NEEDED; 2441: } 2441: 2441: 2441: inline bool 2441: round_not_requested(Rounding_Dir dir) { 2441: return round_dir(dir) == ROUND_IGNORE || round_dir(dir) == ROUND_NOT_NEEDED; 2441: } 2441: 2441: 2441: inline bool 2441: round_direct(Rounding_Dir dir) { 2441: return round_dir(dir) == ROUND_DIRECT; 2441: } 2441: 2441: 2441: inline bool 2441: round_inverse(Rounding_Dir dir) { 2441: return round_dir(dir) == ROUND_INVERSE; 2441: } 2441: 2441: 2441: inline bool 2441: round_strict_relation(Rounding_Dir dir) { 2441: return (dir & ROUND_STRICT_RELATION) == ROUND_STRICT_RELATION; 2441: } 2441: 2441: 2441: 2441: 2441: inline fpu_rounding_direction_type 2441: round_fpu_dir(Rounding_Dir dir) { 2441: switch (round_dir(dir)) { 2441: case ROUND_UP: 2441: return static_cast(0x800); 2441: case ROUND_DOWN: 2441: return static_cast(0x400); 2441: case ROUND_IGNORE: 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return static_cast(0x800); 2441: } 2441: } 2441: # 124 "../../src/Rounding_Dir_inlines.hh" 2441: inline Rounding_Dir 2441: inverse(Rounding_Dir dir) { 2441: switch (round_dir(dir)) { 2441: case ROUND_UP: 2441: return ROUND_DOWN | (dir & ROUND_STRICT_RELATION); 2441: case ROUND_DOWN: 2441: return ROUND_UP | (dir & ROUND_STRICT_RELATION); 2441: case ROUND_IGNORE: 2441: return dir; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return dir; 2441: } 2441: } 2441: 2441: } 2441: # 122 "../../src/Rounding_Dir_defs.hh" 2 2441: # 30 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/Numeric_Format_defs.hh" 1 2441: # 30 "../../src/Numeric_Format_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Numeric_Format { 2441: }; 2441: 2441: } 2441: # 31 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/Float_defs.hh" 1 2441: # 27 "../../src/Float_defs.hh" 2441: # 1 "../../src/globals_types.hh" 1 2441: # 18 "../../src/globals_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: typedef size_t dimension_type; 2441: 2441: 2441: 2441: typedef size_t memory_size_type; 2441: 2441: 2441: 2441: enum Degenerate_Element { 2441: 2441: UNIVERSE, 2441: 2441: EMPTY 2441: }; 2441: 2441: 2441: 2441: 2441: enum Relation_Symbol { 2441: 2441: EQUAL = 1U, 2441: 2441: LESS_THAN = 2U, 2441: 2441: LESS_OR_EQUAL = LESS_THAN | EQUAL, 2441: 2441: GREATER_THAN = 4U, 2441: 2441: GREATER_OR_EQUAL = GREATER_THAN | EQUAL, 2441: 2441: NOT_EQUAL = LESS_THAN | GREATER_THAN 2441: }; 2441: 2441: 2441: 2441: enum Complexity_Class { 2441: 2441: POLYNOMIAL_COMPLEXITY, 2441: 2441: SIMPLEX_COMPLEXITY, 2441: 2441: ANY_COMPLEXITY 2441: }; 2441: 2441: 2441: 2441: enum Optimization_Mode { 2441: 2441: MINIMIZATION, 2441: 2441: MAXIMIZATION 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum Bounded_Integer_Type_Width { 2441: 2441: BITS_8 = 8, 2441: 2441: 2441: BITS_16 = 16, 2441: 2441: 2441: BITS_32 = 32, 2441: 2441: 2441: BITS_64 = 64, 2441: 2441: 2441: BITS_128 = 128 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum Bounded_Integer_Type_Representation { 2441: 2441: UNSIGNED, 2441: 2441: 2441: 2441: 2441: 2441: SIGNED_2_COMPLEMENT 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum Bounded_Integer_Type_Overflow { 2441: 2441: 2441: 2441: 2441: 2441: 2441: OVERFLOW_WRAPS, 2441: # 143 "../../src/globals_types.hh" 2441: OVERFLOW_UNDEFINED, 2441: # 153 "../../src/globals_types.hh" 2441: OVERFLOW_IMPOSSIBLE 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum Representation { 2441: 2441: 2441: 2441: 2441: 2441: 2441: DENSE, 2441: # 177 "../../src/globals_types.hh" 2441: SPARSE 2441: }; 2441: # 187 "../../src/globals_types.hh" 2441: enum Floating_Point_Format { 2441: 2441: IEEE754_HALF, 2441: 2441: 2441: IEEE754_SINGLE, 2441: 2441: 2441: IEEE754_DOUBLE, 2441: 2441: 2441: IEEE754_QUAD, 2441: 2441: 2441: INTEL_DOUBLE_EXTENDED, 2441: 2441: 2441: IBM_SINGLE, 2441: 2441: 2441: IBM_DOUBLE 2441: }; 2441: 2441: struct Weightwatch_Traits; 2441: 2441: } 2441: # 28 "../../src/Float_defs.hh" 2 2441: 2441: 2441: # 1 "../../src/Concrete_Expression_types.hh" 1 2441: # 16 "../../src/Concrete_Expression_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 27 "../../src/Concrete_Expression_types.hh" 2441: template 2441: class Concrete_Expression; 2441: 2441: 2441: 2441: 2441: template 2441: class Binary_Operator; 2441: 2441: 2441: 2441: 2441: template 2441: class Unary_Operator; 2441: 2441: 2441: 2441: 2441: template 2441: class Cast_Operator; 2441: 2441: 2441: 2441: 2441: template 2441: class Integer_Constant; 2441: 2441: 2441: 2441: 2441: template 2441: class Floating_Point_Constant; 2441: 2441: 2441: 2441: 2441: template 2441: class Approximable_Reference; 2441: 2441: class Concrete_Expression_Type; 2441: # 78 "../../src/Concrete_Expression_types.hh" 2441: typedef int Concrete_Expression_Kind; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef int Concrete_Expression_BOP; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef int Concrete_Expression_UOP; 2441: 2441: } 2441: # 31 "../../src/Float_defs.hh" 2 2441: # 1 "../../src/Variable_types.hh" 1 2441: # 16 "../../src/Variable_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Variable; 2441: 2441: } 2441: # 32 "../../src/Float_defs.hh" 2 2441: # 1 "../../src/Linear_Form_types.hh" 1 2441: # 16 "../../src/Linear_Form_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Linear_Form; 2441: 2441: } 2441: # 33 "../../src/Float_defs.hh" 2 2441: # 1 "/usr/include/c++/8/set" 1 3 2441: # 58 "/usr/include/c++/8/set" 3 2441: 2441: # 59 "/usr/include/c++/8/set" 3 2441: 2441: # 1 "/usr/include/c++/8/bits/stl_tree.h" 1 3 2441: # 61 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: 2441: # 62 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/ext/aligned_buffer.h" 1 3 2441: # 32 "/usr/include/c++/8/ext/aligned_buffer.h" 3 2441: 2441: # 33 "/usr/include/c++/8/ext/aligned_buffer.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 40 "/usr/include/c++/8/ext/aligned_buffer.h" 3 2441: namespace __gnu_cxx 2441: { 2441: 2441: 2441: 2441: 2441: template 2441: struct __aligned_membuf 2441: { 2441: 2441: 2441: 2441: 2441: 2441: struct _Tp2 { _Tp _M_t; }; 2441: 2441: alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; 2441: 2441: __aligned_membuf() = default; 2441: 2441: 2441: __aligned_membuf(std::nullptr_t) { } 2441: 2441: void* 2441: _M_addr() noexcept 2441: { return static_cast(&_M_storage); } 2441: 2441: const void* 2441: _M_addr() const noexcept 2441: { return static_cast(&_M_storage); } 2441: 2441: _Tp* 2441: _M_ptr() noexcept 2441: { return static_cast<_Tp*>(_M_addr()); } 2441: 2441: const _Tp* 2441: _M_ptr() const noexcept 2441: { return static_cast(_M_addr()); } 2441: }; 2441: # 89 "/usr/include/c++/8/ext/aligned_buffer.h" 3 2441: template 2441: struct __aligned_buffer 2441: : std::aligned_storage 2441: { 2441: typename 2441: std::aligned_storage::type _M_storage; 2441: 2441: __aligned_buffer() = default; 2441: 2441: 2441: __aligned_buffer(std::nullptr_t) { } 2441: 2441: void* 2441: _M_addr() noexcept 2441: { 2441: return static_cast(&_M_storage); 2441: } 2441: 2441: const void* 2441: _M_addr() const noexcept 2441: { 2441: return static_cast(&_M_storage); 2441: } 2441: 2441: _Tp* 2441: _M_ptr() noexcept 2441: { return static_cast<_Tp*>(_M_addr()); } 2441: 2441: const _Tp* 2441: _M_ptr() const noexcept 2441: { return static_cast(_M_addr()); } 2441: }; 2441: 2441: 2441: } 2441: # 70 "/usr/include/c++/8/bits/stl_tree.h" 2 3 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 99 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: enum _Rb_tree_color { _S_red = false, _S_black = true }; 2441: 2441: struct _Rb_tree_node_base 2441: { 2441: typedef _Rb_tree_node_base* _Base_ptr; 2441: typedef const _Rb_tree_node_base* _Const_Base_ptr; 2441: 2441: _Rb_tree_color _M_color; 2441: _Base_ptr _M_parent; 2441: _Base_ptr _M_left; 2441: _Base_ptr _M_right; 2441: 2441: static _Base_ptr 2441: _S_minimum(_Base_ptr __x) noexcept 2441: { 2441: while (__x->_M_left != 0) __x = __x->_M_left; 2441: return __x; 2441: } 2441: 2441: static _Const_Base_ptr 2441: _S_minimum(_Const_Base_ptr __x) noexcept 2441: { 2441: while (__x->_M_left != 0) __x = __x->_M_left; 2441: return __x; 2441: } 2441: 2441: static _Base_ptr 2441: _S_maximum(_Base_ptr __x) noexcept 2441: { 2441: while (__x->_M_right != 0) __x = __x->_M_right; 2441: return __x; 2441: } 2441: 2441: static _Const_Base_ptr 2441: _S_maximum(_Const_Base_ptr __x) noexcept 2441: { 2441: while (__x->_M_right != 0) __x = __x->_M_right; 2441: return __x; 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct _Rb_tree_key_compare 2441: { 2441: _Key_compare _M_key_compare; 2441: 2441: _Rb_tree_key_compare() 2441: noexcept(is_nothrow_default_constructible<_Key_compare>::value) 2441: 2441: : _M_key_compare() 2441: { } 2441: 2441: _Rb_tree_key_compare(const _Key_compare& __comp) 2441: : _M_key_compare(__comp) 2441: { } 2441: 2441: 2441: 2441: _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default; 2441: 2441: _Rb_tree_key_compare(_Rb_tree_key_compare&& __x) 2441: noexcept(is_nothrow_copy_constructible<_Key_compare>::value) 2441: : _M_key_compare(__x._M_key_compare) 2441: { } 2441: 2441: }; 2441: 2441: 2441: struct _Rb_tree_header 2441: { 2441: _Rb_tree_node_base _M_header; 2441: size_t _M_node_count; 2441: 2441: _Rb_tree_header() noexcept 2441: { 2441: _M_header._M_color = _S_red; 2441: _M_reset(); 2441: } 2441: 2441: 2441: _Rb_tree_header(_Rb_tree_header&& __x) noexcept 2441: { 2441: if (__x._M_header._M_parent != nullptr) 2441: _M_move_data(__x); 2441: else 2441: { 2441: _M_header._M_color = _S_red; 2441: _M_reset(); 2441: } 2441: } 2441: 2441: 2441: void 2441: _M_move_data(_Rb_tree_header& __from) 2441: { 2441: _M_header._M_color = __from._M_header._M_color; 2441: _M_header._M_parent = __from._M_header._M_parent; 2441: _M_header._M_left = __from._M_header._M_left; 2441: _M_header._M_right = __from._M_header._M_right; 2441: _M_header._M_parent->_M_parent = &_M_header; 2441: _M_node_count = __from._M_node_count; 2441: 2441: __from._M_reset(); 2441: } 2441: 2441: void 2441: _M_reset() 2441: { 2441: _M_header._M_parent = 0; 2441: _M_header._M_left = &_M_header; 2441: _M_header._M_right = &_M_header; 2441: _M_node_count = 0; 2441: } 2441: }; 2441: 2441: template 2441: struct _Rb_tree_node : public _Rb_tree_node_base 2441: { 2441: typedef _Rb_tree_node<_Val>* _Link_type; 2441: # 231 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: __gnu_cxx::__aligned_membuf<_Val> _M_storage; 2441: 2441: _Val* 2441: _M_valptr() 2441: { return _M_storage._M_ptr(); } 2441: 2441: const _Val* 2441: _M_valptr() const 2441: { return _M_storage._M_ptr(); } 2441: 2441: }; 2441: 2441: __attribute__ ((__pure__)) _Rb_tree_node_base* 2441: _Rb_tree_increment(_Rb_tree_node_base* __x) throw (); 2441: 2441: __attribute__ ((__pure__)) const _Rb_tree_node_base* 2441: _Rb_tree_increment(const _Rb_tree_node_base* __x) throw (); 2441: 2441: __attribute__ ((__pure__)) _Rb_tree_node_base* 2441: _Rb_tree_decrement(_Rb_tree_node_base* __x) throw (); 2441: 2441: __attribute__ ((__pure__)) const _Rb_tree_node_base* 2441: _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw (); 2441: 2441: template 2441: struct _Rb_tree_iterator 2441: { 2441: typedef _Tp value_type; 2441: typedef _Tp& reference; 2441: typedef _Tp* pointer; 2441: 2441: typedef bidirectional_iterator_tag iterator_category; 2441: typedef ptrdiff_t difference_type; 2441: 2441: typedef _Rb_tree_iterator<_Tp> _Self; 2441: typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; 2441: typedef _Rb_tree_node<_Tp>* _Link_type; 2441: 2441: _Rb_tree_iterator() noexcept 2441: : _M_node() { } 2441: 2441: explicit 2441: _Rb_tree_iterator(_Base_ptr __x) noexcept 2441: : _M_node(__x) { } 2441: 2441: reference 2441: operator*() const noexcept 2441: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 2441: 2441: pointer 2441: operator->() const noexcept 2441: { return static_cast<_Link_type> (_M_node)->_M_valptr(); } 2441: 2441: _Self& 2441: operator++() noexcept 2441: { 2441: _M_node = _Rb_tree_increment(_M_node); 2441: return *this; 2441: } 2441: 2441: _Self 2441: operator++(int) noexcept 2441: { 2441: _Self __tmp = *this; 2441: _M_node = _Rb_tree_increment(_M_node); 2441: return __tmp; 2441: } 2441: 2441: _Self& 2441: operator--() noexcept 2441: { 2441: _M_node = _Rb_tree_decrement(_M_node); 2441: return *this; 2441: } 2441: 2441: _Self 2441: operator--(int) noexcept 2441: { 2441: _Self __tmp = *this; 2441: _M_node = _Rb_tree_decrement(_M_node); 2441: return __tmp; 2441: } 2441: 2441: bool 2441: operator==(const _Self& __x) const noexcept 2441: { return _M_node == __x._M_node; } 2441: 2441: bool 2441: operator!=(const _Self& __x) const noexcept 2441: { return _M_node != __x._M_node; } 2441: 2441: _Base_ptr _M_node; 2441: }; 2441: 2441: template 2441: struct _Rb_tree_const_iterator 2441: { 2441: typedef _Tp value_type; 2441: typedef const _Tp& reference; 2441: typedef const _Tp* pointer; 2441: 2441: typedef _Rb_tree_iterator<_Tp> iterator; 2441: 2441: typedef bidirectional_iterator_tag iterator_category; 2441: typedef ptrdiff_t difference_type; 2441: 2441: typedef _Rb_tree_const_iterator<_Tp> _Self; 2441: typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; 2441: typedef const _Rb_tree_node<_Tp>* _Link_type; 2441: 2441: _Rb_tree_const_iterator() noexcept 2441: : _M_node() { } 2441: 2441: explicit 2441: _Rb_tree_const_iterator(_Base_ptr __x) noexcept 2441: : _M_node(__x) { } 2441: 2441: _Rb_tree_const_iterator(const iterator& __it) noexcept 2441: : _M_node(__it._M_node) { } 2441: 2441: iterator 2441: _M_const_cast() const noexcept 2441: { return iterator(const_cast(_M_node)); } 2441: 2441: reference 2441: operator*() const noexcept 2441: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 2441: 2441: pointer 2441: operator->() const noexcept 2441: { return static_cast<_Link_type>(_M_node)->_M_valptr(); } 2441: 2441: _Self& 2441: operator++() noexcept 2441: { 2441: _M_node = _Rb_tree_increment(_M_node); 2441: return *this; 2441: } 2441: 2441: _Self 2441: operator++(int) noexcept 2441: { 2441: _Self __tmp = *this; 2441: _M_node = _Rb_tree_increment(_M_node); 2441: return __tmp; 2441: } 2441: 2441: _Self& 2441: operator--() noexcept 2441: { 2441: _M_node = _Rb_tree_decrement(_M_node); 2441: return *this; 2441: } 2441: 2441: _Self 2441: operator--(int) noexcept 2441: { 2441: _Self __tmp = *this; 2441: _M_node = _Rb_tree_decrement(_M_node); 2441: return __tmp; 2441: } 2441: 2441: bool 2441: operator==(const _Self& __x) const noexcept 2441: { return _M_node == __x._M_node; } 2441: 2441: bool 2441: operator!=(const _Self& __x) const noexcept 2441: { return _M_node != __x._M_node; } 2441: 2441: _Base_ptr _M_node; 2441: }; 2441: 2441: template 2441: inline bool 2441: operator==(const _Rb_tree_iterator<_Val>& __x, 2441: const _Rb_tree_const_iterator<_Val>& __y) noexcept 2441: { return __x._M_node == __y._M_node; } 2441: 2441: template 2441: inline bool 2441: operator!=(const _Rb_tree_iterator<_Val>& __x, 2441: const _Rb_tree_const_iterator<_Val>& __y) noexcept 2441: { return __x._M_node != __y._M_node; } 2441: 2441: void 2441: _Rb_tree_insert_and_rebalance(const bool __insert_left, 2441: _Rb_tree_node_base* __x, 2441: _Rb_tree_node_base* __p, 2441: _Rb_tree_node_base& __header) throw (); 2441: 2441: _Rb_tree_node_base* 2441: _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, 2441: _Rb_tree_node_base& __header) throw (); 2441: 2441: 2441: template> 2441: struct __has_is_transparent 2441: { }; 2441: 2441: template 2441: struct __has_is_transparent<_Cmp, _SfinaeType, 2441: __void_t> 2441: { typedef void type; }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template > 2441: class _Rb_tree 2441: { 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind<_Rb_tree_node<_Val> >::other _Node_allocator; 2441: 2441: typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits; 2441: 2441: 2441: static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{}, 2441: "comparison object must be invocable with two arguments of key type"); 2441: # 462 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: protected: 2441: typedef _Rb_tree_node_base* _Base_ptr; 2441: typedef const _Rb_tree_node_base* _Const_Base_ptr; 2441: typedef _Rb_tree_node<_Val>* _Link_type; 2441: typedef const _Rb_tree_node<_Val>* _Const_Link_type; 2441: 2441: private: 2441: 2441: 2441: struct _Reuse_or_alloc_node 2441: { 2441: _Reuse_or_alloc_node(_Rb_tree& __t) 2441: : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t) 2441: { 2441: if (_M_root) 2441: { 2441: _M_root->_M_parent = 0; 2441: 2441: if (_M_nodes->_M_left) 2441: _M_nodes = _M_nodes->_M_left; 2441: } 2441: else 2441: _M_nodes = 0; 2441: } 2441: 2441: 2441: _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete; 2441: 2441: 2441: ~_Reuse_or_alloc_node() 2441: { _M_t._M_erase(static_cast<_Link_type>(_M_root)); } 2441: 2441: template 2441: _Link_type 2441: 2441: 2441: 2441: operator()(_Arg&& __arg) 2441: 2441: { 2441: _Link_type __node = static_cast<_Link_type>(_M_extract()); 2441: if (__node) 2441: { 2441: _M_t._M_destroy_node(__node); 2441: _M_t._M_construct_node(__node, std::forward<_Arg>(__arg)); 2441: return __node; 2441: } 2441: 2441: return _M_t._M_create_node(std::forward<_Arg>(__arg)); 2441: } 2441: 2441: private: 2441: _Base_ptr 2441: _M_extract() 2441: { 2441: if (!_M_nodes) 2441: return _M_nodes; 2441: 2441: _Base_ptr __node = _M_nodes; 2441: _M_nodes = _M_nodes->_M_parent; 2441: if (_M_nodes) 2441: { 2441: if (_M_nodes->_M_right == __node) 2441: { 2441: _M_nodes->_M_right = 0; 2441: 2441: if (_M_nodes->_M_left) 2441: { 2441: _M_nodes = _M_nodes->_M_left; 2441: 2441: while (_M_nodes->_M_right) 2441: _M_nodes = _M_nodes->_M_right; 2441: 2441: if (_M_nodes->_M_left) 2441: _M_nodes = _M_nodes->_M_left; 2441: } 2441: } 2441: else 2441: _M_nodes->_M_left = 0; 2441: } 2441: else 2441: _M_root = 0; 2441: 2441: return __node; 2441: } 2441: 2441: _Base_ptr _M_root; 2441: _Base_ptr _M_nodes; 2441: _Rb_tree& _M_t; 2441: }; 2441: 2441: 2441: 2441: struct _Alloc_node 2441: { 2441: _Alloc_node(_Rb_tree& __t) 2441: : _M_t(__t) { } 2441: 2441: template 2441: _Link_type 2441: 2441: 2441: 2441: operator()(_Arg&& __arg) const 2441: 2441: { return _M_t._M_create_node(std::forward<_Arg>(__arg)); } 2441: 2441: private: 2441: _Rb_tree& _M_t; 2441: }; 2441: 2441: public: 2441: typedef _Key key_type; 2441: typedef _Val value_type; 2441: typedef value_type* pointer; 2441: typedef const value_type* const_pointer; 2441: typedef value_type& reference; 2441: typedef const value_type& const_reference; 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Alloc allocator_type; 2441: 2441: _Node_allocator& 2441: _M_get_Node_allocator() noexcept 2441: { return this->_M_impl; } 2441: 2441: const _Node_allocator& 2441: _M_get_Node_allocator() const noexcept 2441: { return this->_M_impl; } 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_get_Node_allocator()); } 2441: 2441: protected: 2441: _Link_type 2441: _M_get_node() 2441: { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); } 2441: 2441: void 2441: _M_put_node(_Link_type __p) noexcept 2441: { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); } 2441: # 630 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: template 2441: void 2441: _M_construct_node(_Link_type __node, _Args&&... __args) 2441: { 2441: try 2441: { 2441: ::new(__node) _Rb_tree_node<_Val>; 2441: _Alloc_traits::construct(_M_get_Node_allocator(), 2441: __node->_M_valptr(), 2441: std::forward<_Args>(__args)...); 2441: } 2441: catch(...) 2441: { 2441: __node->~_Rb_tree_node<_Val>(); 2441: _M_put_node(__node); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: _Link_type 2441: _M_create_node(_Args&&... __args) 2441: { 2441: _Link_type __tmp = _M_get_node(); 2441: _M_construct_node(__tmp, std::forward<_Args>(__args)...); 2441: return __tmp; 2441: } 2441: 2441: void 2441: _M_destroy_node(_Link_type __p) noexcept 2441: { 2441: _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr()); 2441: __p->~_Rb_tree_node<_Val>(); 2441: } 2441: 2441: 2441: void 2441: _M_drop_node(_Link_type __p) noexcept 2441: { 2441: _M_destroy_node(__p); 2441: _M_put_node(__p); 2441: } 2441: 2441: template 2441: _Link_type 2441: _M_clone_node(_Const_Link_type __x, _NodeGen& __node_gen) 2441: { 2441: _Link_type __tmp = __node_gen(*__x->_M_valptr()); 2441: __tmp->_M_color = __x->_M_color; 2441: __tmp->_M_left = 0; 2441: __tmp->_M_right = 0; 2441: return __tmp; 2441: } 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: template 2441: 2441: struct _Rb_tree_impl 2441: : public _Node_allocator 2441: , public _Rb_tree_key_compare<_Key_compare> 2441: , public _Rb_tree_header 2441: { 2441: typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare; 2441: 2441: _Rb_tree_impl() 2441: noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value) 2441: 2441: 2441: : _Node_allocator() 2441: { } 2441: 2441: _Rb_tree_impl(const _Rb_tree_impl& __x) 2441: : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x)) 2441: , _Base_key_compare(__x._M_key_compare) 2441: { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: _Rb_tree_impl(_Rb_tree_impl&&) = default; 2441: 2441: _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a) 2441: : _Node_allocator(std::move(__a)), _Base_key_compare(__comp) 2441: { } 2441: 2441: }; 2441: 2441: _Rb_tree_impl<_Compare> _M_impl; 2441: 2441: protected: 2441: _Base_ptr& 2441: _M_root() noexcept 2441: { return this->_M_impl._M_header._M_parent; } 2441: 2441: _Const_Base_ptr 2441: _M_root() const noexcept 2441: { return this->_M_impl._M_header._M_parent; } 2441: 2441: _Base_ptr& 2441: _M_leftmost() noexcept 2441: { return this->_M_impl._M_header._M_left; } 2441: 2441: _Const_Base_ptr 2441: _M_leftmost() const noexcept 2441: { return this->_M_impl._M_header._M_left; } 2441: 2441: _Base_ptr& 2441: _M_rightmost() noexcept 2441: { return this->_M_impl._M_header._M_right; } 2441: 2441: _Const_Base_ptr 2441: _M_rightmost() const noexcept 2441: { return this->_M_impl._M_header._M_right; } 2441: 2441: _Link_type 2441: _M_begin() noexcept 2441: { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } 2441: 2441: _Const_Link_type 2441: _M_begin() const noexcept 2441: { 2441: return static_cast<_Const_Link_type> 2441: (this->_M_impl._M_header._M_parent); 2441: } 2441: 2441: _Base_ptr 2441: _M_end() noexcept 2441: { return &this->_M_impl._M_header; } 2441: 2441: _Const_Base_ptr 2441: _M_end() const noexcept 2441: { return &this->_M_impl._M_header; } 2441: 2441: static const_reference 2441: _S_value(_Const_Link_type __x) 2441: { return *__x->_M_valptr(); } 2441: 2441: static const _Key& 2441: _S_key(_Const_Link_type __x) 2441: { return _KeyOfValue()(_S_value(__x)); } 2441: 2441: static _Link_type 2441: _S_left(_Base_ptr __x) noexcept 2441: { return static_cast<_Link_type>(__x->_M_left); } 2441: 2441: static _Const_Link_type 2441: _S_left(_Const_Base_ptr __x) noexcept 2441: { return static_cast<_Const_Link_type>(__x->_M_left); } 2441: 2441: static _Link_type 2441: _S_right(_Base_ptr __x) noexcept 2441: { return static_cast<_Link_type>(__x->_M_right); } 2441: 2441: static _Const_Link_type 2441: _S_right(_Const_Base_ptr __x) noexcept 2441: { return static_cast<_Const_Link_type>(__x->_M_right); } 2441: 2441: static const_reference 2441: _S_value(_Const_Base_ptr __x) 2441: { return *static_cast<_Const_Link_type>(__x)->_M_valptr(); } 2441: 2441: static const _Key& 2441: _S_key(_Const_Base_ptr __x) 2441: { return _KeyOfValue()(_S_value(__x)); } 2441: 2441: static _Base_ptr 2441: _S_minimum(_Base_ptr __x) noexcept 2441: { return _Rb_tree_node_base::_S_minimum(__x); } 2441: 2441: static _Const_Base_ptr 2441: _S_minimum(_Const_Base_ptr __x) noexcept 2441: { return _Rb_tree_node_base::_S_minimum(__x); } 2441: 2441: static _Base_ptr 2441: _S_maximum(_Base_ptr __x) noexcept 2441: { return _Rb_tree_node_base::_S_maximum(__x); } 2441: 2441: static _Const_Base_ptr 2441: _S_maximum(_Const_Base_ptr __x) noexcept 2441: { return _Rb_tree_node_base::_S_maximum(__x); } 2441: 2441: public: 2441: typedef _Rb_tree_iterator iterator; 2441: typedef _Rb_tree_const_iterator const_iterator; 2441: 2441: typedef std::reverse_iterator reverse_iterator; 2441: typedef std::reverse_iterator const_reverse_iterator; 2441: # 832 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: pair<_Base_ptr, _Base_ptr> 2441: _M_get_insert_unique_pos(const key_type& __k); 2441: 2441: pair<_Base_ptr, _Base_ptr> 2441: _M_get_insert_equal_pos(const key_type& __k); 2441: 2441: pair<_Base_ptr, _Base_ptr> 2441: _M_get_insert_hint_unique_pos(const_iterator __pos, 2441: const key_type& __k); 2441: 2441: pair<_Base_ptr, _Base_ptr> 2441: _M_get_insert_hint_equal_pos(const_iterator __pos, 2441: const key_type& __k); 2441: 2441: private: 2441: 2441: template 2441: iterator 2441: _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&); 2441: 2441: iterator 2441: _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z); 2441: 2441: template 2441: iterator 2441: _M_insert_lower(_Base_ptr __y, _Arg&& __v); 2441: 2441: template 2441: iterator 2441: _M_insert_equal_lower(_Arg&& __x); 2441: 2441: iterator 2441: _M_insert_lower_node(_Base_ptr __p, _Link_type __z); 2441: 2441: iterator 2441: _M_insert_equal_lower_node(_Link_type __z); 2441: # 883 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: template 2441: _Link_type 2441: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen&); 2441: 2441: template 2441: _Link_type 2441: _M_copy(const _Rb_tree& __x, _NodeGen& __gen) 2441: { 2441: _Link_type __root = _M_copy(__x._M_begin(), _M_end(), __gen); 2441: _M_leftmost() = _S_minimum(__root); 2441: _M_rightmost() = _S_maximum(__root); 2441: _M_impl._M_node_count = __x._M_impl._M_node_count; 2441: return __root; 2441: } 2441: 2441: _Link_type 2441: _M_copy(const _Rb_tree& __x) 2441: { 2441: _Alloc_node __an(*this); 2441: return _M_copy(__x, __an); 2441: } 2441: 2441: void 2441: _M_erase(_Link_type __x); 2441: 2441: iterator 2441: _M_lower_bound(_Link_type __x, _Base_ptr __y, 2441: const _Key& __k); 2441: 2441: const_iterator 2441: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 2441: const _Key& __k) const; 2441: 2441: iterator 2441: _M_upper_bound(_Link_type __x, _Base_ptr __y, 2441: const _Key& __k); 2441: 2441: const_iterator 2441: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 2441: const _Key& __k) const; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: _Rb_tree() = default; 2441: 2441: 2441: _Rb_tree(const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_impl(__comp, _Node_allocator(__a)) { } 2441: 2441: _Rb_tree(const _Rb_tree& __x) 2441: : _M_impl(__x._M_impl) 2441: { 2441: if (__x._M_root() != 0) 2441: _M_root() = _M_copy(__x); 2441: } 2441: 2441: 2441: _Rb_tree(const allocator_type& __a) 2441: : _M_impl(_Compare(), _Node_allocator(__a)) 2441: { } 2441: 2441: _Rb_tree(const _Rb_tree& __x, const allocator_type& __a) 2441: : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a)) 2441: { 2441: if (__x._M_root() != nullptr) 2441: _M_root() = _M_copy(__x); 2441: } 2441: 2441: _Rb_tree(_Rb_tree&&) = default; 2441: 2441: _Rb_tree(_Rb_tree&& __x, const allocator_type& __a) 2441: : _Rb_tree(std::move(__x), _Node_allocator(__a)) 2441: { } 2441: 2441: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a); 2441: 2441: 2441: ~_Rb_tree() noexcept 2441: { _M_erase(_M_begin()); } 2441: 2441: _Rb_tree& 2441: operator=(const _Rb_tree& __x); 2441: 2441: 2441: _Compare 2441: key_comp() const 2441: { return _M_impl._M_key_compare; } 2441: 2441: iterator 2441: begin() noexcept 2441: { return iterator(this->_M_impl._M_header._M_left); } 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return const_iterator(this->_M_impl._M_header._M_left); } 2441: 2441: iterator 2441: end() noexcept 2441: { return iterator(&this->_M_impl._M_header); } 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return const_iterator(&this->_M_impl._M_header); } 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return reverse_iterator(end()); } 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return const_reverse_iterator(end()); } 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return reverse_iterator(begin()); } 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return const_reverse_iterator(begin()); } 2441: 2441: bool 2441: empty() const noexcept 2441: { return _M_impl._M_node_count == 0; } 2441: 2441: size_type 2441: size() const noexcept 2441: { return _M_impl._M_node_count; } 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return _Alloc_traits::max_size(_M_get_Node_allocator()); } 2441: 2441: void 2441: swap(_Rb_tree& __t) 2441: noexcept(__is_nothrow_swappable<_Compare>::value); 2441: 2441: 2441: 2441: template 2441: pair 2441: _M_insert_unique(_Arg&& __x); 2441: 2441: template 2441: iterator 2441: _M_insert_equal(_Arg&& __x); 2441: 2441: template 2441: iterator 2441: _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&); 2441: 2441: template 2441: iterator 2441: _M_insert_unique_(const_iterator __pos, _Arg&& __x) 2441: { 2441: _Alloc_node __an(*this); 2441: return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an); 2441: } 2441: 2441: template 2441: iterator 2441: _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&); 2441: 2441: template 2441: iterator 2441: _M_insert_equal_(const_iterator __pos, _Arg&& __x) 2441: { 2441: _Alloc_node __an(*this); 2441: return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an); 2441: } 2441: 2441: template 2441: pair 2441: _M_emplace_unique(_Args&&... __args); 2441: 2441: template 2441: iterator 2441: _M_emplace_equal(_Args&&... __args); 2441: 2441: template 2441: iterator 2441: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args); 2441: 2441: template 2441: iterator 2441: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args); 2441: # 1103 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: template 2441: void 2441: _M_insert_unique(_InputIterator __first, _InputIterator __last); 2441: 2441: template 2441: void 2441: _M_insert_equal(_InputIterator __first, _InputIterator __last); 2441: 2441: private: 2441: void 2441: _M_erase_aux(const_iterator __position); 2441: 2441: void 2441: _M_erase_aux(const_iterator __first, const_iterator __last); 2441: 2441: public: 2441: 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(const_iterator __position) 2441: { 2441: ; 2441: const_iterator __result = __position; 2441: ++__result; 2441: _M_erase_aux(__position); 2441: return __result._M_const_cast(); 2441: } 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(iterator __position) 2441: { 2441: ; 2441: iterator __result = __position; 2441: ++__result; 2441: _M_erase_aux(__position); 2441: return __result; 2441: } 2441: # 1159 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: size_type 2441: erase(const key_type& __x); 2441: 2441: 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(const_iterator __first, const_iterator __last) 2441: { 2441: _M_erase_aux(__first, __last); 2441: return __last._M_const_cast(); 2441: } 2441: # 1181 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: void 2441: erase(const key_type* __first, const key_type* __last); 2441: 2441: void 2441: clear() noexcept 2441: { 2441: _M_erase(_M_begin()); 2441: _M_impl._M_reset(); 2441: } 2441: 2441: 2441: iterator 2441: find(const key_type& __k); 2441: 2441: const_iterator 2441: find(const key_type& __k) const; 2441: 2441: size_type 2441: count(const key_type& __k) const; 2441: 2441: iterator 2441: lower_bound(const key_type& __k) 2441: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 2441: 2441: const_iterator 2441: lower_bound(const key_type& __k) const 2441: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 2441: 2441: iterator 2441: upper_bound(const key_type& __k) 2441: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 2441: 2441: const_iterator 2441: upper_bound(const key_type& __k) const 2441: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 2441: 2441: pair 2441: equal_range(const key_type& __k); 2441: 2441: pair 2441: equal_range(const key_type& __k) const; 2441: 2441: 2441: template::type> 2441: iterator 2441: _M_find_tr(const _Kt& __k) 2441: { 2441: const _Rb_tree* __const_this = this; 2441: return __const_this->_M_find_tr(__k)._M_const_cast(); 2441: } 2441: 2441: template::type> 2441: const_iterator 2441: _M_find_tr(const _Kt& __k) const 2441: { 2441: auto __j = _M_lower_bound_tr(__k); 2441: if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node))) 2441: __j = end(); 2441: return __j; 2441: } 2441: 2441: template::type> 2441: size_type 2441: _M_count_tr(const _Kt& __k) const 2441: { 2441: auto __p = _M_equal_range_tr(__k); 2441: return std::distance(__p.first, __p.second); 2441: } 2441: 2441: template::type> 2441: iterator 2441: _M_lower_bound_tr(const _Kt& __k) 2441: { 2441: const _Rb_tree* __const_this = this; 2441: return __const_this->_M_lower_bound_tr(__k)._M_const_cast(); 2441: } 2441: 2441: template::type> 2441: const_iterator 2441: _M_lower_bound_tr(const _Kt& __k) const 2441: { 2441: auto __x = _M_begin(); 2441: auto __y = _M_end(); 2441: while (__x != 0) 2441: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 2441: { 2441: __y = __x; 2441: __x = _S_left(__x); 2441: } 2441: else 2441: __x = _S_right(__x); 2441: return const_iterator(__y); 2441: } 2441: 2441: template::type> 2441: iterator 2441: _M_upper_bound_tr(const _Kt& __k) 2441: { 2441: const _Rb_tree* __const_this = this; 2441: return __const_this->_M_upper_bound_tr(__k)._M_const_cast(); 2441: } 2441: 2441: template::type> 2441: const_iterator 2441: _M_upper_bound_tr(const _Kt& __k) const 2441: { 2441: auto __x = _M_begin(); 2441: auto __y = _M_end(); 2441: while (__x != 0) 2441: if (_M_impl._M_key_compare(__k, _S_key(__x))) 2441: { 2441: __y = __x; 2441: __x = _S_left(__x); 2441: } 2441: else 2441: __x = _S_right(__x); 2441: return const_iterator(__y); 2441: } 2441: 2441: template::type> 2441: pair 2441: _M_equal_range_tr(const _Kt& __k) 2441: { 2441: const _Rb_tree* __const_this = this; 2441: auto __ret = __const_this->_M_equal_range_tr(__k); 2441: return { __ret.first._M_const_cast(), __ret.second._M_const_cast() }; 2441: } 2441: 2441: template::type> 2441: pair 2441: _M_equal_range_tr(const _Kt& __k) const 2441: { 2441: auto __low = _M_lower_bound_tr(__k); 2441: auto __high = __low; 2441: auto& __cmp = _M_impl._M_key_compare; 2441: while (__high != end() && !__cmp(__k, _S_key(__high._M_node))) 2441: ++__high; 2441: return { __low, __high }; 2441: } 2441: 2441: 2441: 2441: bool 2441: __rb_verify() const; 2441: 2441: 2441: _Rb_tree& 2441: operator=(_Rb_tree&&) 2441: noexcept(_Alloc_traits::_S_nothrow_move() 2441: && is_nothrow_move_assignable<_Compare>::value); 2441: 2441: template 2441: void 2441: _M_assign_unique(_Iterator, _Iterator); 2441: 2441: template 2441: void 2441: _M_assign_equal(_Iterator, _Iterator); 2441: 2441: private: 2441: 2441: void 2441: _M_move_data(_Rb_tree& __x, std::true_type) 2441: { _M_impl._M_move_data(__x._M_impl); } 2441: 2441: 2441: 2441: void 2441: _M_move_data(_Rb_tree&, std::false_type); 2441: 2441: 2441: void 2441: _M_move_assign(_Rb_tree&, std::true_type); 2441: 2441: 2441: 2441: void 2441: _M_move_assign(_Rb_tree&, std::false_type); 2441: # 1544 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: }; 2441: 2441: template 2441: inline bool 2441: operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 2441: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 2441: { 2441: return __x.size() == __y.size() 2441: && std::equal(__x.begin(), __x.end(), __y.begin()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 2441: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 2441: { 2441: return std::lexicographical_compare(__x.begin(), __x.end(), 2441: __y.begin(), __y.end()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 2441: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 2441: { return !(__x == __y); } 2441: 2441: template 2441: inline bool 2441: operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 2441: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 2441: { return __y < __x; } 2441: 2441: template 2441: inline bool 2441: operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 2441: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 2441: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 2441: { return !(__x < __y); } 2441: 2441: template 2441: inline void 2441: swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 2441: { __x.swap(__y); } 2441: 2441: 2441: template 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a) 2441: : _M_impl(__x._M_impl._M_key_compare, std::move(__a)) 2441: { 2441: using __eq = typename _Alloc_traits::is_always_equal; 2441: if (__x._M_root() != nullptr) 2441: _M_move_data(__x, __eq()); 2441: } 2441: 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_move_data(_Rb_tree& __x, std::false_type) 2441: { 2441: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 2441: _M_move_data(__x, std::true_type()); 2441: else 2441: { 2441: _Alloc_node __an(*this); 2441: auto __lbd = 2441: [&__an](const value_type& __cval) 2441: { 2441: auto& __val = const_cast(__cval); 2441: return __an(std::move_if_noexcept(__val)); 2441: }; 2441: _M_root() = _M_copy(__x, __lbd); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_move_assign(_Rb_tree& __x, true_type) 2441: { 2441: clear(); 2441: if (__x._M_root() != nullptr) 2441: _M_move_data(__x, std::true_type()); 2441: std::__alloc_on_move(_M_get_Node_allocator(), 2441: __x._M_get_Node_allocator()); 2441: } 2441: 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_move_assign(_Rb_tree& __x, false_type) 2441: { 2441: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 2441: return _M_move_assign(__x, true_type{}); 2441: 2441: 2441: 2441: _Reuse_or_alloc_node __roan(*this); 2441: _M_impl._M_reset(); 2441: if (__x._M_root() != nullptr) 2441: { 2441: auto __lbd = 2441: [&__roan](const value_type& __cval) 2441: { 2441: auto& __val = const_cast(__cval); 2441: return __roan(std::move_if_noexcept(__val)); 2441: }; 2441: _M_root() = _M_copy(__x, __lbd); 2441: __x.clear(); 2441: } 2441: } 2441: 2441: template 2441: inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: operator=(_Rb_tree&& __x) 2441: noexcept(_Alloc_traits::_S_nothrow_move() 2441: && is_nothrow_move_assignable<_Compare>::value) 2441: { 2441: _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare); 2441: _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>()); 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_assign_unique(_Iterator __first, _Iterator __last) 2441: { 2441: _Reuse_or_alloc_node __roan(*this); 2441: _M_impl._M_reset(); 2441: for (; __first != __last; ++__first) 2441: _M_insert_unique_(end(), *__first, __roan); 2441: } 2441: 2441: template 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_assign_equal(_Iterator __first, _Iterator __last) 2441: { 2441: _Reuse_or_alloc_node __roan(*this); 2441: _M_impl._M_reset(); 2441: for (; __first != __last; ++__first) 2441: _M_insert_equal_(end(), *__first, __roan); 2441: } 2441: 2441: 2441: template 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: operator=(const _Rb_tree& __x) 2441: { 2441: if (this != &__x) 2441: { 2441: 2441: 2441: if (_Alloc_traits::_S_propagate_on_copy_assign()) 2441: { 2441: auto& __this_alloc = this->_M_get_Node_allocator(); 2441: auto& __that_alloc = __x._M_get_Node_allocator(); 2441: if (!_Alloc_traits::_S_always_equal() 2441: && __this_alloc != __that_alloc) 2441: { 2441: 2441: 2441: clear(); 2441: std::__alloc_on_copy(__this_alloc, __that_alloc); 2441: } 2441: } 2441: 2441: 2441: _Reuse_or_alloc_node __roan(*this); 2441: _M_impl._M_reset(); 2441: _M_impl._M_key_compare = __x._M_impl._M_key_compare; 2441: if (__x._M_root() != 0) 2441: _M_root() = _M_copy(__x, __roan); 2441: } 2441: 2441: return *this; 2441: } 2441: 2441: template 2441: 2441: template 2441: 2441: 2441: 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_insert_(_Base_ptr __x, _Base_ptr __p, 2441: 2441: _Arg&& __v, 2441: 2441: 2441: 2441: _NodeGen& __node_gen) 2441: { 2441: bool __insert_left = (__x != 0 || __p == _M_end() 2441: || _M_impl._M_key_compare(_KeyOfValue()(__v), 2441: _S_key(__p))); 2441: 2441: _Link_type __z = __node_gen(std::forward<_Arg>(__v)); 2441: 2441: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 2441: this->_M_impl._M_header); 2441: ++_M_impl._M_node_count; 2441: return iterator(__z); 2441: } 2441: 2441: template 2441: 2441: template 2441: 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: 2441: _M_insert_lower(_Base_ptr __p, _Arg&& __v) 2441: 2441: 2441: 2441: { 2441: bool __insert_left = (__p == _M_end() 2441: || !_M_impl._M_key_compare(_S_key(__p), 2441: _KeyOfValue()(__v))); 2441: 2441: _Link_type __z = _M_create_node(std::forward<_Arg>(__v)); 2441: 2441: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 2441: this->_M_impl._M_header); 2441: ++_M_impl._M_node_count; 2441: return iterator(__z); 2441: } 2441: 2441: template 2441: 2441: template 2441: 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: 2441: _M_insert_equal_lower(_Arg&& __v) 2441: 2441: 2441: 2441: { 2441: _Link_type __x = _M_begin(); 2441: _Base_ptr __y = _M_end(); 2441: while (__x != 0) 2441: { 2441: __y = __x; 2441: __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? 2441: _S_left(__x) : _S_right(__x); 2441: } 2441: return _M_insert_lower(__y, std::forward<_Arg>(__v)); 2441: } 2441: 2441: template 2441: template 2441: typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type 2441: _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: 2441: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen) 2441: { 2441: 2441: _Link_type __top = _M_clone_node(__x, __node_gen); 2441: __top->_M_parent = __p; 2441: 2441: try 2441: { 2441: if (__x->_M_right) 2441: __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen); 2441: __p = __top; 2441: __x = _S_left(__x); 2441: 2441: while (__x != 0) 2441: { 2441: _Link_type __y = _M_clone_node(__x, __node_gen); 2441: __p->_M_left = __y; 2441: __y->_M_parent = __p; 2441: if (__x->_M_right) 2441: __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); 2441: __p = __y; 2441: __x = _S_left(__x); 2441: } 2441: } 2441: catch(...) 2441: { 2441: _M_erase(__top); 2441: throw; 2441: } 2441: return __top; 2441: } 2441: 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_erase(_Link_type __x) 2441: { 2441: 2441: while (__x != 0) 2441: { 2441: _M_erase(_S_right(__x)); 2441: _Link_type __y = _S_left(__x); 2441: _M_drop_node(__x); 2441: __x = __y; 2441: } 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_lower_bound(_Link_type __x, _Base_ptr __y, 2441: const _Key& __k) 2441: { 2441: while (__x != 0) 2441: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 2441: __y = __x, __x = _S_left(__x); 2441: else 2441: __x = _S_right(__x); 2441: return iterator(__y); 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::const_iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 2441: const _Key& __k) const 2441: { 2441: while (__x != 0) 2441: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 2441: __y = __x, __x = _S_left(__x); 2441: else 2441: __x = _S_right(__x); 2441: return const_iterator(__y); 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_upper_bound(_Link_type __x, _Base_ptr __y, 2441: const _Key& __k) 2441: { 2441: while (__x != 0) 2441: if (_M_impl._M_key_compare(__k, _S_key(__x))) 2441: __y = __x, __x = _S_left(__x); 2441: else 2441: __x = _S_right(__x); 2441: return iterator(__y); 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::const_iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 2441: const _Key& __k) const 2441: { 2441: while (__x != 0) 2441: if (_M_impl._M_key_compare(__k, _S_key(__x))) 2441: __y = __x, __x = _S_left(__x); 2441: else 2441: __x = _S_right(__x); 2441: return const_iterator(__y); 2441: } 2441: 2441: template 2441: pair::iterator, 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::iterator> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: equal_range(const _Key& __k) 2441: { 2441: _Link_type __x = _M_begin(); 2441: _Base_ptr __y = _M_end(); 2441: while (__x != 0) 2441: { 2441: if (_M_impl._M_key_compare(_S_key(__x), __k)) 2441: __x = _S_right(__x); 2441: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 2441: __y = __x, __x = _S_left(__x); 2441: else 2441: { 2441: _Link_type __xu(__x); 2441: _Base_ptr __yu(__y); 2441: __y = __x, __x = _S_left(__x); 2441: __xu = _S_right(__xu); 2441: return pair(_M_lower_bound(__x, __y, __k), 2441: _M_upper_bound(__xu, __yu, __k)); 2441: } 2441: } 2441: return pair(iterator(__y), 2441: iterator(__y)); 2441: } 2441: 2441: template 2441: pair::const_iterator, 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::const_iterator> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: equal_range(const _Key& __k) const 2441: { 2441: _Const_Link_type __x = _M_begin(); 2441: _Const_Base_ptr __y = _M_end(); 2441: while (__x != 0) 2441: { 2441: if (_M_impl._M_key_compare(_S_key(__x), __k)) 2441: __x = _S_right(__x); 2441: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 2441: __y = __x, __x = _S_left(__x); 2441: else 2441: { 2441: _Const_Link_type __xu(__x); 2441: _Const_Base_ptr __yu(__y); 2441: __y = __x, __x = _S_left(__x); 2441: __xu = _S_right(__xu); 2441: return pair(_M_lower_bound(__x, __y, __k), 2441: _M_upper_bound(__xu, __yu, __k)); 2441: } 2441: } 2441: return pair(const_iterator(__y), 2441: const_iterator(__y)); 2441: } 2441: 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: swap(_Rb_tree& __t) 2441: noexcept(__is_nothrow_swappable<_Compare>::value) 2441: { 2441: if (_M_root() == 0) 2441: { 2441: if (__t._M_root() != 0) 2441: _M_impl._M_move_data(__t._M_impl); 2441: } 2441: else if (__t._M_root() == 0) 2441: __t._M_impl._M_move_data(_M_impl); 2441: else 2441: { 2441: std::swap(_M_root(),__t._M_root()); 2441: std::swap(_M_leftmost(),__t._M_leftmost()); 2441: std::swap(_M_rightmost(),__t._M_rightmost()); 2441: 2441: _M_root()->_M_parent = _M_end(); 2441: __t._M_root()->_M_parent = __t._M_end(); 2441: std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); 2441: } 2441: 2441: std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); 2441: 2441: _Alloc_traits::_S_on_swap(_M_get_Node_allocator(), 2441: __t._M_get_Node_allocator()); 2441: } 2441: 2441: template 2441: pair::_Base_ptr, 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::_Base_ptr> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_get_insert_unique_pos(const key_type& __k) 2441: { 2441: typedef pair<_Base_ptr, _Base_ptr> _Res; 2441: _Link_type __x = _M_begin(); 2441: _Base_ptr __y = _M_end(); 2441: bool __comp = true; 2441: while (__x != 0) 2441: { 2441: __y = __x; 2441: __comp = _M_impl._M_key_compare(__k, _S_key(__x)); 2441: __x = __comp ? _S_left(__x) : _S_right(__x); 2441: } 2441: iterator __j = iterator(__y); 2441: if (__comp) 2441: { 2441: if (__j == begin()) 2441: return _Res(__x, __y); 2441: else 2441: --__j; 2441: } 2441: if (_M_impl._M_key_compare(_S_key(__j._M_node), __k)) 2441: return _Res(__x, __y); 2441: return _Res(__j._M_node, 0); 2441: } 2441: 2441: template 2441: pair::_Base_ptr, 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::_Base_ptr> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_get_insert_equal_pos(const key_type& __k) 2441: { 2441: typedef pair<_Base_ptr, _Base_ptr> _Res; 2441: _Link_type __x = _M_begin(); 2441: _Base_ptr __y = _M_end(); 2441: while (__x != 0) 2441: { 2441: __y = __x; 2441: __x = _M_impl._M_key_compare(__k, _S_key(__x)) ? 2441: _S_left(__x) : _S_right(__x); 2441: } 2441: return _Res(__x, __y); 2441: } 2441: 2441: template 2441: 2441: template 2441: 2441: pair::iterator, bool> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: 2441: _M_insert_unique(_Arg&& __v) 2441: 2441: 2441: 2441: { 2441: typedef pair _Res; 2441: pair<_Base_ptr, _Base_ptr> __res 2441: = _M_get_insert_unique_pos(_KeyOfValue()(__v)); 2441: 2441: if (__res.second) 2441: { 2441: _Alloc_node __an(*this); 2441: return _Res(_M_insert_(__res.first, __res.second, 2441: std::forward<_Arg>(__v), __an), 2441: true); 2441: } 2441: 2441: return _Res(iterator(__res.first), false); 2441: } 2441: 2441: template 2441: 2441: template 2441: 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: 2441: _M_insert_equal(_Arg&& __v) 2441: 2441: 2441: 2441: { 2441: pair<_Base_ptr, _Base_ptr> __res 2441: = _M_get_insert_equal_pos(_KeyOfValue()(__v)); 2441: _Alloc_node __an(*this); 2441: return _M_insert_(__res.first, __res.second, 2441: std::forward<_Arg>(__v), __an); 2441: } 2441: 2441: template 2441: pair::_Base_ptr, 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::_Base_ptr> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_get_insert_hint_unique_pos(const_iterator __position, 2441: const key_type& __k) 2441: { 2441: iterator __pos = __position._M_const_cast(); 2441: typedef pair<_Base_ptr, _Base_ptr> _Res; 2441: 2441: 2441: if (__pos._M_node == _M_end()) 2441: { 2441: if (size() > 0 2441: && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k)) 2441: return _Res(0, _M_rightmost()); 2441: else 2441: return _M_get_insert_unique_pos(__k); 2441: } 2441: else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node))) 2441: { 2441: 2441: iterator __before = __pos; 2441: if (__pos._M_node == _M_leftmost()) 2441: return _Res(_M_leftmost(), _M_leftmost()); 2441: else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k)) 2441: { 2441: if (_S_right(__before._M_node) == 0) 2441: return _Res(0, __before._M_node); 2441: else 2441: return _Res(__pos._M_node, __pos._M_node); 2441: } 2441: else 2441: return _M_get_insert_unique_pos(__k); 2441: } 2441: else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 2441: { 2441: 2441: iterator __after = __pos; 2441: if (__pos._M_node == _M_rightmost()) 2441: return _Res(0, _M_rightmost()); 2441: else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node))) 2441: { 2441: if (_S_right(__pos._M_node) == 0) 2441: return _Res(0, __pos._M_node); 2441: else 2441: return _Res(__after._M_node, __after._M_node); 2441: } 2441: else 2441: return _M_get_insert_unique_pos(__k); 2441: } 2441: else 2441: 2441: return _Res(__pos._M_node, 0); 2441: } 2441: 2441: template 2441: 2441: template 2441: 2441: 2441: 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_insert_unique_(const_iterator __position, 2441: 2441: _Arg&& __v, 2441: 2441: 2441: 2441: _NodeGen& __node_gen) 2441: { 2441: pair<_Base_ptr, _Base_ptr> __res 2441: = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v)); 2441: 2441: if (__res.second) 2441: return _M_insert_(__res.first, __res.second, 2441: std::forward<_Arg>(__v), 2441: __node_gen); 2441: return iterator(__res.first); 2441: } 2441: 2441: template 2441: pair::_Base_ptr, 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::_Base_ptr> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k) 2441: { 2441: iterator __pos = __position._M_const_cast(); 2441: typedef pair<_Base_ptr, _Base_ptr> _Res; 2441: 2441: 2441: if (__pos._M_node == _M_end()) 2441: { 2441: if (size() > 0 2441: && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost()))) 2441: return _Res(0, _M_rightmost()); 2441: else 2441: return _M_get_insert_equal_pos(__k); 2441: } 2441: else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 2441: { 2441: 2441: iterator __before = __pos; 2441: if (__pos._M_node == _M_leftmost()) 2441: return _Res(_M_leftmost(), _M_leftmost()); 2441: else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node))) 2441: { 2441: if (_S_right(__before._M_node) == 0) 2441: return _Res(0, __before._M_node); 2441: else 2441: return _Res(__pos._M_node, __pos._M_node); 2441: } 2441: else 2441: return _M_get_insert_equal_pos(__k); 2441: } 2441: else 2441: { 2441: 2441: iterator __after = __pos; 2441: if (__pos._M_node == _M_rightmost()) 2441: return _Res(0, _M_rightmost()); 2441: else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k)) 2441: { 2441: if (_S_right(__pos._M_node) == 0) 2441: return _Res(0, __pos._M_node); 2441: else 2441: return _Res(__after._M_node, __after._M_node); 2441: } 2441: else 2441: return _Res(0, 0); 2441: } 2441: } 2441: 2441: template 2441: 2441: template 2441: 2441: 2441: 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_insert_equal_(const_iterator __position, 2441: 2441: _Arg&& __v, 2441: 2441: 2441: 2441: _NodeGen& __node_gen) 2441: { 2441: pair<_Base_ptr, _Base_ptr> __res 2441: = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v)); 2441: 2441: if (__res.second) 2441: return _M_insert_(__res.first, __res.second, 2441: std::forward<_Arg>(__v), 2441: __node_gen); 2441: 2441: return _M_insert_equal_lower(std::forward<_Arg>(__v)); 2441: } 2441: 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z) 2441: { 2441: bool __insert_left = (__x != 0 || __p == _M_end() 2441: || _M_impl._M_key_compare(_S_key(__z), 2441: _S_key(__p))); 2441: 2441: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 2441: this->_M_impl._M_header); 2441: ++_M_impl._M_node_count; 2441: return iterator(__z); 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_insert_lower_node(_Base_ptr __p, _Link_type __z) 2441: { 2441: bool __insert_left = (__p == _M_end() 2441: || !_M_impl._M_key_compare(_S_key(__p), 2441: _S_key(__z))); 2441: 2441: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 2441: this->_M_impl._M_header); 2441: ++_M_impl._M_node_count; 2441: return iterator(__z); 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_insert_equal_lower_node(_Link_type __z) 2441: { 2441: _Link_type __x = _M_begin(); 2441: _Base_ptr __y = _M_end(); 2441: while (__x != 0) 2441: { 2441: __y = __x; 2441: __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ? 2441: _S_left(__x) : _S_right(__x); 2441: } 2441: return _M_insert_lower_node(__y, __z); 2441: } 2441: 2441: template 2441: template 2441: pair::iterator, bool> 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_emplace_unique(_Args&&... __args) 2441: { 2441: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 2441: 2441: try 2441: { 2441: typedef pair _Res; 2441: auto __res = _M_get_insert_unique_pos(_S_key(__z)); 2441: if (__res.second) 2441: return _Res(_M_insert_node(__res.first, __res.second, __z), true); 2441: 2441: _M_drop_node(__z); 2441: return _Res(iterator(__res.first), false); 2441: } 2441: catch(...) 2441: { 2441: _M_drop_node(__z); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_emplace_equal(_Args&&... __args) 2441: { 2441: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 2441: 2441: try 2441: { 2441: auto __res = _M_get_insert_equal_pos(_S_key(__z)); 2441: return _M_insert_node(__res.first, __res.second, __z); 2441: } 2441: catch(...) 2441: { 2441: _M_drop_node(__z); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args) 2441: { 2441: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 2441: 2441: try 2441: { 2441: auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z)); 2441: 2441: if (__res.second) 2441: return _M_insert_node(__res.first, __res.second, __z); 2441: 2441: _M_drop_node(__z); 2441: return iterator(__res.first); 2441: } 2441: catch(...) 2441: { 2441: _M_drop_node(__z); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args) 2441: { 2441: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 2441: 2441: try 2441: { 2441: auto __res = _M_get_insert_hint_equal_pos(__pos, _S_key(__z)); 2441: 2441: if (__res.second) 2441: return _M_insert_node(__res.first, __res.second, __z); 2441: 2441: return _M_insert_equal_lower_node(__z); 2441: } 2441: catch(...) 2441: { 2441: _M_drop_node(__z); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: template 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: 2441: _M_insert_unique(_II __first, _II __last) 2441: { 2441: _Alloc_node __an(*this); 2441: for (; __first != __last; ++__first) 2441: _M_insert_unique_(end(), *__first, __an); 2441: } 2441: 2441: template 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: 2441: _M_insert_equal(_II __first, _II __last) 2441: { 2441: _Alloc_node __an(*this); 2441: for (; __first != __last; ++__first) 2441: _M_insert_equal_(end(), *__first, __an); 2441: } 2441: 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_erase_aux(const_iterator __position) 2441: { 2441: _Link_type __y = 2441: static_cast<_Link_type>(_Rb_tree_rebalance_for_erase 2441: (const_cast<_Base_ptr>(__position._M_node), 2441: this->_M_impl._M_header)); 2441: _M_drop_node(__y); 2441: --_M_impl._M_node_count; 2441: } 2441: 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: _M_erase_aux(const_iterator __first, const_iterator __last) 2441: { 2441: if (__first == begin() && __last == end()) 2441: clear(); 2441: else 2441: while (__first != __last) 2441: _M_erase_aux(__first++); 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: erase(const _Key& __x) 2441: { 2441: pair __p = equal_range(__x); 2441: const size_type __old_size = size(); 2441: _M_erase_aux(__p.first, __p.second); 2441: return __old_size - size(); 2441: } 2441: 2441: template 2441: void 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: erase(const _Key* __first, const _Key* __last) 2441: { 2441: while (__first != __last) 2441: erase(*__first++); 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: find(const _Key& __k) 2441: { 2441: iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 2441: return (__j == end() 2441: || _M_impl._M_key_compare(__k, 2441: _S_key(__j._M_node))) ? end() : __j; 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, 2441: _Compare, _Alloc>::const_iterator 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: find(const _Key& __k) const 2441: { 2441: const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 2441: return (__j == end() 2441: || _M_impl._M_key_compare(__k, 2441: _S_key(__j._M_node))) ? end() : __j; 2441: } 2441: 2441: template 2441: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 2441: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2441: count(const _Key& __k) const 2441: { 2441: pair __p = equal_range(__k); 2441: const size_type __n = std::distance(__p.first, __p.second); 2441: return __n; 2441: } 2441: 2441: __attribute__ ((__pure__)) unsigned int 2441: _Rb_tree_black_count(const _Rb_tree_node_base* __node, 2441: const _Rb_tree_node_base* __root) throw (); 2441: 2441: template 2441: bool 2441: _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const 2441: { 2441: if (_M_impl._M_node_count == 0 || begin() == end()) 2441: return _M_impl._M_node_count == 0 && begin() == end() 2441: && this->_M_impl._M_header._M_left == _M_end() 2441: && this->_M_impl._M_header._M_right == _M_end(); 2441: 2441: unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); 2441: for (const_iterator __it = begin(); __it != end(); ++__it) 2441: { 2441: _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); 2441: _Const_Link_type __L = _S_left(__x); 2441: _Const_Link_type __R = _S_right(__x); 2441: 2441: if (__x->_M_color == _S_red) 2441: if ((__L && __L->_M_color == _S_red) 2441: || (__R && __R->_M_color == _S_red)) 2441: return false; 2441: 2441: if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) 2441: return false; 2441: if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) 2441: return false; 2441: 2441: if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) 2441: return false; 2441: } 2441: 2441: if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) 2441: return false; 2441: if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) 2441: return false; 2441: return true; 2441: } 2441: # 2627 "/usr/include/c++/8/bits/stl_tree.h" 3 2441: 2441: } 2441: # 61 "/usr/include/c++/8/set" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_set.h" 1 3 2441: # 64 "/usr/include/c++/8/bits/stl_set.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: class multiset; 2441: # 92 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template, 2441: typename _Alloc = std::allocator<_Key> > 2441: class set 2441: { 2441: # 108 "/usr/include/c++/8/bits/stl_set.h" 3 2441: static_assert(is_same::type, _Key>::value, 2441: "std::set must have a non-const, non-volatile value_type"); 2441: 2441: 2441: 2441: 2441: 2441: 2441: public: 2441: 2441: 2441: 2441: typedef _Key key_type; 2441: typedef _Key value_type; 2441: typedef _Compare key_compare; 2441: typedef _Compare value_compare; 2441: typedef _Alloc allocator_type; 2441: 2441: 2441: private: 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind<_Key>::other _Key_alloc_type; 2441: 2441: typedef _Rb_tree, 2441: key_compare, _Key_alloc_type> _Rep_type; 2441: _Rep_type _M_t; 2441: 2441: typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits; 2441: 2441: public: 2441: 2441: 2441: typedef typename _Alloc_traits::pointer pointer; 2441: typedef typename _Alloc_traits::const_pointer const_pointer; 2441: typedef typename _Alloc_traits::reference reference; 2441: typedef typename _Alloc_traits::const_reference const_reference; 2441: 2441: 2441: 2441: typedef typename _Rep_type::const_iterator iterator; 2441: typedef typename _Rep_type::const_iterator const_iterator; 2441: typedef typename _Rep_type::const_reverse_iterator reverse_iterator; 2441: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 2441: typedef typename _Rep_type::size_type size_type; 2441: typedef typename _Rep_type::difference_type difference_type; 2441: # 167 "/usr/include/c++/8/bits/stl_set.h" 3 2441: set() = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: set(const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Key_alloc_type(__a)) { } 2441: # 190 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template 2441: set(_InputIterator __first, _InputIterator __last) 2441: : _M_t() 2441: { _M_t._M_insert_unique(__first, __last); } 2441: # 207 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template 2441: set(_InputIterator __first, _InputIterator __last, 2441: const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Key_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__first, __last); } 2441: # 223 "/usr/include/c++/8/bits/stl_set.h" 3 2441: set(const set&) = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: set(set&&) = default; 2441: # 243 "/usr/include/c++/8/bits/stl_set.h" 3 2441: set(initializer_list __l, 2441: const _Compare& __comp = _Compare(), 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Key_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 2441: 2441: 2441: explicit 2441: set(const allocator_type& __a) 2441: : _M_t(_Compare(), _Key_alloc_type(__a)) { } 2441: 2441: 2441: set(const set& __x, const allocator_type& __a) 2441: : _M_t(__x._M_t, _Key_alloc_type(__a)) { } 2441: 2441: 2441: set(set&& __x, const allocator_type& __a) 2441: noexcept(is_nothrow_copy_constructible<_Compare>::value 2441: && _Alloc_traits::_S_always_equal()) 2441: : _M_t(std::move(__x._M_t), _Key_alloc_type(__a)) { } 2441: 2441: 2441: set(initializer_list __l, const allocator_type& __a) 2441: : _M_t(_Compare(), _Key_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 2441: 2441: 2441: template 2441: set(_InputIterator __first, _InputIterator __last, 2441: const allocator_type& __a) 2441: : _M_t(_Compare(), _Key_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__first, __last); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~set() = default; 2441: # 297 "/usr/include/c++/8/bits/stl_set.h" 3 2441: set& 2441: operator=(const set&) = default; 2441: 2441: 2441: set& 2441: operator=(set&&) = default; 2441: # 315 "/usr/include/c++/8/bits/stl_set.h" 3 2441: set& 2441: operator=(initializer_list __l) 2441: { 2441: _M_t._M_assign_unique(__l.begin(), __l.end()); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: key_compare 2441: key_comp() const 2441: { return _M_t.key_comp(); } 2441: 2441: value_compare 2441: value_comp() const 2441: { return _M_t.key_comp(); } 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_t.get_allocator()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: begin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: end() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: cbegin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: cend() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: crbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: crend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: bool 2441: empty() const noexcept 2441: { return _M_t.empty(); } 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return _M_t.size(); } 2441: 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return _M_t.max_size(); } 2441: # 440 "/usr/include/c++/8/bits/stl_set.h" 3 2441: void 2441: swap(set& __x) 2441: noexcept(__is_nothrow_swappable<_Compare>::value) 2441: { _M_t.swap(__x._M_t); } 2441: # 460 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template 2441: std::pair 2441: emplace(_Args&&... __args) 2441: { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } 2441: # 486 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template 2441: iterator 2441: emplace_hint(const_iterator __pos, _Args&&... __args) 2441: { 2441: return _M_t._M_emplace_hint_unique(__pos, 2441: std::forward<_Args>(__args)...); 2441: } 2441: # 508 "/usr/include/c++/8/bits/stl_set.h" 3 2441: std::pair 2441: insert(const value_type& __x) 2441: { 2441: std::pair __p = 2441: _M_t._M_insert_unique(__x); 2441: return std::pair(__p.first, __p.second); 2441: } 2441: 2441: 2441: std::pair 2441: insert(value_type&& __x) 2441: { 2441: std::pair __p = 2441: _M_t._M_insert_unique(std::move(__x)); 2441: return std::pair(__p.first, __p.second); 2441: } 2441: # 545 "/usr/include/c++/8/bits/stl_set.h" 3 2441: iterator 2441: insert(const_iterator __position, const value_type& __x) 2441: { return _M_t._M_insert_unique_(__position, __x); } 2441: 2441: 2441: iterator 2441: insert(const_iterator __position, value_type&& __x) 2441: { return _M_t._M_insert_unique_(__position, std::move(__x)); } 2441: # 564 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template 2441: void 2441: insert(_InputIterator __first, _InputIterator __last) 2441: { _M_t._M_insert_unique(__first, __last); } 2441: # 577 "/usr/include/c++/8/bits/stl_set.h" 3 2441: void 2441: insert(initializer_list __l) 2441: { this->insert(__l.begin(), __l.end()); } 2441: # 652 "/usr/include/c++/8/bits/stl_set.h" 3 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(const_iterator __position) 2441: { return _M_t.erase(__position); } 2441: # 683 "/usr/include/c++/8/bits/stl_set.h" 3 2441: size_type 2441: erase(const key_type& __x) 2441: { return _M_t.erase(__x); } 2441: # 704 "/usr/include/c++/8/bits/stl_set.h" 3 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(const_iterator __first, const_iterator __last) 2441: { return _M_t.erase(__first, __last); } 2441: # 732 "/usr/include/c++/8/bits/stl_set.h" 3 2441: void 2441: clear() noexcept 2441: { _M_t.clear(); } 2441: # 747 "/usr/include/c++/8/bits/stl_set.h" 3 2441: size_type 2441: count(const key_type& __x) const 2441: { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } 2441: 2441: 2441: template 2441: auto 2441: count(const _Kt& __x) const 2441: -> decltype(_M_t._M_count_tr(__x)) 2441: { return _M_t._M_count_tr(__x); } 2441: # 774 "/usr/include/c++/8/bits/stl_set.h" 3 2441: iterator 2441: find(const key_type& __x) 2441: { return _M_t.find(__x); } 2441: 2441: const_iterator 2441: find(const key_type& __x) const 2441: { return _M_t.find(__x); } 2441: 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) 2441: -> decltype(iterator{_M_t._M_find_tr(__x)}) 2441: { return iterator{_M_t._M_find_tr(__x)}; } 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) const 2441: -> decltype(const_iterator{_M_t._M_find_tr(__x)}) 2441: { return const_iterator{_M_t._M_find_tr(__x)}; } 2441: # 809 "/usr/include/c++/8/bits/stl_set.h" 3 2441: iterator 2441: lower_bound(const key_type& __x) 2441: { return _M_t.lower_bound(__x); } 2441: 2441: const_iterator 2441: lower_bound(const key_type& __x) const 2441: { return _M_t.lower_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return iterator(_M_t._M_lower_bound_tr(__x)); } 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) const 2441: -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return const_iterator(_M_t._M_lower_bound_tr(__x)); } 2441: # 839 "/usr/include/c++/8/bits/stl_set.h" 3 2441: iterator 2441: upper_bound(const key_type& __x) 2441: { return _M_t.upper_bound(__x); } 2441: 2441: const_iterator 2441: upper_bound(const key_type& __x) const 2441: { return _M_t.upper_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return iterator(_M_t._M_upper_bound_tr(__x)); } 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) const 2441: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return const_iterator(_M_t._M_upper_bound_tr(__x)); } 2441: # 878 "/usr/include/c++/8/bits/stl_set.h" 3 2441: std::pair 2441: equal_range(const key_type& __x) 2441: { return _M_t.equal_range(__x); } 2441: 2441: std::pair 2441: equal_range(const key_type& __x) const 2441: { return _M_t.equal_range(__x); } 2441: 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) 2441: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 2441: { return pair(_M_t._M_equal_range_tr(__x)); } 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) const 2441: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 2441: { return pair(_M_t._M_equal_range_tr(__x)); } 2441: 2441: 2441: 2441: template 2441: friend bool 2441: operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&); 2441: 2441: template 2441: friend bool 2441: operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&); 2441: }; 2441: # 956 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template 2441: inline bool 2441: operator==(const set<_Key, _Compare, _Alloc>& __x, 2441: const set<_Key, _Compare, _Alloc>& __y) 2441: { return __x._M_t == __y._M_t; } 2441: # 973 "/usr/include/c++/8/bits/stl_set.h" 3 2441: template 2441: inline bool 2441: operator<(const set<_Key, _Compare, _Alloc>& __x, 2441: const set<_Key, _Compare, _Alloc>& __y) 2441: { return __x._M_t < __y._M_t; } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const set<_Key, _Compare, _Alloc>& __x, 2441: const set<_Key, _Compare, _Alloc>& __y) 2441: { return !(__x == __y); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const set<_Key, _Compare, _Alloc>& __x, 2441: const set<_Key, _Compare, _Alloc>& __y) 2441: { return __y < __x; } 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const set<_Key, _Compare, _Alloc>& __x, 2441: const set<_Key, _Compare, _Alloc>& __y) 2441: { return !(__y < __x); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const set<_Key, _Compare, _Alloc>& __x, 2441: const set<_Key, _Compare, _Alloc>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: # 1035 "/usr/include/c++/8/bits/stl_set.h" 3 2441: 2441: } 2441: # 62 "/usr/include/c++/8/set" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_multiset.h" 1 3 2441: # 64 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: class set; 2441: # 94 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template , 2441: typename _Alloc = std::allocator<_Key> > 2441: class multiset 2441: { 2441: # 110 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: static_assert(is_same::type, _Key>::value, 2441: "std::multiset must have a non-const, non-volatile value_type"); 2441: 2441: 2441: 2441: 2441: 2441: 2441: public: 2441: 2441: typedef _Key key_type; 2441: typedef _Key value_type; 2441: typedef _Compare key_compare; 2441: typedef _Compare value_compare; 2441: typedef _Alloc allocator_type; 2441: 2441: private: 2441: 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind<_Key>::other _Key_alloc_type; 2441: 2441: typedef _Rb_tree, 2441: key_compare, _Key_alloc_type> _Rep_type; 2441: 2441: _Rep_type _M_t; 2441: 2441: typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits; 2441: 2441: public: 2441: typedef typename _Alloc_traits::pointer pointer; 2441: typedef typename _Alloc_traits::const_pointer const_pointer; 2441: typedef typename _Alloc_traits::reference reference; 2441: typedef typename _Alloc_traits::const_reference const_reference; 2441: 2441: 2441: 2441: typedef typename _Rep_type::const_iterator iterator; 2441: typedef typename _Rep_type::const_iterator const_iterator; 2441: typedef typename _Rep_type::const_reverse_iterator reverse_iterator; 2441: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 2441: typedef typename _Rep_type::size_type size_type; 2441: typedef typename _Rep_type::difference_type difference_type; 2441: # 164 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: multiset() = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: multiset(const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Key_alloc_type(__a)) { } 2441: # 186 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template 2441: multiset(_InputIterator __first, _InputIterator __last) 2441: : _M_t() 2441: { _M_t._M_insert_equal(__first, __last); } 2441: # 202 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template 2441: multiset(_InputIterator __first, _InputIterator __last, 2441: const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Key_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__first, __last); } 2441: # 218 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: multiset(const multiset&) = default; 2441: # 227 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: multiset(multiset&&) = default; 2441: # 239 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: multiset(initializer_list __l, 2441: const _Compare& __comp = _Compare(), 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Key_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 2441: 2441: 2441: explicit 2441: multiset(const allocator_type& __a) 2441: : _M_t(_Compare(), _Key_alloc_type(__a)) { } 2441: 2441: 2441: multiset(const multiset& __m, const allocator_type& __a) 2441: : _M_t(__m._M_t, _Key_alloc_type(__a)) { } 2441: 2441: 2441: multiset(multiset&& __m, const allocator_type& __a) 2441: noexcept(is_nothrow_copy_constructible<_Compare>::value 2441: && _Alloc_traits::_S_always_equal()) 2441: : _M_t(std::move(__m._M_t), _Key_alloc_type(__a)) { } 2441: 2441: 2441: multiset(initializer_list __l, const allocator_type& __a) 2441: : _M_t(_Compare(), _Key_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 2441: 2441: 2441: template 2441: multiset(_InputIterator __first, _InputIterator __last, 2441: const allocator_type& __a) 2441: : _M_t(_Compare(), _Key_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__first, __last); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~multiset() = default; 2441: # 293 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: multiset& 2441: operator=(const multiset&) = default; 2441: 2441: 2441: multiset& 2441: operator=(multiset&&) = default; 2441: # 311 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: multiset& 2441: operator=(initializer_list __l) 2441: { 2441: _M_t._M_assign_equal(__l.begin(), __l.end()); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: key_compare 2441: key_comp() const 2441: { return _M_t.key_comp(); } 2441: 2441: value_compare 2441: value_comp() const 2441: { return _M_t.key_comp(); } 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_t.get_allocator()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: begin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: end() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: cbegin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: cend() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: crbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: crend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: bool 2441: empty() const noexcept 2441: { return _M_t.empty(); } 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return _M_t.size(); } 2441: 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return _M_t.max_size(); } 2441: # 436 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: void 2441: swap(multiset& __x) 2441: noexcept(__is_nothrow_swappable<_Compare>::value) 2441: { _M_t.swap(__x._M_t); } 2441: # 455 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template 2441: iterator 2441: emplace(_Args&&... __args) 2441: { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } 2441: # 481 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template 2441: iterator 2441: emplace_hint(const_iterator __pos, _Args&&... __args) 2441: { 2441: return _M_t._M_emplace_hint_equal(__pos, 2441: std::forward<_Args>(__args)...); 2441: } 2441: # 501 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: iterator 2441: insert(const value_type& __x) 2441: { return _M_t._M_insert_equal(__x); } 2441: 2441: 2441: iterator 2441: insert(value_type&& __x) 2441: { return _M_t._M_insert_equal(std::move(__x)); } 2441: # 531 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: iterator 2441: insert(const_iterator __position, const value_type& __x) 2441: { return _M_t._M_insert_equal_(__position, __x); } 2441: 2441: 2441: iterator 2441: insert(const_iterator __position, value_type&& __x) 2441: { return _M_t._M_insert_equal_(__position, std::move(__x)); } 2441: # 549 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template 2441: void 2441: insert(_InputIterator __first, _InputIterator __last) 2441: { _M_t._M_insert_equal(__first, __last); } 2441: # 562 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: void 2441: insert(initializer_list __l) 2441: { this->insert(__l.begin(), __l.end()); } 2441: # 637 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(const_iterator __position) 2441: { return _M_t.erase(__position); } 2441: # 668 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: size_type 2441: erase(const key_type& __x) 2441: { return _M_t.erase(__x); } 2441: # 689 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(const_iterator __first, const_iterator __last) 2441: { return _M_t.erase(__first, __last); } 2441: # 717 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: void 2441: clear() noexcept 2441: { _M_t.clear(); } 2441: # 729 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: size_type 2441: count(const key_type& __x) const 2441: { return _M_t.count(__x); } 2441: 2441: 2441: template 2441: auto 2441: count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) 2441: { return _M_t._M_count_tr(__x); } 2441: # 755 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: iterator 2441: find(const key_type& __x) 2441: { return _M_t.find(__x); } 2441: 2441: const_iterator 2441: find(const key_type& __x) const 2441: { return _M_t.find(__x); } 2441: 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) 2441: -> decltype(iterator{_M_t._M_find_tr(__x)}) 2441: { return iterator{_M_t._M_find_tr(__x)}; } 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) const 2441: -> decltype(const_iterator{_M_t._M_find_tr(__x)}) 2441: { return const_iterator{_M_t._M_find_tr(__x)}; } 2441: # 790 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: iterator 2441: lower_bound(const key_type& __x) 2441: { return _M_t.lower_bound(__x); } 2441: 2441: const_iterator 2441: lower_bound(const key_type& __x) const 2441: { return _M_t.lower_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return iterator(_M_t._M_lower_bound_tr(__x)); } 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) const 2441: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return iterator(_M_t._M_lower_bound_tr(__x)); } 2441: # 820 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: iterator 2441: upper_bound(const key_type& __x) 2441: { return _M_t.upper_bound(__x); } 2441: 2441: const_iterator 2441: upper_bound(const key_type& __x) const 2441: { return _M_t.upper_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return iterator(_M_t._M_upper_bound_tr(__x)); } 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) const 2441: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return iterator(_M_t._M_upper_bound_tr(__x)); } 2441: # 859 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: std::pair 2441: equal_range(const key_type& __x) 2441: { return _M_t.equal_range(__x); } 2441: 2441: std::pair 2441: equal_range(const key_type& __x) const 2441: { return _M_t.equal_range(__x); } 2441: 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) 2441: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 2441: { return pair(_M_t._M_equal_range_tr(__x)); } 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) const 2441: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 2441: { return pair(_M_t._M_equal_range_tr(__x)); } 2441: 2441: 2441: 2441: template 2441: friend bool 2441: operator==(const multiset<_K1, _C1, _A1>&, 2441: const multiset<_K1, _C1, _A1>&); 2441: 2441: template 2441: friend bool 2441: operator< (const multiset<_K1, _C1, _A1>&, 2441: const multiset<_K1, _C1, _A1>&); 2441: }; 2441: # 941 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template 2441: inline bool 2441: operator==(const multiset<_Key, _Compare, _Alloc>& __x, 2441: const multiset<_Key, _Compare, _Alloc>& __y) 2441: { return __x._M_t == __y._M_t; } 2441: # 958 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: template 2441: inline bool 2441: operator<(const multiset<_Key, _Compare, _Alloc>& __x, 2441: const multiset<_Key, _Compare, _Alloc>& __y) 2441: { return __x._M_t < __y._M_t; } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const multiset<_Key, _Compare, _Alloc>& __x, 2441: const multiset<_Key, _Compare, _Alloc>& __y) 2441: { return !(__x == __y); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const multiset<_Key,_Compare,_Alloc>& __x, 2441: const multiset<_Key,_Compare,_Alloc>& __y) 2441: { return __y < __x; } 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const multiset<_Key, _Compare, _Alloc>& __x, 2441: const multiset<_Key, _Compare, _Alloc>& __y) 2441: { return !(__y < __x); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const multiset<_Key, _Compare, _Alloc>& __x, 2441: const multiset<_Key, _Compare, _Alloc>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(multiset<_Key, _Compare, _Alloc>& __x, 2441: multiset<_Key, _Compare, _Alloc>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: # 1023 "/usr/include/c++/8/bits/stl_multiset.h" 3 2441: 2441: } 2441: # 63 "/usr/include/c++/8/set" 2 3 2441: # 34 "../../src/Float_defs.hh" 2 2441: # 1 "/usr/include/c++/8/cmath" 1 3 2441: # 39 "/usr/include/c++/8/cmath" 3 2441: 2441: # 40 "/usr/include/c++/8/cmath" 3 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/math.h" 1 3 4 2441: # 27 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libc-header-start.h" 1 3 4 2441: # 28 "/usr/include/math.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/math-vector.h" 1 3 4 2441: # 25 "/usr/include/i386-linux-gnu/bits/math-vector.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/libm-simd-decl-stubs.h" 1 3 4 2441: # 26 "/usr/include/i386-linux-gnu/bits/math-vector.h" 2 3 4 2441: # 41 "/usr/include/math.h" 2 3 4 2441: # 138 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/flt-eval-method.h" 1 3 4 2441: # 139 "/usr/include/math.h" 2 3 4 2441: # 155 "/usr/include/math.h" 3 4 2441: typedef long double float_t; 2441: typedef long double double_t; 2441: # 190 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/fp-logb.h" 1 3 4 2441: # 191 "/usr/include/math.h" 2 3 4 2441: # 233 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/fp-fast.h" 1 3 4 2441: # 234 "/usr/include/math.h" 2 3 4 2441: 2441: 2441: 2441: enum 2441: { 2441: FP_INT_UPWARD = 2441: 2441: 0, 2441: FP_INT_DOWNWARD = 2441: 2441: 1, 2441: FP_INT_TOWARDZERO = 2441: 2441: 2, 2441: FP_INT_TONEARESTFROMZERO = 2441: 2441: 3, 2441: FP_INT_TONEAREST = 2441: 2441: 4, 2441: }; 2441: # 289 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4 2441: # 21 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 3 4 2441: extern int __fpclassify (double __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int __signbit (double __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern int __isinf (double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __finite (double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __isnan (double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __iseqsig (double __x, double __y) throw (); 2441: 2441: 2441: extern int __issignaling (double __value) throw () 2441: __attribute__ ((__const__)); 2441: # 290 "/usr/include/math.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern double acos (double __x) throw (); extern double __acos (double __x) throw (); 2441: 2441: extern double asin (double __x) throw (); extern double __asin (double __x) throw (); 2441: 2441: extern double atan (double __x) throw (); extern double __atan (double __x) throw (); 2441: 2441: extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw (); 2441: 2441: 2441: extern double cos (double __x) throw (); extern double __cos (double __x) throw (); 2441: 2441: extern double sin (double __x) throw (); extern double __sin (double __x) throw (); 2441: 2441: extern double tan (double __x) throw (); extern double __tan (double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern double cosh (double __x) throw (); extern double __cosh (double __x) throw (); 2441: 2441: extern double sinh (double __x) throw (); extern double __sinh (double __x) throw (); 2441: 2441: extern double tanh (double __x) throw (); extern double __tanh (double __x) throw (); 2441: 2441: 2441: 2441: extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern double acosh (double __x) throw (); extern double __acosh (double __x) throw (); 2441: 2441: extern double asinh (double __x) throw (); extern double __asinh (double __x) throw (); 2441: 2441: extern double atanh (double __x) throw (); extern double __atanh (double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern double exp (double __x) throw (); extern double __exp (double __x) throw (); 2441: 2441: 2441: extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw (); 2441: 2441: 2441: extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw (); 2441: 2441: 2441: extern double log (double __x) throw (); extern double __log (double __x) throw (); 2441: 2441: 2441: extern double log10 (double __x) throw (); extern double __log10 (double __x) throw (); 2441: 2441: 2441: extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw (); 2441: 2441: 2441: extern double log1p (double __x) throw (); extern double __log1p (double __x) throw (); 2441: 2441: 2441: extern double logb (double __x) throw (); extern double __logb (double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw (); 2441: 2441: 2441: extern double log2 (double __x) throw (); extern double __log2 (double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw (); 2441: 2441: 2441: extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw (); 2441: 2441: 2441: 2441: extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw (); 2441: 2441: 2441: 2441: 2441: extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw (); 2441: # 182 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern int finite (double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); 2441: 2441: 2441: 2441: extern double significand (double __x) throw (); extern double __significand (double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern double nan (const char *__tagb) throw (); extern double __nan (const char *__tagb) throw (); 2441: # 217 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern double j0 (double) throw (); extern double __j0 (double) throw (); 2441: extern double j1 (double) throw (); extern double __j1 (double) throw (); 2441: extern double jn (int, double) throw (); extern double __jn (int, double) throw (); 2441: extern double y0 (double) throw (); extern double __y0 (double) throw (); 2441: extern double y1 (double) throw (); extern double __y1 (double) throw (); 2441: extern double yn (int, double) throw (); extern double __yn (int, double) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern double erf (double) throw (); extern double __erf (double) throw (); 2441: extern double erfc (double) throw (); extern double __erfc (double) throw (); 2441: extern double lgamma (double) throw (); extern double __lgamma (double) throw (); 2441: 2441: 2441: 2441: 2441: extern double tgamma (double) throw (); extern double __tgamma (double) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern double gamma (double) throw (); extern double __gamma (double) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern double rint (double __x) throw (); extern double __rint (double __x) throw (); 2441: 2441: 2441: extern double nextafter (double __x, double __y) throw (); extern double __nextafter (double __x, double __y) throw (); 2441: 2441: extern double nexttoward (double __x, long double __y) throw (); extern double __nexttoward (double __x, long double __y) throw (); 2441: 2441: 2441: 2441: 2441: extern double nextdown (double __x) throw (); extern double __nextdown (double __x) throw (); 2441: 2441: extern double nextup (double __x) throw (); extern double __nextup (double __x) throw (); 2441: 2441: 2441: 2441: extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw (); 2441: 2441: 2441: 2441: extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogb (double __x) throw (); extern long int __llogb (double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw (); 2441: 2441: 2441: 2441: extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw (); 2441: __extension__ 2441: extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw (); 2441: 2441: 2441: 2441: extern long int lround (double __x) throw (); extern long int __lround (double __x) throw (); 2441: __extension__ 2441: extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw (); 2441: 2441: 2441: 2441: extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw (); 2441: 2441: 2441: extern double fmax (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmax (double __x, double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern double fmin (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmin (double __x, double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); 2441: 2441: 2441: 2441: 2441: extern double roundeven (double __x) throw () __attribute__ ((__const__)); extern double __roundeven (double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern double fmaxmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern double fminmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorder (double __x, double __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermag (double __x, double __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalize (double *__cx, const double *__x) throw (); 2441: 2441: 2441: extern double getpayload (const double *__x) throw (); extern double __getpayload (const double *__x) throw (); 2441: 2441: 2441: extern int setpayload (double *__x, double __payload) throw (); 2441: 2441: 2441: extern int setpayloadsig (double *__x, double __payload) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); 2441: # 291 "/usr/include/math.h" 2 3 4 2441: # 306 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4 2441: # 21 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 3 4 2441: extern int __fpclassifyf (float __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int __signbitf (float __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern int __isinff (float __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __finitef (float __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __isnanf (float __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __iseqsigf (float __x, float __y) throw (); 2441: 2441: 2441: extern int __issignalingf (float __value) throw () 2441: __attribute__ ((__const__)); 2441: # 307 "/usr/include/math.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern float acosf (float __x) throw (); extern float __acosf (float __x) throw (); 2441: 2441: extern float asinf (float __x) throw (); extern float __asinf (float __x) throw (); 2441: 2441: extern float atanf (float __x) throw (); extern float __atanf (float __x) throw (); 2441: 2441: extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw (); 2441: 2441: 2441: extern float cosf (float __x) throw (); extern float __cosf (float __x) throw (); 2441: 2441: extern float sinf (float __x) throw (); extern float __sinf (float __x) throw (); 2441: 2441: extern float tanf (float __x) throw (); extern float __tanf (float __x) throw (); 2441: 2441: 2441: 2441: 2441: extern float coshf (float __x) throw (); extern float __coshf (float __x) throw (); 2441: 2441: extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw (); 2441: 2441: extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw (); 2441: 2441: 2441: 2441: extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw (); 2441: 2441: extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw (); 2441: 2441: extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern float expf (float __x) throw (); extern float __expf (float __x) throw (); 2441: 2441: 2441: extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw (); 2441: 2441: 2441: extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw (); 2441: 2441: 2441: extern float logf (float __x) throw (); extern float __logf (float __x) throw (); 2441: 2441: 2441: extern float log10f (float __x) throw (); extern float __log10f (float __x) throw (); 2441: 2441: 2441: extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw (); 2441: 2441: 2441: 2441: 2441: extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw (); 2441: 2441: 2441: extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw (); 2441: 2441: 2441: extern float logbf (float __x) throw (); extern float __logbf (float __x) throw (); 2441: 2441: 2441: 2441: 2441: extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw (); 2441: 2441: 2441: extern float log2f (float __x) throw (); extern float __log2f (float __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw (); 2441: 2441: 2441: extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw (); 2441: 2441: 2441: 2441: extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw (); 2441: 2441: 2441: 2441: 2441: extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw (); 2441: # 177 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern int isinff (float __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern int finitef (float __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw (); 2441: 2441: 2441: 2441: extern float significandf (float __x) throw (); extern float __significandf (float __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern float nanf (const char *__tagb) throw (); extern float __nanf (const char *__tagb) throw (); 2441: # 211 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern int isnanf (float __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: 2441: extern float j0f (float) throw (); extern float __j0f (float) throw (); 2441: extern float j1f (float) throw (); extern float __j1f (float) throw (); 2441: extern float jnf (int, float) throw (); extern float __jnf (int, float) throw (); 2441: extern float y0f (float) throw (); extern float __y0f (float) throw (); 2441: extern float y1f (float) throw (); extern float __y1f (float) throw (); 2441: extern float ynf (int, float) throw (); extern float __ynf (int, float) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern float erff (float) throw (); extern float __erff (float) throw (); 2441: extern float erfcf (float) throw (); extern float __erfcf (float) throw (); 2441: extern float lgammaf (float) throw (); extern float __lgammaf (float) throw (); 2441: 2441: 2441: 2441: 2441: extern float tgammaf (float) throw (); extern float __tgammaf (float) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern float gammaf (float) throw (); extern float __gammaf (float) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern float rintf (float __x) throw (); extern float __rintf (float __x) throw (); 2441: 2441: 2441: extern float nextafterf (float __x, float __y) throw (); extern float __nextafterf (float __x, float __y) throw (); 2441: 2441: extern float nexttowardf (float __x, long double __y) throw (); extern float __nexttowardf (float __x, long double __y) throw (); 2441: 2441: 2441: 2441: 2441: extern float nextdownf (float __x) throw (); extern float __nextdownf (float __x) throw (); 2441: 2441: extern float nextupf (float __x) throw (); extern float __nextupf (float __x) throw (); 2441: 2441: 2441: 2441: extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw (); 2441: 2441: 2441: 2441: extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogbf (float __x) throw (); extern long int __llogbf (float __x) throw (); 2441: 2441: 2441: 2441: 2441: extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw (); 2441: 2441: 2441: 2441: extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw (); 2441: __extension__ 2441: extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw (); 2441: 2441: 2441: 2441: extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw (); 2441: __extension__ 2441: extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw (); 2441: 2441: 2441: 2441: extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw (); 2441: 2441: 2441: extern float fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern float fminf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminf (float __x, float __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); 2441: 2441: 2441: 2441: 2441: extern float roundevenf (float __x) throw () __attribute__ ((__const__)); extern float __roundevenf (float __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern float fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern float fminmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorderf (float __x, float __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermagf (float __x, float __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalizef (float *__cx, const float *__x) throw (); 2441: 2441: 2441: extern float getpayloadf (const float *__x) throw (); extern float __getpayloadf (const float *__x) throw (); 2441: 2441: 2441: extern int setpayloadf (float *__x, float __payload) throw (); 2441: 2441: 2441: extern int setpayloadsigf (float *__x, float __payload) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); 2441: # 308 "/usr/include/math.h" 2 3 4 2441: # 349 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4 2441: # 21 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 3 4 2441: extern int __fpclassifyl (long double __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int __signbitl (long double __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern int __isinfl (long double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __finitel (long double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __isnanl (long double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __iseqsigl (long double __x, long double __y) throw (); 2441: 2441: 2441: extern int __issignalingl (long double __value) throw () 2441: __attribute__ ((__const__)); 2441: # 350 "/usr/include/math.h" 2 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw (); 2441: 2441: extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw (); 2441: 2441: extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw (); 2441: 2441: extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw (); 2441: 2441: 2441: extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw (); 2441: 2441: extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw (); 2441: 2441: extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw (); 2441: 2441: extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw (); 2441: 2441: extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw (); 2441: 2441: 2441: 2441: extern void sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw (); 2441: 2441: extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw (); 2441: 2441: extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw (); 2441: 2441: 2441: extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw (); 2441: 2441: 2441: extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw (); 2441: 2441: 2441: extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw (); 2441: 2441: 2441: extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw (); 2441: 2441: 2441: extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw (); 2441: 2441: 2441: extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw (); 2441: 2441: 2441: extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw (); 2441: 2441: 2441: extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw (); 2441: 2441: 2441: extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw (); 2441: 2441: 2441: 2441: extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw (); 2441: 2441: 2441: 2441: 2441: extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw (); 2441: # 177 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern int isinfl (long double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern int finitel (long double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw (); 2441: 2441: 2441: 2441: extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern long double nanl (const char *__tagb) throw (); extern long double __nanl (const char *__tagb) throw (); 2441: # 211 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern int isnanl (long double __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: 2441: extern long double j0l (long double) throw (); extern long double __j0l (long double) throw (); 2441: extern long double j1l (long double) throw (); extern long double __j1l (long double) throw (); 2441: extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw (); 2441: extern long double y0l (long double) throw (); extern long double __y0l (long double) throw (); 2441: extern long double y1l (long double) throw (); extern long double __y1l (long double) throw (); 2441: extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern long double erfl (long double) throw (); extern long double __erfl (long double) throw (); 2441: extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw (); 2441: extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw (); 2441: 2441: 2441: 2441: 2441: extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern long double gammal (long double) throw (); extern long double __gammal (long double) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw (); 2441: 2441: 2441: extern long double nextafterl (long double __x, long double __y) throw (); extern long double __nextafterl (long double __x, long double __y) throw (); 2441: 2441: extern long double nexttowardl (long double __x, long double __y) throw (); extern long double __nexttowardl (long double __x, long double __y) throw (); 2441: 2441: 2441: 2441: 2441: extern long double nextdownl (long double __x) throw (); extern long double __nextdownl (long double __x) throw (); 2441: 2441: extern long double nextupl (long double __x) throw (); extern long double __nextupl (long double __x) throw (); 2441: 2441: 2441: 2441: extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw (); 2441: 2441: 2441: 2441: extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogbl (long double __x) throw (); extern long int __llogbl (long double __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw (); 2441: 2441: 2441: 2441: extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw (); 2441: __extension__ 2441: extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw (); 2441: 2441: 2441: 2441: extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw (); 2441: __extension__ 2441: extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw (); 2441: 2441: 2441: 2441: extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw (); 2441: 2441: 2441: extern long double fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern long double fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw (); 2441: 2441: 2441: 2441: 2441: extern long double roundevenl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundevenl (long double __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern long double fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern long double fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorderl (long double __x, long double __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermagl (long double __x, long double __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalizel (long double *__cx, const long double *__x) throw (); 2441: 2441: 2441: extern long double getpayloadl (const long double *__x) throw (); extern long double __getpayloadl (const long double *__x) throw (); 2441: 2441: 2441: extern int setpayloadl (long double *__x, long double __payload) throw (); 2441: 2441: 2441: extern int setpayloadsigl (long double *__x, long double __payload) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw (); 2441: # 351 "/usr/include/math.h" 2 3 4 2441: # 389 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32 acosf32 (_Float32 __x) throw (); extern _Float32 __acosf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 asinf32 (_Float32 __x) throw (); extern _Float32 __asinf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 atanf32 (_Float32 __x) throw (); extern _Float32 __atanf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) throw (); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 cosf32 (_Float32 __x) throw (); extern _Float32 __cosf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 sinf32 (_Float32 __x) throw (); extern _Float32 __sinf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 tanf32 (_Float32 __x) throw (); extern _Float32 __tanf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32 coshf32 (_Float32 __x) throw (); extern _Float32 __coshf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 sinhf32 (_Float32 __x) throw (); extern _Float32 __sinhf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 tanhf32 (_Float32 __x) throw (); extern _Float32 __tanhf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw (); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern _Float32 acoshf32 (_Float32 __x) throw (); extern _Float32 __acoshf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 asinhf32 (_Float32 __x) throw (); extern _Float32 __asinhf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 atanhf32 (_Float32 __x) throw (); extern _Float32 __atanhf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32 expf32 (_Float32 __x) throw (); extern _Float32 __expf32 (_Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) throw (); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) throw (); 2441: 2441: 2441: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) throw (); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) throw (); 2441: 2441: 2441: extern _Float32 logf32 (_Float32 __x) throw (); extern _Float32 __logf32 (_Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 log10f32 (_Float32 __x) throw (); extern _Float32 __log10f32 (_Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) throw (); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern _Float32 exp10f32 (_Float32 __x) throw (); extern _Float32 __exp10f32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32 expm1f32 (_Float32 __x) throw (); extern _Float32 __expm1f32 (_Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 log1pf32 (_Float32 __x) throw (); extern _Float32 __log1pf32 (_Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 logbf32 (_Float32 __x) throw (); extern _Float32 __logbf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32 exp2f32 (_Float32 __x) throw (); extern _Float32 __exp2f32 (_Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 log2f32 (_Float32 __x) throw (); extern _Float32 __log2f32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32 powf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) throw (); 2441: 2441: 2441: extern _Float32 sqrtf32 (_Float32 __x) throw (); extern _Float32 __sqrtf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32 cbrtf32 (_Float32 __x) throw (); extern _Float32 __cbrtf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32 ceilf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32 fabsf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32 floorf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) throw (); 2441: # 196 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float32 nanf32 (const char *__tagb) throw (); extern _Float32 __nanf32 (const char *__tagb) throw (); 2441: # 217 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32 j0f32 (_Float32) throw (); extern _Float32 __j0f32 (_Float32) throw (); 2441: extern _Float32 j1f32 (_Float32) throw (); extern _Float32 __j1f32 (_Float32) throw (); 2441: extern _Float32 jnf32 (int, _Float32) throw (); extern _Float32 __jnf32 (int, _Float32) throw (); 2441: extern _Float32 y0f32 (_Float32) throw (); extern _Float32 __y0f32 (_Float32) throw (); 2441: extern _Float32 y1f32 (_Float32) throw (); extern _Float32 __y1f32 (_Float32) throw (); 2441: extern _Float32 ynf32 (int, _Float32) throw (); extern _Float32 __ynf32 (int, _Float32) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32 erff32 (_Float32) throw (); extern _Float32 __erff32 (_Float32) throw (); 2441: extern _Float32 erfcf32 (_Float32) throw (); extern _Float32 __erfcf32 (_Float32) throw (); 2441: extern _Float32 lgammaf32 (_Float32) throw (); extern _Float32 __lgammaf32 (_Float32) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32 tgammaf32 (_Float32) throw (); extern _Float32 __tgammaf32 (_Float32) throw (); 2441: # 249 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) throw (); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32 rintf32 (_Float32 __x) throw (); extern _Float32 __rintf32 (_Float32 __x) throw (); 2441: 2441: 2441: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32 nextdownf32 (_Float32 __x) throw (); extern _Float32 __nextdownf32 (_Float32 __x) throw (); 2441: 2441: extern _Float32 nextupf32 (_Float32 __x) throw (); extern _Float32 __nextupf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) throw (); 2441: 2441: 2441: 2441: extern _Float32 scalbnf32 (_Float32 __x, int __n) throw (); extern _Float32 __scalbnf32 (_Float32 __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogbf32 (_Float32 __x) throw (); extern int __ilogbf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogbf32 (_Float32 __x) throw (); extern long int __llogbf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32 scalblnf32 (_Float32 __x, long int __n) throw (); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern _Float32 nearbyintf32 (_Float32 __x) throw (); extern _Float32 __nearbyintf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: extern _Float32 roundf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern _Float32 truncf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw (); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrintf32 (_Float32 __x) throw (); extern long int __lrintf32 (_Float32 __x) throw (); 2441: __extension__ 2441: extern long long int llrintf32 (_Float32 __x) throw (); extern long long int __llrintf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: extern long int lroundf32 (_Float32 __x) throw (); extern long int __lroundf32 (_Float32 __x) throw (); 2441: __extension__ 2441: extern long long int llroundf32 (_Float32 __x) throw (); extern long long int __llroundf32 (_Float32 __x) throw (); 2441: 2441: 2441: 2441: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) throw (); 2441: 2441: 2441: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw (); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32 roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorderf32 (_Float32 __x, _Float32 __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermagf32 (_Float32 __x, _Float32 __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) throw (); 2441: 2441: 2441: extern _Float32 getpayloadf32 (const _Float32 *__x) throw (); extern _Float32 __getpayloadf32 (const _Float32 *__x) throw (); 2441: 2441: 2441: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) throw (); 2441: 2441: 2441: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) throw (); 2441: # 390 "/usr/include/math.h" 2 3 4 2441: # 406 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64 acosf64 (_Float64 __x) throw (); extern _Float64 __acosf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 asinf64 (_Float64 __x) throw (); extern _Float64 __asinf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 atanf64 (_Float64 __x) throw (); extern _Float64 __atanf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) throw (); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 cosf64 (_Float64 __x) throw (); extern _Float64 __cosf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 sinf64 (_Float64 __x) throw (); extern _Float64 __sinf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 tanf64 (_Float64 __x) throw (); extern _Float64 __tanf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64 coshf64 (_Float64 __x) throw (); extern _Float64 __coshf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 sinhf64 (_Float64 __x) throw (); extern _Float64 __sinhf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 tanhf64 (_Float64 __x) throw (); extern _Float64 __tanhf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw (); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern _Float64 acoshf64 (_Float64 __x) throw (); extern _Float64 __acoshf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 asinhf64 (_Float64 __x) throw (); extern _Float64 __asinhf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 atanhf64 (_Float64 __x) throw (); extern _Float64 __atanhf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64 expf64 (_Float64 __x) throw (); extern _Float64 __expf64 (_Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) throw (); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) throw (); 2441: 2441: 2441: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) throw (); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) throw (); 2441: 2441: 2441: extern _Float64 logf64 (_Float64 __x) throw (); extern _Float64 __logf64 (_Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 log10f64 (_Float64 __x) throw (); extern _Float64 __log10f64 (_Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) throw (); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern _Float64 exp10f64 (_Float64 __x) throw (); extern _Float64 __exp10f64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64 expm1f64 (_Float64 __x) throw (); extern _Float64 __expm1f64 (_Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 log1pf64 (_Float64 __x) throw (); extern _Float64 __log1pf64 (_Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 logbf64 (_Float64 __x) throw (); extern _Float64 __logbf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64 exp2f64 (_Float64 __x) throw (); extern _Float64 __exp2f64 (_Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 log2f64 (_Float64 __x) throw (); extern _Float64 __log2f64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64 powf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float64 sqrtf64 (_Float64 __x) throw (); extern _Float64 __sqrtf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64 cbrtf64 (_Float64 __x) throw (); extern _Float64 __cbrtf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64 ceilf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64 fabsf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64 floorf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) throw (); 2441: # 196 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float64 nanf64 (const char *__tagb) throw (); extern _Float64 __nanf64 (const char *__tagb) throw (); 2441: # 217 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64 j0f64 (_Float64) throw (); extern _Float64 __j0f64 (_Float64) throw (); 2441: extern _Float64 j1f64 (_Float64) throw (); extern _Float64 __j1f64 (_Float64) throw (); 2441: extern _Float64 jnf64 (int, _Float64) throw (); extern _Float64 __jnf64 (int, _Float64) throw (); 2441: extern _Float64 y0f64 (_Float64) throw (); extern _Float64 __y0f64 (_Float64) throw (); 2441: extern _Float64 y1f64 (_Float64) throw (); extern _Float64 __y1f64 (_Float64) throw (); 2441: extern _Float64 ynf64 (int, _Float64) throw (); extern _Float64 __ynf64 (int, _Float64) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64 erff64 (_Float64) throw (); extern _Float64 __erff64 (_Float64) throw (); 2441: extern _Float64 erfcf64 (_Float64) throw (); extern _Float64 __erfcf64 (_Float64) throw (); 2441: extern _Float64 lgammaf64 (_Float64) throw (); extern _Float64 __lgammaf64 (_Float64) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64 tgammaf64 (_Float64) throw (); extern _Float64 __tgammaf64 (_Float64) throw (); 2441: # 249 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) throw (); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64 rintf64 (_Float64 __x) throw (); extern _Float64 __rintf64 (_Float64 __x) throw (); 2441: 2441: 2441: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64 nextdownf64 (_Float64 __x) throw (); extern _Float64 __nextdownf64 (_Float64 __x) throw (); 2441: 2441: extern _Float64 nextupf64 (_Float64 __x) throw (); extern _Float64 __nextupf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: 2441: extern _Float64 scalbnf64 (_Float64 __x, int __n) throw (); extern _Float64 __scalbnf64 (_Float64 __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogbf64 (_Float64 __x) throw (); extern int __ilogbf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogbf64 (_Float64 __x) throw (); extern long int __llogbf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64 scalblnf64 (_Float64 __x, long int __n) throw (); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern _Float64 nearbyintf64 (_Float64 __x) throw (); extern _Float64 __nearbyintf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: extern _Float64 roundf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern _Float64 truncf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw (); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrintf64 (_Float64 __x) throw (); extern long int __lrintf64 (_Float64 __x) throw (); 2441: __extension__ 2441: extern long long int llrintf64 (_Float64 __x) throw (); extern long long int __llrintf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: extern long int lroundf64 (_Float64 __x) throw (); extern long int __lroundf64 (_Float64 __x) throw (); 2441: __extension__ 2441: extern long long int llroundf64 (_Float64 __x) throw (); extern long long int __llroundf64 (_Float64 __x) throw (); 2441: 2441: 2441: 2441: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64 roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorderf64 (_Float64 __x, _Float64 __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermagf64 (_Float64 __x, _Float64 __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) throw (); 2441: 2441: 2441: extern _Float64 getpayloadf64 (const _Float64 *__x) throw (); extern _Float64 __getpayloadf64 (const _Float64 *__x) throw (); 2441: 2441: 2441: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) throw (); 2441: 2441: 2441: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) throw (); 2441: # 407 "/usr/include/math.h" 2 3 4 2441: # 420 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4 2441: # 21 "/usr/include/i386-linux-gnu/bits/mathcalls-helper-functions.h" 3 4 2441: extern int __fpclassifyf128 (_Float128 __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int __signbitf128 (_Float128 __value) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern int __isinff128 (_Float128 __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __finitef128 (_Float128 __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __isnanf128 (_Float128 __value) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int __iseqsigf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern int __issignalingf128 (_Float128 __value) throw () 2441: __attribute__ ((__const__)); 2441: # 421 "/usr/include/math.h" 2 3 4 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float128 acosf128 (_Float128 __x) throw (); extern _Float128 __acosf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 asinf128 (_Float128 __x) throw (); extern _Float128 __asinf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 atanf128 (_Float128 __x) throw (); extern _Float128 __atanf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 atan2f128 (_Float128 __y, _Float128 __x) throw (); extern _Float128 __atan2f128 (_Float128 __y, _Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 cosf128 (_Float128 __x) throw (); extern _Float128 __cosf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 sinf128 (_Float128 __x) throw (); extern _Float128 __sinf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 tanf128 (_Float128 __x) throw (); extern _Float128 __tanf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float128 coshf128 (_Float128 __x) throw (); extern _Float128 __coshf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 sinhf128 (_Float128 __x) throw (); extern _Float128 __sinhf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 tanhf128 (_Float128 __x) throw (); extern _Float128 __tanhf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: extern void sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) throw (); extern void __sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern _Float128 acoshf128 (_Float128 __x) throw (); extern _Float128 __acoshf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 asinhf128 (_Float128 __x) throw (); extern _Float128 __asinhf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 atanhf128 (_Float128 __x) throw (); extern _Float128 __atanhf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float128 expf128 (_Float128 __x) throw (); extern _Float128 __expf128 (_Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 frexpf128 (_Float128 __x, int *__exponent) throw (); extern _Float128 __frexpf128 (_Float128 __x, int *__exponent) throw (); 2441: 2441: 2441: extern _Float128 ldexpf128 (_Float128 __x, int __exponent) throw (); extern _Float128 __ldexpf128 (_Float128 __x, int __exponent) throw (); 2441: 2441: 2441: extern _Float128 logf128 (_Float128 __x) throw (); extern _Float128 __logf128 (_Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 log10f128 (_Float128 __x) throw (); extern _Float128 __log10f128 (_Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 modff128 (_Float128 __x, _Float128 *__iptr) throw (); extern _Float128 __modff128 (_Float128 __x, _Float128 *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern _Float128 exp10f128 (_Float128 __x) throw (); extern _Float128 __exp10f128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float128 expm1f128 (_Float128 __x) throw (); extern _Float128 __expm1f128 (_Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 log1pf128 (_Float128 __x) throw (); extern _Float128 __log1pf128 (_Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 logbf128 (_Float128 __x) throw (); extern _Float128 __logbf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float128 exp2f128 (_Float128 __x) throw (); extern _Float128 __exp2f128 (_Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 log2f128 (_Float128 __x) throw (); extern _Float128 __log2f128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float128 powf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __powf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float128 sqrtf128 (_Float128 __x) throw (); extern _Float128 __sqrtf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: extern _Float128 hypotf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __hypotf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float128 cbrtf128 (_Float128 __x) throw (); extern _Float128 __cbrtf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float128 ceilf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __ceilf128 (_Float128 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float128 fabsf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __fabsf128 (_Float128 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float128 floorf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __floorf128 (_Float128 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float128 fmodf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __fmodf128 (_Float128 __x, _Float128 __y) throw (); 2441: # 196 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float128 copysignf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __copysignf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float128 nanf128 (const char *__tagb) throw (); extern _Float128 __nanf128 (const char *__tagb) throw (); 2441: # 217 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float128 j0f128 (_Float128) throw (); extern _Float128 __j0f128 (_Float128) throw (); 2441: extern _Float128 j1f128 (_Float128) throw (); extern _Float128 __j1f128 (_Float128) throw (); 2441: extern _Float128 jnf128 (int, _Float128) throw (); extern _Float128 __jnf128 (int, _Float128) throw (); 2441: extern _Float128 y0f128 (_Float128) throw (); extern _Float128 __y0f128 (_Float128) throw (); 2441: extern _Float128 y1f128 (_Float128) throw (); extern _Float128 __y1f128 (_Float128) throw (); 2441: extern _Float128 ynf128 (int, _Float128) throw (); extern _Float128 __ynf128 (int, _Float128) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float128 erff128 (_Float128) throw (); extern _Float128 __erff128 (_Float128) throw (); 2441: extern _Float128 erfcf128 (_Float128) throw (); extern _Float128 __erfcf128 (_Float128) throw (); 2441: extern _Float128 lgammaf128 (_Float128) throw (); extern _Float128 __lgammaf128 (_Float128) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float128 tgammaf128 (_Float128) throw (); extern _Float128 __tgammaf128 (_Float128) throw (); 2441: # 249 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float128 lgammaf128_r (_Float128, int *__signgamp) throw (); extern _Float128 __lgammaf128_r (_Float128, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float128 rintf128 (_Float128 __x) throw (); extern _Float128 __rintf128 (_Float128 __x) throw (); 2441: 2441: 2441: extern _Float128 nextafterf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __nextafterf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float128 nextdownf128 (_Float128 __x) throw (); extern _Float128 __nextdownf128 (_Float128 __x) throw (); 2441: 2441: extern _Float128 nextupf128 (_Float128 __x) throw (); extern _Float128 __nextupf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: extern _Float128 remainderf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __remainderf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: 2441: extern _Float128 scalbnf128 (_Float128 __x, int __n) throw (); extern _Float128 __scalbnf128 (_Float128 __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogbf128 (_Float128 __x) throw (); extern int __ilogbf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogbf128 (_Float128 __x) throw (); extern long int __llogbf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float128 scalblnf128 (_Float128 __x, long int __n) throw (); extern _Float128 __scalblnf128 (_Float128 __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern _Float128 nearbyintf128 (_Float128 __x) throw (); extern _Float128 __nearbyintf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: extern _Float128 roundf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __roundf128 (_Float128 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern _Float128 truncf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __truncf128 (_Float128 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float128 remquof128 (_Float128 __x, _Float128 __y, int *__quo) throw (); extern _Float128 __remquof128 (_Float128 __x, _Float128 __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrintf128 (_Float128 __x) throw (); extern long int __lrintf128 (_Float128 __x) throw (); 2441: __extension__ 2441: extern long long int llrintf128 (_Float128 __x) throw (); extern long long int __llrintf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: extern long int lroundf128 (_Float128 __x) throw (); extern long int __lroundf128 (_Float128 __x) throw (); 2441: __extension__ 2441: extern long long int llroundf128 (_Float128 __x) throw (); extern long long int __llroundf128 (_Float128 __x) throw (); 2441: 2441: 2441: 2441: extern _Float128 fdimf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __fdimf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float128 fmaxf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaxf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float128 fminf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float128 fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float128 __fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float128 roundevenf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __roundevenf128 (_Float128 __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfpf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf128 (_Float128 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf128 (_Float128 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern _Float128 fmaxmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaxmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float128 fminmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorderf128 (_Float128 __x, _Float128 __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermagf128 (_Float128 __x, _Float128 __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalizef128 (_Float128 *__cx, const _Float128 *__x) throw (); 2441: 2441: 2441: extern _Float128 getpayloadf128 (const _Float128 *__x) throw (); extern _Float128 __getpayloadf128 (const _Float128 *__x) throw (); 2441: 2441: 2441: extern int setpayloadf128 (_Float128 *__x, _Float128 __payload) throw (); 2441: 2441: 2441: extern int setpayloadsigf128 (_Float128 *__x, _Float128 __payload) throw (); 2441: # 424 "/usr/include/math.h" 2 3 4 2441: # 440 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32x acosf32x (_Float32x __x) throw (); extern _Float32x __acosf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x asinf32x (_Float32x __x) throw (); extern _Float32x __asinf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x atanf32x (_Float32x __x) throw (); extern _Float32x __atanf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) throw (); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x cosf32x (_Float32x __x) throw (); extern _Float32x __cosf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x sinf32x (_Float32x __x) throw (); extern _Float32x __sinf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x tanf32x (_Float32x __x) throw (); extern _Float32x __tanf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32x coshf32x (_Float32x __x) throw (); extern _Float32x __coshf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x sinhf32x (_Float32x __x) throw (); extern _Float32x __sinhf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x tanhf32x (_Float32x __x) throw (); extern _Float32x __tanhf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw (); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern _Float32x acoshf32x (_Float32x __x) throw (); extern _Float32x __acoshf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x asinhf32x (_Float32x __x) throw (); extern _Float32x __asinhf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x atanhf32x (_Float32x __x) throw (); extern _Float32x __atanhf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32x expf32x (_Float32x __x) throw (); extern _Float32x __expf32x (_Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) throw (); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) throw (); 2441: 2441: 2441: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) throw (); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) throw (); 2441: 2441: 2441: extern _Float32x logf32x (_Float32x __x) throw (); extern _Float32x __logf32x (_Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x log10f32x (_Float32x __x) throw (); extern _Float32x __log10f32x (_Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) throw (); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern _Float32x exp10f32x (_Float32x __x) throw (); extern _Float32x __exp10f32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32x expm1f32x (_Float32x __x) throw (); extern _Float32x __expm1f32x (_Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x log1pf32x (_Float32x __x) throw (); extern _Float32x __log1pf32x (_Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x logbf32x (_Float32x __x) throw (); extern _Float32x __logbf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32x exp2f32x (_Float32x __x) throw (); extern _Float32x __exp2f32x (_Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x log2f32x (_Float32x __x) throw (); extern _Float32x __log2f32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32x powf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: extern _Float32x sqrtf32x (_Float32x __x) throw (); extern _Float32x __sqrtf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32x cbrtf32x (_Float32x __x) throw (); extern _Float32x __cbrtf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32x ceilf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32x fabsf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32x floorf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) throw (); 2441: # 196 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float32x nanf32x (const char *__tagb) throw (); extern _Float32x __nanf32x (const char *__tagb) throw (); 2441: # 217 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32x j0f32x (_Float32x) throw (); extern _Float32x __j0f32x (_Float32x) throw (); 2441: extern _Float32x j1f32x (_Float32x) throw (); extern _Float32x __j1f32x (_Float32x) throw (); 2441: extern _Float32x jnf32x (int, _Float32x) throw (); extern _Float32x __jnf32x (int, _Float32x) throw (); 2441: extern _Float32x y0f32x (_Float32x) throw (); extern _Float32x __y0f32x (_Float32x) throw (); 2441: extern _Float32x y1f32x (_Float32x) throw (); extern _Float32x __y1f32x (_Float32x) throw (); 2441: extern _Float32x ynf32x (int, _Float32x) throw (); extern _Float32x __ynf32x (int, _Float32x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32x erff32x (_Float32x) throw (); extern _Float32x __erff32x (_Float32x) throw (); 2441: extern _Float32x erfcf32x (_Float32x) throw (); extern _Float32x __erfcf32x (_Float32x) throw (); 2441: extern _Float32x lgammaf32x (_Float32x) throw (); extern _Float32x __lgammaf32x (_Float32x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32x tgammaf32x (_Float32x) throw (); extern _Float32x __tgammaf32x (_Float32x) throw (); 2441: # 249 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) throw (); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32x rintf32x (_Float32x __x) throw (); extern _Float32x __rintf32x (_Float32x __x) throw (); 2441: 2441: 2441: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float32x nextdownf32x (_Float32x __x) throw (); extern _Float32x __nextdownf32x (_Float32x __x) throw (); 2441: 2441: extern _Float32x nextupf32x (_Float32x __x) throw (); extern _Float32x __nextupf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: 2441: extern _Float32x scalbnf32x (_Float32x __x, int __n) throw (); extern _Float32x __scalbnf32x (_Float32x __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogbf32x (_Float32x __x) throw (); extern int __ilogbf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogbf32x (_Float32x __x) throw (); extern long int __llogbf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32x scalblnf32x (_Float32x __x, long int __n) throw (); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern _Float32x nearbyintf32x (_Float32x __x) throw (); extern _Float32x __nearbyintf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: extern _Float32x roundf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern _Float32x truncf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw (); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrintf32x (_Float32x __x) throw (); extern long int __lrintf32x (_Float32x __x) throw (); 2441: __extension__ 2441: extern long long int llrintf32x (_Float32x __x) throw (); extern long long int __llrintf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: extern long int lroundf32x (_Float32x __x) throw (); extern long int __lroundf32x (_Float32x __x) throw (); 2441: __extension__ 2441: extern long long int llroundf32x (_Float32x __x) throw (); extern long long int __llroundf32x (_Float32x __x) throw (); 2441: 2441: 2441: 2441: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float32x roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorderf32x (_Float32x __x, _Float32x __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermagf32x (_Float32x __x, _Float32x __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) throw (); 2441: 2441: 2441: extern _Float32x getpayloadf32x (const _Float32x *__x) throw (); extern _Float32x __getpayloadf32x (const _Float32x *__x) throw (); 2441: 2441: 2441: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) throw (); 2441: 2441: 2441: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) throw (); 2441: # 441 "/usr/include/math.h" 2 3 4 2441: # 457 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 1 3 4 2441: # 53 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64x acosf64x (_Float64x __x) throw (); extern _Float64x __acosf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x asinf64x (_Float64x __x) throw (); extern _Float64x __asinf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x atanf64x (_Float64x __x) throw (); extern _Float64x __atanf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x atan2f64x (_Float64x __y, _Float64x __x) throw (); extern _Float64x __atan2f64x (_Float64x __y, _Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x cosf64x (_Float64x __x) throw (); extern _Float64x __cosf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x sinf64x (_Float64x __x) throw (); extern _Float64x __sinf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x tanf64x (_Float64x __x) throw (); extern _Float64x __tanf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64x coshf64x (_Float64x __x) throw (); extern _Float64x __coshf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x sinhf64x (_Float64x __x) throw (); extern _Float64x __sinhf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x tanhf64x (_Float64x __x) throw (); extern _Float64x __tanhf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: extern void sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) throw (); extern void __sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern _Float64x acoshf64x (_Float64x __x) throw (); extern _Float64x __acoshf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x asinhf64x (_Float64x __x) throw (); extern _Float64x __asinhf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x atanhf64x (_Float64x __x) throw (); extern _Float64x __atanhf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64x expf64x (_Float64x __x) throw (); extern _Float64x __expf64x (_Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x frexpf64x (_Float64x __x, int *__exponent) throw (); extern _Float64x __frexpf64x (_Float64x __x, int *__exponent) throw (); 2441: 2441: 2441: extern _Float64x ldexpf64x (_Float64x __x, int __exponent) throw (); extern _Float64x __ldexpf64x (_Float64x __x, int __exponent) throw (); 2441: 2441: 2441: extern _Float64x logf64x (_Float64x __x) throw (); extern _Float64x __logf64x (_Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x log10f64x (_Float64x __x) throw (); extern _Float64x __log10f64x (_Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x modff64x (_Float64x __x, _Float64x *__iptr) throw (); extern _Float64x __modff64x (_Float64x __x, _Float64x *__iptr) throw () __attribute__ ((__nonnull__ (2))); 2441: 2441: 2441: 2441: extern _Float64x exp10f64x (_Float64x __x) throw (); extern _Float64x __exp10f64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64x expm1f64x (_Float64x __x) throw (); extern _Float64x __expm1f64x (_Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x log1pf64x (_Float64x __x) throw (); extern _Float64x __log1pf64x (_Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x logbf64x (_Float64x __x) throw (); extern _Float64x __logbf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64x exp2f64x (_Float64x __x) throw (); extern _Float64x __exp2f64x (_Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x log2f64x (_Float64x __x) throw (); extern _Float64x __log2f64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64x powf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __powf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float64x sqrtf64x (_Float64x __x) throw (); extern _Float64x __sqrtf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: extern _Float64x hypotf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __hypotf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64x cbrtf64x (_Float64x __x) throw (); extern _Float64x __cbrtf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64x ceilf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __ceilf64x (_Float64x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64x fabsf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __fabsf64x (_Float64x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64x floorf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __floorf64x (_Float64x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64x fmodf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __fmodf64x (_Float64x __x, _Float64x __y) throw (); 2441: # 196 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64x copysignf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __copysignf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float64x nanf64x (const char *__tagb) throw (); extern _Float64x __nanf64x (const char *__tagb) throw (); 2441: # 217 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64x j0f64x (_Float64x) throw (); extern _Float64x __j0f64x (_Float64x) throw (); 2441: extern _Float64x j1f64x (_Float64x) throw (); extern _Float64x __j1f64x (_Float64x) throw (); 2441: extern _Float64x jnf64x (int, _Float64x) throw (); extern _Float64x __jnf64x (int, _Float64x) throw (); 2441: extern _Float64x y0f64x (_Float64x) throw (); extern _Float64x __y0f64x (_Float64x) throw (); 2441: extern _Float64x y1f64x (_Float64x) throw (); extern _Float64x __y1f64x (_Float64x) throw (); 2441: extern _Float64x ynf64x (int, _Float64x) throw (); extern _Float64x __ynf64x (int, _Float64x) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64x erff64x (_Float64x) throw (); extern _Float64x __erff64x (_Float64x) throw (); 2441: extern _Float64x erfcf64x (_Float64x) throw (); extern _Float64x __erfcf64x (_Float64x) throw (); 2441: extern _Float64x lgammaf64x (_Float64x) throw (); extern _Float64x __lgammaf64x (_Float64x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64x tgammaf64x (_Float64x) throw (); extern _Float64x __tgammaf64x (_Float64x) throw (); 2441: # 249 "/usr/include/i386-linux-gnu/bits/mathcalls.h" 3 4 2441: extern _Float64x lgammaf64x_r (_Float64x, int *__signgamp) throw (); extern _Float64x __lgammaf64x_r (_Float64x, int *__signgamp) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64x rintf64x (_Float64x __x) throw (); extern _Float64x __rintf64x (_Float64x __x) throw (); 2441: 2441: 2441: extern _Float64x nextafterf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __nextafterf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern _Float64x nextdownf64x (_Float64x __x) throw (); extern _Float64x __nextdownf64x (_Float64x __x) throw (); 2441: 2441: extern _Float64x nextupf64x (_Float64x __x) throw (); extern _Float64x __nextupf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: extern _Float64x remainderf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __remainderf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: 2441: extern _Float64x scalbnf64x (_Float64x __x, int __n) throw (); extern _Float64x __scalbnf64x (_Float64x __x, int __n) throw (); 2441: 2441: 2441: 2441: extern int ilogbf64x (_Float64x __x) throw (); extern int __ilogbf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern long int llogbf64x (_Float64x __x) throw (); extern long int __llogbf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64x scalblnf64x (_Float64x __x, long int __n) throw (); extern _Float64x __scalblnf64x (_Float64x __x, long int __n) throw (); 2441: 2441: 2441: 2441: extern _Float64x nearbyintf64x (_Float64x __x) throw (); extern _Float64x __nearbyintf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: extern _Float64x roundf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __roundf64x (_Float64x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern _Float64x truncf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __truncf64x (_Float64x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: 2441: extern _Float64x remquof64x (_Float64x __x, _Float64x __y, int *__quo) throw (); extern _Float64x __remquof64x (_Float64x __x, _Float64x __y, int *__quo) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern long int lrintf64x (_Float64x __x) throw (); extern long int __lrintf64x (_Float64x __x) throw (); 2441: __extension__ 2441: extern long long int llrintf64x (_Float64x __x) throw (); extern long long int __llrintf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: extern long int lroundf64x (_Float64x __x) throw (); extern long int __lroundf64x (_Float64x __x) throw (); 2441: __extension__ 2441: extern long long int llroundf64x (_Float64x __x) throw (); extern long long int __llroundf64x (_Float64x __x) throw (); 2441: 2441: 2441: 2441: extern _Float64x fdimf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __fdimf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float64x fmaxf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaxf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64x fminf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64x fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); extern _Float64x __fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); 2441: 2441: 2441: 2441: 2441: extern _Float64x roundevenf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __roundevenf64x (_Float64x __x) throw () __attribute__ ((__const__)); 2441: 2441: 2441: 2441: extern __intmax_t fromfpf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf64x (_Float64x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf64x (_Float64x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __intmax_t fromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: 2441: 2441: extern __uintmax_t ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw () 2441: ; 2441: 2441: 2441: extern _Float64x fmaxmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaxmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern _Float64x fminmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalorderf64x (_Float64x __x, _Float64x __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int totalordermagf64x (_Float64x __x, _Float64x __y) throw () 2441: __attribute__ ((__const__)); 2441: 2441: 2441: extern int canonicalizef64x (_Float64x *__cx, const _Float64x *__x) throw (); 2441: 2441: 2441: extern _Float64x getpayloadf64x (const _Float64x *__x) throw (); extern _Float64x __getpayloadf64x (const _Float64x *__x) throw (); 2441: 2441: 2441: extern int setpayloadf64x (_Float64x *__x, _Float64x __payload) throw (); 2441: 2441: 2441: extern int setpayloadsigf64x (_Float64x *__x, _Float64x __payload) throw (); 2441: # 458 "/usr/include/math.h" 2 3 4 2441: # 503 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern float fadd (double __x, double __y) throw (); 2441: 2441: 2441: extern float fdiv (double __x, double __y) throw (); 2441: 2441: 2441: extern float fmul (double __x, double __y) throw (); 2441: 2441: 2441: extern float fsub (double __x, double __y) throw (); 2441: # 504 "/usr/include/math.h" 2 3 4 2441: # 517 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern float faddl (long double __x, long double __y) throw (); 2441: 2441: 2441: extern float fdivl (long double __x, long double __y) throw (); 2441: 2441: 2441: extern float fmull (long double __x, long double __y) throw (); 2441: 2441: 2441: extern float fsubl (long double __x, long double __y) throw (); 2441: # 518 "/usr/include/math.h" 2 3 4 2441: # 537 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern double daddl (long double __x, long double __y) throw (); 2441: 2441: 2441: extern double ddivl (long double __x, long double __y) throw (); 2441: 2441: 2441: extern double dmull (long double __x, long double __y) throw (); 2441: 2441: 2441: extern double dsubl (long double __x, long double __y) throw (); 2441: # 538 "/usr/include/math.h" 2 3 4 2441: # 616 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) throw (); 2441: 2441: 2441: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) throw (); 2441: # 617 "/usr/include/math.h" 2 3 4 2441: # 626 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) throw (); 2441: # 627 "/usr/include/math.h" 2 3 4 2441: # 636 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float32 f32addf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float32 f32divf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float32 f32mulf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float32 f32subf64x (_Float64x __x, _Float64x __y) throw (); 2441: # 637 "/usr/include/math.h" 2 3 4 2441: # 646 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float32 f32addf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float32 f32divf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float32 f32mulf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float32 f32subf128 (_Float128 __x, _Float128 __y) throw (); 2441: # 647 "/usr/include/math.h" 2 3 4 2441: # 666 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) throw (); 2441: 2441: 2441: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) throw (); 2441: # 667 "/usr/include/math.h" 2 3 4 2441: # 676 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float32x f32xaddf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float32x f32xdivf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float32x f32xmulf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float32x f32xsubf64x (_Float64x __x, _Float64x __y) throw (); 2441: # 677 "/usr/include/math.h" 2 3 4 2441: # 686 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float32x f32xaddf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float32x f32xdivf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float32x f32xmulf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float32x f32xsubf128 (_Float128 __x, _Float128 __y) throw (); 2441: # 687 "/usr/include/math.h" 2 3 4 2441: # 706 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float64 f64addf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float64 f64divf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float64 f64mulf64x (_Float64x __x, _Float64x __y) throw (); 2441: 2441: 2441: extern _Float64 f64subf64x (_Float64x __x, _Float64x __y) throw (); 2441: # 707 "/usr/include/math.h" 2 3 4 2441: # 716 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float64 f64addf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float64 f64divf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float64 f64mulf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float64 f64subf128 (_Float128 __x, _Float128 __y) throw (); 2441: # 717 "/usr/include/math.h" 2 3 4 2441: # 736 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 2441: # 24 "/usr/include/i386-linux-gnu/bits/mathcalls-narrow.h" 3 4 2441: extern _Float64x f64xaddf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float64x f64xdivf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float64x f64xmulf128 (_Float128 __x, _Float128 __y) throw (); 2441: 2441: 2441: extern _Float64x f64xsubf128 (_Float128 __x, _Float128 __y) throw (); 2441: # 737 "/usr/include/math.h" 2 3 4 2441: # 773 "/usr/include/math.h" 3 4 2441: extern int signgam; 2441: # 853 "/usr/include/math.h" 3 4 2441: enum 2441: { 2441: FP_NAN = 2441: 2441: 0, 2441: FP_INFINITE = 2441: 2441: 1, 2441: FP_ZERO = 2441: 2441: 2, 2441: FP_SUBNORMAL = 2441: 2441: 3, 2441: FP_NORMAL = 2441: 2441: 4 2441: }; 2441: # 968 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/iscanonical.h" 1 3 4 2441: # 23 "/usr/include/i386-linux-gnu/bits/iscanonical.h" 3 4 2441: extern int __iscanonicall (long double __x) 2441: throw () __attribute__ ((__const__)); 2441: # 46 "/usr/include/i386-linux-gnu/bits/iscanonical.h" 3 4 2441: extern "C++" { 2441: inline int iscanonical (float __val) { return ((void) (__typeof (__val)) (__val), 1); } 2441: inline int iscanonical (double __val) { return ((void) (__typeof (__val)) (__val), 1); } 2441: inline int iscanonical (long double __val) { return __iscanonicall (__val); } 2441: 2441: inline int iscanonical (_Float128 __val) { return ((void) (__typeof (__val)) (__val), 1); } 2441: 2441: } 2441: # 969 "/usr/include/math.h" 2 3 4 2441: # 980 "/usr/include/math.h" 3 4 2441: extern "C++" { 2441: inline int issignaling (float __val) { return __issignalingf (__val); } 2441: inline int issignaling (double __val) { return __issignaling (__val); } 2441: inline int 2441: issignaling (long double __val) 2441: { 2441: 2441: 2441: 2441: return __issignalingl (__val); 2441: 2441: } 2441: 2441: 2441: 2441: inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); } 2441: 2441: } 2441: # 1011 "/usr/include/math.h" 3 4 2441: extern "C++" { 2441: # 1042 "/usr/include/math.h" 3 4 2441: template inline bool 2441: iszero (__T __val) 2441: { 2441: return __val == 0; 2441: } 2441: 2441: } 2441: # 1240 "/usr/include/math.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/mathinline.h" 1 3 4 2441: # 246 "/usr/include/i386-linux-gnu/bits/mathinline.h" 3 4 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) double __attribute__ ((__leaf__)) fabs (double __x) throw () { return __builtin_fabs (__x); } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) float __attribute__ ((__leaf__)) fabsf (float __x) throw () { return __builtin_fabsf (__x); } 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) long double __attribute__ ((__leaf__)) fabsl (long double __x) throw () { return __builtin_fabsl (__x); } 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) long double __attribute__ ((__leaf__)) __fabsl (long double __x) throw () { return __builtin_fabsl (__x); } 2441: 2441: 2441: 2441: 2441: 2441: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) long double __sgn1l (long double) throw (); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) long double __attribute__ ((__leaf__)) __sgn1l (long double __x) throw () { __extension__ union { long double __xld; unsigned int __xi[3]; } __n = { __xld: __x }; __n.__xi[2] = (__n.__xi[2] & 0x8000) | 0x3fff; __n.__xi[1] = 0x80000000; __n.__xi[0] = 0; return __n.__xld; } 2441: # 1241 "/usr/include/math.h" 2 3 4 2441: # 1493 "/usr/include/math.h" 3 4 2441: extern "C++" { 2441: template struct __iseqsig_type; 2441: 2441: template<> struct __iseqsig_type 2441: { 2441: static int __call (float __x, float __y) throw () 2441: { 2441: return __iseqsigf (__x, __y); 2441: } 2441: }; 2441: 2441: template<> struct __iseqsig_type 2441: { 2441: static int __call (double __x, double __y) throw () 2441: { 2441: return __iseqsig (__x, __y); 2441: } 2441: }; 2441: 2441: template<> struct __iseqsig_type 2441: { 2441: static int __call (long double __x, long double __y) throw () 2441: { 2441: 2441: return __iseqsigl (__x, __y); 2441: 2441: 2441: 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template<> struct __iseqsig_type<_Float128> 2441: { 2441: static int __call (_Float128 __x, _Float128 __y) throw () 2441: { 2441: return __iseqsigf128 (__x, __y); 2441: } 2441: }; 2441: 2441: 2441: template 2441: inline int 2441: iseqsig (_T1 __x, _T2 __y) throw () 2441: { 2441: 2441: typedef decltype (((__x) + (__y) + 0.0L)) _T3; 2441: 2441: 2441: 2441: return __iseqsig_type<_T3>::__call (__x, __y); 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 46 "/usr/include/c++/8/cmath" 2 3 2441: # 77 "/usr/include/c++/8/cmath" 3 2441: extern "C++" 2441: { 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: using ::acos; 2441: 2441: 2441: inline constexpr float 2441: acos(float __x) 2441: { return __builtin_acosf(__x); } 2441: 2441: inline constexpr long double 2441: acos(long double __x) 2441: { return __builtin_acosl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: acos(_Tp __x) 2441: { return __builtin_acos(__x); } 2441: 2441: using ::asin; 2441: 2441: 2441: inline constexpr float 2441: asin(float __x) 2441: { return __builtin_asinf(__x); } 2441: 2441: inline constexpr long double 2441: asin(long double __x) 2441: { return __builtin_asinl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: asin(_Tp __x) 2441: { return __builtin_asin(__x); } 2441: 2441: using ::atan; 2441: 2441: 2441: inline constexpr float 2441: atan(float __x) 2441: { return __builtin_atanf(__x); } 2441: 2441: inline constexpr long double 2441: atan(long double __x) 2441: { return __builtin_atanl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: atan(_Tp __x) 2441: { return __builtin_atan(__x); } 2441: 2441: using ::atan2; 2441: 2441: 2441: inline constexpr float 2441: atan2(float __y, float __x) 2441: { return __builtin_atan2f(__y, __x); } 2441: 2441: inline constexpr long double 2441: atan2(long double __y, long double __x) 2441: { return __builtin_atan2l(__y, __x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: atan2(_Tp __y, _Up __x) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return atan2(__type(__y), __type(__x)); 2441: } 2441: 2441: using ::ceil; 2441: 2441: 2441: inline constexpr float 2441: ceil(float __x) 2441: { return __builtin_ceilf(__x); } 2441: 2441: inline constexpr long double 2441: ceil(long double __x) 2441: { return __builtin_ceill(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: ceil(_Tp __x) 2441: { return __builtin_ceil(__x); } 2441: 2441: using ::cos; 2441: 2441: 2441: inline constexpr float 2441: cos(float __x) 2441: { return __builtin_cosf(__x); } 2441: 2441: inline constexpr long double 2441: cos(long double __x) 2441: { return __builtin_cosl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: cos(_Tp __x) 2441: { return __builtin_cos(__x); } 2441: 2441: using ::cosh; 2441: 2441: 2441: inline constexpr float 2441: cosh(float __x) 2441: { return __builtin_coshf(__x); } 2441: 2441: inline constexpr long double 2441: cosh(long double __x) 2441: { return __builtin_coshl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: cosh(_Tp __x) 2441: { return __builtin_cosh(__x); } 2441: 2441: using ::exp; 2441: 2441: 2441: inline constexpr float 2441: exp(float __x) 2441: { return __builtin_expf(__x); } 2441: 2441: inline constexpr long double 2441: exp(long double __x) 2441: { return __builtin_expl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: exp(_Tp __x) 2441: { return __builtin_exp(__x); } 2441: 2441: using ::fabs; 2441: 2441: 2441: inline constexpr float 2441: fabs(float __x) 2441: { return __builtin_fabsf(__x); } 2441: 2441: inline constexpr long double 2441: fabs(long double __x) 2441: { return __builtin_fabsl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: fabs(_Tp __x) 2441: { return __builtin_fabs(__x); } 2441: 2441: using ::floor; 2441: 2441: 2441: inline constexpr float 2441: floor(float __x) 2441: { return __builtin_floorf(__x); } 2441: 2441: inline constexpr long double 2441: floor(long double __x) 2441: { return __builtin_floorl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: floor(_Tp __x) 2441: { return __builtin_floor(__x); } 2441: 2441: using ::fmod; 2441: 2441: 2441: inline constexpr float 2441: fmod(float __x, float __y) 2441: { return __builtin_fmodf(__x, __y); } 2441: 2441: inline constexpr long double 2441: fmod(long double __x, long double __y) 2441: { return __builtin_fmodl(__x, __y); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: fmod(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return fmod(__type(__x), __type(__y)); 2441: } 2441: 2441: using ::frexp; 2441: 2441: 2441: inline float 2441: frexp(float __x, int* __exp) 2441: { return __builtin_frexpf(__x, __exp); } 2441: 2441: inline long double 2441: frexp(long double __x, int* __exp) 2441: { return __builtin_frexpl(__x, __exp); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: frexp(_Tp __x, int* __exp) 2441: { return __builtin_frexp(__x, __exp); } 2441: 2441: using ::ldexp; 2441: 2441: 2441: inline constexpr float 2441: ldexp(float __x, int __exp) 2441: { return __builtin_ldexpf(__x, __exp); } 2441: 2441: inline constexpr long double 2441: ldexp(long double __x, int __exp) 2441: { return __builtin_ldexpl(__x, __exp); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: ldexp(_Tp __x, int __exp) 2441: { return __builtin_ldexp(__x, __exp); } 2441: 2441: using ::log; 2441: 2441: 2441: inline constexpr float 2441: log(float __x) 2441: { return __builtin_logf(__x); } 2441: 2441: inline constexpr long double 2441: log(long double __x) 2441: { return __builtin_logl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: log(_Tp __x) 2441: { return __builtin_log(__x); } 2441: 2441: using ::log10; 2441: 2441: 2441: inline constexpr float 2441: log10(float __x) 2441: { return __builtin_log10f(__x); } 2441: 2441: inline constexpr long double 2441: log10(long double __x) 2441: { return __builtin_log10l(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: log10(_Tp __x) 2441: { return __builtin_log10(__x); } 2441: 2441: using ::modf; 2441: 2441: 2441: inline float 2441: modf(float __x, float* __iptr) 2441: { return __builtin_modff(__x, __iptr); } 2441: 2441: inline long double 2441: modf(long double __x, long double* __iptr) 2441: { return __builtin_modfl(__x, __iptr); } 2441: 2441: 2441: using ::pow; 2441: 2441: 2441: inline constexpr float 2441: pow(float __x, float __y) 2441: { return __builtin_powf(__x, __y); } 2441: 2441: inline constexpr long double 2441: pow(long double __x, long double __y) 2441: { return __builtin_powl(__x, __y); } 2441: # 412 "/usr/include/c++/8/cmath" 3 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: pow(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return pow(__type(__x), __type(__y)); 2441: } 2441: 2441: using ::sin; 2441: 2441: 2441: inline constexpr float 2441: sin(float __x) 2441: { return __builtin_sinf(__x); } 2441: 2441: inline constexpr long double 2441: sin(long double __x) 2441: { return __builtin_sinl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: sin(_Tp __x) 2441: { return __builtin_sin(__x); } 2441: 2441: using ::sinh; 2441: 2441: 2441: inline constexpr float 2441: sinh(float __x) 2441: { return __builtin_sinhf(__x); } 2441: 2441: inline constexpr long double 2441: sinh(long double __x) 2441: { return __builtin_sinhl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: sinh(_Tp __x) 2441: { return __builtin_sinh(__x); } 2441: 2441: using ::sqrt; 2441: 2441: 2441: inline constexpr float 2441: sqrt(float __x) 2441: { return __builtin_sqrtf(__x); } 2441: 2441: inline constexpr long double 2441: sqrt(long double __x) 2441: { return __builtin_sqrtl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: sqrt(_Tp __x) 2441: { return __builtin_sqrt(__x); } 2441: 2441: using ::tan; 2441: 2441: 2441: inline constexpr float 2441: tan(float __x) 2441: { return __builtin_tanf(__x); } 2441: 2441: inline constexpr long double 2441: tan(long double __x) 2441: { return __builtin_tanl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: tan(_Tp __x) 2441: { return __builtin_tan(__x); } 2441: 2441: using ::tanh; 2441: 2441: 2441: inline constexpr float 2441: tanh(float __x) 2441: { return __builtin_tanhf(__x); } 2441: 2441: inline constexpr long double 2441: tanh(long double __x) 2441: { return __builtin_tanhl(__x); } 2441: 2441: 2441: template 2441: inline constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: tanh(_Tp __x) 2441: { return __builtin_tanh(__x); } 2441: # 536 "/usr/include/c++/8/cmath" 3 2441: constexpr int 2441: fpclassify(float __x) 2441: { return __builtin_fpclassify(0, 1, 4, 2441: 3, 2, __x); } 2441: 2441: constexpr int 2441: fpclassify(double __x) 2441: { return __builtin_fpclassify(0, 1, 4, 2441: 3, 2, __x); } 2441: 2441: constexpr int 2441: fpclassify(long double __x) 2441: { return __builtin_fpclassify(0, 1, 4, 2441: 3, 2, __x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: int>::__type 2441: fpclassify(_Tp __x) 2441: { return __x != 0 ? 4 : 2; } 2441: 2441: 2441: 2441: constexpr bool 2441: isfinite(float __x) 2441: { return __builtin_isfinite(__x); } 2441: 2441: constexpr bool 2441: isfinite(double __x) 2441: { return __builtin_isfinite(__x); } 2441: 2441: constexpr bool 2441: isfinite(long double __x) 2441: { return __builtin_isfinite(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: bool>::__type 2441: isfinite(_Tp __x) 2441: { return true; } 2441: 2441: 2441: 2441: constexpr bool 2441: isinf(float __x) 2441: { return __builtin_isinf(__x); } 2441: 2441: 2441: 2441: 2441: 2441: constexpr bool 2441: isinf(double __x) 2441: { return __builtin_isinf(__x); } 2441: 2441: 2441: constexpr bool 2441: isinf(long double __x) 2441: { return __builtin_isinf(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: bool>::__type 2441: isinf(_Tp __x) 2441: { return false; } 2441: 2441: 2441: 2441: constexpr bool 2441: isnan(float __x) 2441: { return __builtin_isnan(__x); } 2441: 2441: 2441: 2441: 2441: 2441: constexpr bool 2441: isnan(double __x) 2441: { return __builtin_isnan(__x); } 2441: 2441: 2441: constexpr bool 2441: isnan(long double __x) 2441: { return __builtin_isnan(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: bool>::__type 2441: isnan(_Tp __x) 2441: { return false; } 2441: 2441: 2441: 2441: constexpr bool 2441: isnormal(float __x) 2441: { return __builtin_isnormal(__x); } 2441: 2441: constexpr bool 2441: isnormal(double __x) 2441: { return __builtin_isnormal(__x); } 2441: 2441: constexpr bool 2441: isnormal(long double __x) 2441: { return __builtin_isnormal(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: bool>::__type 2441: isnormal(_Tp __x) 2441: { return __x != 0 ? true : false; } 2441: 2441: 2441: 2441: 2441: constexpr bool 2441: signbit(float __x) 2441: { return __builtin_signbit(__x); } 2441: 2441: constexpr bool 2441: signbit(double __x) 2441: { return __builtin_signbit(__x); } 2441: 2441: constexpr bool 2441: signbit(long double __x) 2441: { return __builtin_signbit(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: bool>::__type 2441: signbit(_Tp __x) 2441: { return __x < 0 ? true : false; } 2441: 2441: 2441: 2441: constexpr bool 2441: isgreater(float __x, float __y) 2441: { return __builtin_isgreater(__x, __y); } 2441: 2441: constexpr bool 2441: isgreater(double __x, double __y) 2441: { return __builtin_isgreater(__x, __y); } 2441: 2441: constexpr bool 2441: isgreater(long double __x, long double __y) 2441: { return __builtin_isgreater(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename 2441: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 2441: && __is_arithmetic<_Up>::__value), bool>::__type 2441: isgreater(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return __builtin_isgreater(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr bool 2441: isgreaterequal(float __x, float __y) 2441: { return __builtin_isgreaterequal(__x, __y); } 2441: 2441: constexpr bool 2441: isgreaterequal(double __x, double __y) 2441: { return __builtin_isgreaterequal(__x, __y); } 2441: 2441: constexpr bool 2441: isgreaterequal(long double __x, long double __y) 2441: { return __builtin_isgreaterequal(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename 2441: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 2441: && __is_arithmetic<_Up>::__value), bool>::__type 2441: isgreaterequal(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return __builtin_isgreaterequal(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr bool 2441: isless(float __x, float __y) 2441: { return __builtin_isless(__x, __y); } 2441: 2441: constexpr bool 2441: isless(double __x, double __y) 2441: { return __builtin_isless(__x, __y); } 2441: 2441: constexpr bool 2441: isless(long double __x, long double __y) 2441: { return __builtin_isless(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename 2441: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 2441: && __is_arithmetic<_Up>::__value), bool>::__type 2441: isless(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return __builtin_isless(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr bool 2441: islessequal(float __x, float __y) 2441: { return __builtin_islessequal(__x, __y); } 2441: 2441: constexpr bool 2441: islessequal(double __x, double __y) 2441: { return __builtin_islessequal(__x, __y); } 2441: 2441: constexpr bool 2441: islessequal(long double __x, long double __y) 2441: { return __builtin_islessequal(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename 2441: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 2441: && __is_arithmetic<_Up>::__value), bool>::__type 2441: islessequal(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return __builtin_islessequal(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr bool 2441: islessgreater(float __x, float __y) 2441: { return __builtin_islessgreater(__x, __y); } 2441: 2441: constexpr bool 2441: islessgreater(double __x, double __y) 2441: { return __builtin_islessgreater(__x, __y); } 2441: 2441: constexpr bool 2441: islessgreater(long double __x, long double __y) 2441: { return __builtin_islessgreater(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename 2441: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 2441: && __is_arithmetic<_Up>::__value), bool>::__type 2441: islessgreater(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return __builtin_islessgreater(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr bool 2441: isunordered(float __x, float __y) 2441: { return __builtin_isunordered(__x, __y); } 2441: 2441: constexpr bool 2441: isunordered(double __x, double __y) 2441: { return __builtin_isunordered(__x, __y); } 2441: 2441: constexpr bool 2441: isunordered(long double __x, long double __y) 2441: { return __builtin_isunordered(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename 2441: __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value 2441: && __is_arithmetic<_Up>::__value), bool>::__type 2441: isunordered(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return __builtin_isunordered(__type(__x), __type(__y)); 2441: } 2441: # 1065 "/usr/include/c++/8/cmath" 3 2441: using ::double_t; 2441: using ::float_t; 2441: 2441: 2441: using ::acosh; 2441: using ::acoshf; 2441: using ::acoshl; 2441: 2441: using ::asinh; 2441: using ::asinhf; 2441: using ::asinhl; 2441: 2441: using ::atanh; 2441: using ::atanhf; 2441: using ::atanhl; 2441: 2441: using ::cbrt; 2441: using ::cbrtf; 2441: using ::cbrtl; 2441: 2441: using ::copysign; 2441: using ::copysignf; 2441: using ::copysignl; 2441: 2441: using ::erf; 2441: using ::erff; 2441: using ::erfl; 2441: 2441: using ::erfc; 2441: using ::erfcf; 2441: using ::erfcl; 2441: 2441: using ::exp2; 2441: using ::exp2f; 2441: using ::exp2l; 2441: 2441: using ::expm1; 2441: using ::expm1f; 2441: using ::expm1l; 2441: 2441: using ::fdim; 2441: using ::fdimf; 2441: using ::fdiml; 2441: 2441: using ::fma; 2441: using ::fmaf; 2441: using ::fmal; 2441: 2441: using ::fmax; 2441: using ::fmaxf; 2441: using ::fmaxl; 2441: 2441: using ::fmin; 2441: using ::fminf; 2441: using ::fminl; 2441: 2441: using ::hypot; 2441: using ::hypotf; 2441: using ::hypotl; 2441: 2441: using ::ilogb; 2441: using ::ilogbf; 2441: using ::ilogbl; 2441: 2441: using ::lgamma; 2441: using ::lgammaf; 2441: using ::lgammal; 2441: 2441: 2441: using ::llrint; 2441: using ::llrintf; 2441: using ::llrintl; 2441: 2441: using ::llround; 2441: using ::llroundf; 2441: using ::llroundl; 2441: 2441: 2441: using ::log1p; 2441: using ::log1pf; 2441: using ::log1pl; 2441: 2441: using ::log2; 2441: using ::log2f; 2441: using ::log2l; 2441: 2441: using ::logb; 2441: using ::logbf; 2441: using ::logbl; 2441: 2441: using ::lrint; 2441: using ::lrintf; 2441: using ::lrintl; 2441: 2441: using ::lround; 2441: using ::lroundf; 2441: using ::lroundl; 2441: 2441: using ::nan; 2441: using ::nanf; 2441: using ::nanl; 2441: 2441: using ::nearbyint; 2441: using ::nearbyintf; 2441: using ::nearbyintl; 2441: 2441: using ::nextafter; 2441: using ::nextafterf; 2441: using ::nextafterl; 2441: 2441: using ::nexttoward; 2441: using ::nexttowardf; 2441: using ::nexttowardl; 2441: 2441: using ::remainder; 2441: using ::remainderf; 2441: using ::remainderl; 2441: 2441: using ::remquo; 2441: using ::remquof; 2441: using ::remquol; 2441: 2441: using ::rint; 2441: using ::rintf; 2441: using ::rintl; 2441: 2441: using ::round; 2441: using ::roundf; 2441: using ::roundl; 2441: 2441: using ::scalbln; 2441: using ::scalblnf; 2441: using ::scalblnl; 2441: 2441: using ::scalbn; 2441: using ::scalbnf; 2441: using ::scalbnl; 2441: 2441: using ::tgamma; 2441: using ::tgammaf; 2441: using ::tgammal; 2441: 2441: using ::trunc; 2441: using ::truncf; 2441: using ::truncl; 2441: 2441: 2441: 2441: constexpr float 2441: acosh(float __x) 2441: { return __builtin_acoshf(__x); } 2441: 2441: constexpr long double 2441: acosh(long double __x) 2441: { return __builtin_acoshl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: acosh(_Tp __x) 2441: { return __builtin_acosh(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: asinh(float __x) 2441: { return __builtin_asinhf(__x); } 2441: 2441: constexpr long double 2441: asinh(long double __x) 2441: { return __builtin_asinhl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: asinh(_Tp __x) 2441: { return __builtin_asinh(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: atanh(float __x) 2441: { return __builtin_atanhf(__x); } 2441: 2441: constexpr long double 2441: atanh(long double __x) 2441: { return __builtin_atanhl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: atanh(_Tp __x) 2441: { return __builtin_atanh(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: cbrt(float __x) 2441: { return __builtin_cbrtf(__x); } 2441: 2441: constexpr long double 2441: cbrt(long double __x) 2441: { return __builtin_cbrtl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: cbrt(_Tp __x) 2441: { return __builtin_cbrt(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: copysign(float __x, float __y) 2441: { return __builtin_copysignf(__x, __y); } 2441: 2441: constexpr long double 2441: copysign(long double __x, long double __y) 2441: { return __builtin_copysignl(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: copysign(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return copysign(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr float 2441: erf(float __x) 2441: { return __builtin_erff(__x); } 2441: 2441: constexpr long double 2441: erf(long double __x) 2441: { return __builtin_erfl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: erf(_Tp __x) 2441: { return __builtin_erf(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: erfc(float __x) 2441: { return __builtin_erfcf(__x); } 2441: 2441: constexpr long double 2441: erfc(long double __x) 2441: { return __builtin_erfcl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: erfc(_Tp __x) 2441: { return __builtin_erfc(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: exp2(float __x) 2441: { return __builtin_exp2f(__x); } 2441: 2441: constexpr long double 2441: exp2(long double __x) 2441: { return __builtin_exp2l(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: exp2(_Tp __x) 2441: { return __builtin_exp2(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: expm1(float __x) 2441: { return __builtin_expm1f(__x); } 2441: 2441: constexpr long double 2441: expm1(long double __x) 2441: { return __builtin_expm1l(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: expm1(_Tp __x) 2441: { return __builtin_expm1(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: fdim(float __x, float __y) 2441: { return __builtin_fdimf(__x, __y); } 2441: 2441: constexpr long double 2441: fdim(long double __x, long double __y) 2441: { return __builtin_fdiml(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: fdim(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return fdim(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr float 2441: fma(float __x, float __y, float __z) 2441: { return __builtin_fmaf(__x, __y, __z); } 2441: 2441: constexpr long double 2441: fma(long double __x, long double __y, long double __z) 2441: { return __builtin_fmal(__x, __y, __z); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type 2441: fma(_Tp __x, _Up __y, _Vp __z) 2441: { 2441: typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type; 2441: return fma(__type(__x), __type(__y), __type(__z)); 2441: } 2441: 2441: 2441: 2441: constexpr float 2441: fmax(float __x, float __y) 2441: { return __builtin_fmaxf(__x, __y); } 2441: 2441: constexpr long double 2441: fmax(long double __x, long double __y) 2441: { return __builtin_fmaxl(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: fmax(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return fmax(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr float 2441: fmin(float __x, float __y) 2441: { return __builtin_fminf(__x, __y); } 2441: 2441: constexpr long double 2441: fmin(long double __x, long double __y) 2441: { return __builtin_fminl(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: fmin(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return fmin(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr float 2441: hypot(float __x, float __y) 2441: { return __builtin_hypotf(__x, __y); } 2441: 2441: constexpr long double 2441: hypot(long double __x, long double __y) 2441: { return __builtin_hypotl(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: hypot(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return hypot(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr int 2441: ilogb(float __x) 2441: { return __builtin_ilogbf(__x); } 2441: 2441: constexpr int 2441: ilogb(long double __x) 2441: { return __builtin_ilogbl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr 2441: typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: int>::__type 2441: ilogb(_Tp __x) 2441: { return __builtin_ilogb(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: lgamma(float __x) 2441: { return __builtin_lgammaf(__x); } 2441: 2441: constexpr long double 2441: lgamma(long double __x) 2441: { return __builtin_lgammal(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: lgamma(_Tp __x) 2441: { return __builtin_lgamma(__x); } 2441: 2441: 2441: 2441: constexpr long long 2441: llrint(float __x) 2441: { return __builtin_llrintf(__x); } 2441: 2441: constexpr long long 2441: llrint(long double __x) 2441: { return __builtin_llrintl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: long long>::__type 2441: llrint(_Tp __x) 2441: { return __builtin_llrint(__x); } 2441: 2441: 2441: 2441: constexpr long long 2441: llround(float __x) 2441: { return __builtin_llroundf(__x); } 2441: 2441: constexpr long long 2441: llround(long double __x) 2441: { return __builtin_llroundl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: long long>::__type 2441: llround(_Tp __x) 2441: { return __builtin_llround(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: log1p(float __x) 2441: { return __builtin_log1pf(__x); } 2441: 2441: constexpr long double 2441: log1p(long double __x) 2441: { return __builtin_log1pl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: log1p(_Tp __x) 2441: { return __builtin_log1p(__x); } 2441: 2441: 2441: 2441: 2441: constexpr float 2441: log2(float __x) 2441: { return __builtin_log2f(__x); } 2441: 2441: constexpr long double 2441: log2(long double __x) 2441: { return __builtin_log2l(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: log2(_Tp __x) 2441: { return __builtin_log2(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: logb(float __x) 2441: { return __builtin_logbf(__x); } 2441: 2441: constexpr long double 2441: logb(long double __x) 2441: { return __builtin_logbl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: logb(_Tp __x) 2441: { return __builtin_logb(__x); } 2441: 2441: 2441: 2441: constexpr long 2441: lrint(float __x) 2441: { return __builtin_lrintf(__x); } 2441: 2441: constexpr long 2441: lrint(long double __x) 2441: { return __builtin_lrintl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: long>::__type 2441: lrint(_Tp __x) 2441: { return __builtin_lrint(__x); } 2441: 2441: 2441: 2441: constexpr long 2441: lround(float __x) 2441: { return __builtin_lroundf(__x); } 2441: 2441: constexpr long 2441: lround(long double __x) 2441: { return __builtin_lroundl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: long>::__type 2441: lround(_Tp __x) 2441: { return __builtin_lround(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: nearbyint(float __x) 2441: { return __builtin_nearbyintf(__x); } 2441: 2441: constexpr long double 2441: nearbyint(long double __x) 2441: { return __builtin_nearbyintl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: nearbyint(_Tp __x) 2441: { return __builtin_nearbyint(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: nextafter(float __x, float __y) 2441: { return __builtin_nextafterf(__x, __y); } 2441: 2441: constexpr long double 2441: nextafter(long double __x, long double __y) 2441: { return __builtin_nextafterl(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: nextafter(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return nextafter(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: constexpr float 2441: nexttoward(float __x, long double __y) 2441: { return __builtin_nexttowardf(__x, __y); } 2441: 2441: constexpr long double 2441: nexttoward(long double __x, long double __y) 2441: { return __builtin_nexttowardl(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: nexttoward(_Tp __x, long double __y) 2441: { return __builtin_nexttoward(__x, __y); } 2441: 2441: 2441: 2441: constexpr float 2441: remainder(float __x, float __y) 2441: { return __builtin_remainderf(__x, __y); } 2441: 2441: constexpr long double 2441: remainder(long double __x, long double __y) 2441: { return __builtin_remainderl(__x, __y); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: remainder(_Tp __x, _Up __y) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return remainder(__type(__x), __type(__y)); 2441: } 2441: 2441: 2441: 2441: inline float 2441: remquo(float __x, float __y, int* __pquo) 2441: { return __builtin_remquof(__x, __y, __pquo); } 2441: 2441: inline long double 2441: remquo(long double __x, long double __y, int* __pquo) 2441: { return __builtin_remquol(__x, __y, __pquo); } 2441: 2441: 2441: 2441: template 2441: inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type 2441: remquo(_Tp __x, _Up __y, int* __pquo) 2441: { 2441: typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; 2441: return remquo(__type(__x), __type(__y), __pquo); 2441: } 2441: 2441: 2441: 2441: constexpr float 2441: rint(float __x) 2441: { return __builtin_rintf(__x); } 2441: 2441: constexpr long double 2441: rint(long double __x) 2441: { return __builtin_rintl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: rint(_Tp __x) 2441: { return __builtin_rint(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: round(float __x) 2441: { return __builtin_roundf(__x); } 2441: 2441: constexpr long double 2441: round(long double __x) 2441: { return __builtin_roundl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: round(_Tp __x) 2441: { return __builtin_round(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: scalbln(float __x, long __ex) 2441: { return __builtin_scalblnf(__x, __ex); } 2441: 2441: constexpr long double 2441: scalbln(long double __x, long __ex) 2441: { return __builtin_scalblnl(__x, __ex); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: scalbln(_Tp __x, long __ex) 2441: { return __builtin_scalbln(__x, __ex); } 2441: 2441: 2441: 2441: constexpr float 2441: scalbn(float __x, int __ex) 2441: { return __builtin_scalbnf(__x, __ex); } 2441: 2441: constexpr long double 2441: scalbn(long double __x, int __ex) 2441: { return __builtin_scalbnl(__x, __ex); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: scalbn(_Tp __x, int __ex) 2441: { return __builtin_scalbn(__x, __ex); } 2441: 2441: 2441: 2441: constexpr float 2441: tgamma(float __x) 2441: { return __builtin_tgammaf(__x); } 2441: 2441: constexpr long double 2441: tgamma(long double __x) 2441: { return __builtin_tgammal(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: tgamma(_Tp __x) 2441: { return __builtin_tgamma(__x); } 2441: 2441: 2441: 2441: constexpr float 2441: trunc(float __x) 2441: { return __builtin_truncf(__x); } 2441: 2441: constexpr long double 2441: trunc(long double __x) 2441: { return __builtin_truncl(__x); } 2441: 2441: 2441: 2441: template 2441: constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 2441: double>::__type 2441: trunc(_Tp __x) 2441: { return __builtin_trunc(__x); } 2441: # 1888 "/usr/include/c++/8/cmath" 3 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 35 "../../src/Float_defs.hh" 2 2441: # 1 "/usr/include/c++/8/map" 1 3 2441: # 58 "/usr/include/c++/8/map" 3 2441: 2441: # 59 "/usr/include/c++/8/map" 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/stl_map.h" 1 3 2441: # 63 "/usr/include/c++/8/bits/stl_map.h" 3 2441: # 1 "/usr/include/c++/8/tuple" 1 3 2441: # 32 "/usr/include/c++/8/tuple" 3 2441: 2441: # 33 "/usr/include/c++/8/tuple" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/array" 1 3 2441: # 32 "/usr/include/c++/8/array" 3 2441: 2441: # 33 "/usr/include/c++/8/array" 3 2441: # 43 "/usr/include/c++/8/array" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: struct __array_traits 2441: { 2441: typedef _Tp _Type[_Nm]; 2441: typedef __is_swappable<_Tp> _Is_swappable; 2441: typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable; 2441: 2441: static constexpr _Tp& 2441: _S_ref(const _Type& __t, std::size_t __n) noexcept 2441: { return const_cast<_Tp&>(__t[__n]); } 2441: 2441: static constexpr _Tp* 2441: _S_ptr(const _Type& __t) noexcept 2441: { return const_cast<_Tp*>(__t); } 2441: }; 2441: 2441: template 2441: struct __array_traits<_Tp, 0> 2441: { 2441: struct _Type { }; 2441: typedef true_type _Is_swappable; 2441: typedef true_type _Is_nothrow_swappable; 2441: 2441: static constexpr _Tp& 2441: _S_ref(const _Type&, std::size_t) noexcept 2441: { return *static_cast<_Tp*>(nullptr); } 2441: 2441: static constexpr _Tp* 2441: _S_ptr(const _Type&) noexcept 2441: { return nullptr; } 2441: }; 2441: # 93 "/usr/include/c++/8/array" 3 2441: template 2441: struct array 2441: { 2441: typedef _Tp value_type; 2441: typedef value_type* pointer; 2441: typedef const value_type* const_pointer; 2441: typedef value_type& reference; 2441: typedef const value_type& const_reference; 2441: typedef value_type* iterator; 2441: typedef const value_type* const_iterator; 2441: typedef std::size_t size_type; 2441: typedef std::ptrdiff_t difference_type; 2441: typedef std::reverse_iterator reverse_iterator; 2441: typedef std::reverse_iterator const_reverse_iterator; 2441: 2441: 2441: typedef std::__array_traits<_Tp, _Nm> _AT_Type; 2441: typename _AT_Type::_Type _M_elems; 2441: 2441: 2441: 2441: 2441: void 2441: fill(const value_type& __u) 2441: { std::fill_n(begin(), size(), __u); } 2441: 2441: void 2441: swap(array& __other) 2441: noexcept(_AT_Type::_Is_nothrow_swappable::value) 2441: { std::swap_ranges(begin(), end(), __other.begin()); } 2441: 2441: 2441: iterator 2441: begin() noexcept 2441: { return iterator(data()); } 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return const_iterator(data()); } 2441: 2441: iterator 2441: end() noexcept 2441: { return iterator(data() + _Nm); } 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return const_iterator(data() + _Nm); } 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return reverse_iterator(end()); } 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return const_reverse_iterator(end()); } 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return reverse_iterator(begin()); } 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return const_reverse_iterator(begin()); } 2441: 2441: const_iterator 2441: cbegin() const noexcept 2441: { return const_iterator(data()); } 2441: 2441: const_iterator 2441: cend() const noexcept 2441: { return const_iterator(data() + _Nm); } 2441: 2441: const_reverse_iterator 2441: crbegin() const noexcept 2441: { return const_reverse_iterator(end()); } 2441: 2441: const_reverse_iterator 2441: crend() const noexcept 2441: { return const_reverse_iterator(begin()); } 2441: 2441: 2441: constexpr size_type 2441: size() const noexcept { return _Nm; } 2441: 2441: constexpr size_type 2441: max_size() const noexcept { return _Nm; } 2441: 2441: constexpr bool 2441: empty() const noexcept { return size() == 0; } 2441: 2441: 2441: reference 2441: operator[](size_type __n) noexcept 2441: { return _AT_Type::_S_ref(_M_elems, __n); } 2441: 2441: constexpr const_reference 2441: operator[](size_type __n) const noexcept 2441: { return _AT_Type::_S_ref(_M_elems, __n); } 2441: 2441: reference 2441: at(size_type __n) 2441: { 2441: if (__n >= _Nm) 2441: std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 2441: , 2441: __n, _Nm); 2441: return _AT_Type::_S_ref(_M_elems, __n); 2441: } 2441: 2441: constexpr const_reference 2441: at(size_type __n) const 2441: { 2441: 2441: 2441: return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n) 2441: : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 2441: , 2441: __n, _Nm), 2441: _AT_Type::_S_ref(_M_elems, 0)); 2441: } 2441: 2441: reference 2441: front() noexcept 2441: { return *begin(); } 2441: 2441: constexpr const_reference 2441: front() const noexcept 2441: { return _AT_Type::_S_ref(_M_elems, 0); } 2441: 2441: reference 2441: back() noexcept 2441: { return _Nm ? *(end() - 1) : *end(); } 2441: 2441: constexpr const_reference 2441: back() const noexcept 2441: { 2441: return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) 2441: : _AT_Type::_S_ref(_M_elems, 0); 2441: } 2441: 2441: pointer 2441: data() noexcept 2441: { return _AT_Type::_S_ptr(_M_elems); } 2441: 2441: const_pointer 2441: data() const noexcept 2441: { return _AT_Type::_S_ptr(_M_elems); } 2441: }; 2441: # 250 "/usr/include/c++/8/array" 3 2441: template 2441: inline bool 2441: operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 2441: { return std::equal(__one.begin(), __one.end(), __two.begin()); } 2441: 2441: template 2441: inline bool 2441: operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 2441: { return !(__one == __two); } 2441: 2441: template 2441: inline bool 2441: operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) 2441: { 2441: return std::lexicographical_compare(__a.begin(), __a.end(), 2441: __b.begin(), __b.end()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 2441: { return __two < __one; } 2441: 2441: template 2441: inline bool 2441: operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 2441: { return !(__one > __two); } 2441: 2441: template 2441: inline bool 2441: operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 2441: { return !(__one < __two); } 2441: 2441: 2441: template 2441: inline 2441: 2441: 2441: typename enable_if< 2441: std::__array_traits<_Tp, _Nm>::_Is_swappable::value 2441: >::type 2441: 2441: 2441: 2441: swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) 2441: noexcept(noexcept(__one.swap(__two))) 2441: { __one.swap(__two); } 2441: 2441: 2441: template 2441: typename enable_if< 2441: !std::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type 2441: swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete; 2441: 2441: 2441: template 2441: constexpr _Tp& 2441: get(array<_Tp, _Nm>& __arr) noexcept 2441: { 2441: static_assert(_Int < _Nm, "array index is within bounds"); 2441: return std::__array_traits<_Tp, _Nm>:: 2441: _S_ref(__arr._M_elems, _Int); 2441: } 2441: 2441: template 2441: constexpr _Tp&& 2441: get(array<_Tp, _Nm>&& __arr) noexcept 2441: { 2441: static_assert(_Int < _Nm, "array index is within bounds"); 2441: return std::move(std::get<_Int>(__arr)); 2441: } 2441: 2441: template 2441: constexpr const _Tp& 2441: get(const array<_Tp, _Nm>& __arr) noexcept 2441: { 2441: static_assert(_Int < _Nm, "array index is within bounds"); 2441: return std::__array_traits<_Tp, _Nm>:: 2441: _S_ref(__arr._M_elems, _Int); 2441: } 2441: 2441: template 2441: constexpr const _Tp&& 2441: get(const array<_Tp, _Nm>&& __arr) noexcept 2441: { 2441: static_assert(_Int < _Nm, "array index is within bounds"); 2441: return std::move(std::get<_Int>(__arr)); 2441: } 2441: 2441: 2441: } 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct tuple_size; 2441: 2441: 2441: template 2441: struct tuple_size> 2441: : public integral_constant { }; 2441: 2441: 2441: template 2441: struct tuple_element; 2441: 2441: 2441: template 2441: struct tuple_element<_Int, std::array<_Tp, _Nm>> 2441: { 2441: static_assert(_Int < _Nm, "index is out of bounds"); 2441: typedef _Tp type; 2441: }; 2441: 2441: template 2441: struct __is_tuple_like_impl> : true_type 2441: { }; 2441: 2441: 2441: } 2441: # 40 "/usr/include/c++/8/tuple" 2 3 2441: # 1 "/usr/include/c++/8/bits/uses_allocator.h" 1 3 2441: # 35 "/usr/include/c++/8/bits/uses_allocator.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: struct __erased_type { }; 2441: 2441: template 2441: using __is_erased_or_convertible 2441: = __or_, is_convertible<_Alloc, _Tp>>; 2441: 2441: 2441: struct allocator_arg_t { explicit allocator_arg_t() = default; }; 2441: 2441: constexpr allocator_arg_t allocator_arg = 2441: allocator_arg_t(); 2441: 2441: template> 2441: struct __uses_allocator_helper 2441: : false_type { }; 2441: 2441: template 2441: struct __uses_allocator_helper<_Tp, _Alloc, 2441: __void_t> 2441: : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type 2441: { }; 2441: 2441: 2441: template 2441: struct uses_allocator 2441: : __uses_allocator_helper<_Tp, _Alloc>::type 2441: { }; 2441: 2441: struct __uses_alloc_base { }; 2441: 2441: struct __uses_alloc0 : __uses_alloc_base 2441: { 2441: struct _Sink { void operator=(const void*) { } } _M_a; 2441: }; 2441: 2441: template 2441: struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; 2441: 2441: template 2441: struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; 2441: 2441: template 2441: struct __uses_alloc; 2441: 2441: template 2441: struct __uses_alloc 2441: : conditional< 2441: is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value, 2441: __uses_alloc1<_Alloc>, 2441: __uses_alloc2<_Alloc>>::type 2441: { 2441: static_assert(__or_< 2441: is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>, 2441: is_constructible<_Tp, _Args..., _Alloc>>::value, "construction with" 2441: " an allocator must be possible if uses_allocator is true"); 2441: }; 2441: 2441: template 2441: struct __uses_alloc 2441: : __uses_alloc0 { }; 2441: 2441: template 2441: using __uses_alloc_t = 2441: __uses_alloc::value, _Tp, _Alloc, _Args...>; 2441: 2441: template 2441: inline __uses_alloc_t<_Tp, _Alloc, _Args...> 2441: __use_alloc(const _Alloc& __a) 2441: { 2441: __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; 2441: __ret._M_a = std::__addressof(__a); 2441: return __ret; 2441: } 2441: 2441: template 2441: void 2441: __use_alloc(const _Alloc&&) = delete; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template class _Predicate, 2441: typename _Tp, typename _Alloc, typename... _Args> 2441: struct __is_uses_allocator_predicate 2441: : conditional::value, 2441: __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, 2441: _Predicate<_Tp, _Args..., _Alloc>>, 2441: _Predicate<_Tp, _Args...>>::type { }; 2441: 2441: template 2441: struct __is_uses_allocator_constructible 2441: : __is_uses_allocator_predicate 2441: { }; 2441: 2441: 2441: template 2441: constexpr bool __is_uses_allocator_constructible_v = 2441: __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; 2441: 2441: 2441: template 2441: struct __is_nothrow_uses_allocator_constructible 2441: : __is_uses_allocator_predicate 2441: { }; 2441: 2441: 2441: 2441: template 2441: constexpr bool 2441: __is_nothrow_uses_allocator_constructible_v = 2441: __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; 2441: 2441: 2441: template 2441: void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr, 2441: _Args&&... __args) 2441: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } 2441: 2441: template 2441: void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, 2441: _Args&&... __args) 2441: { 2441: ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: template 2441: void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, 2441: _Args&&... __args) 2441: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } 2441: 2441: template 2441: void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, 2441: _Args&&... __args) 2441: { 2441: __uses_allocator_construct_impl(__use_alloc<_Tp, _Alloc, _Args...>(__a), 2441: __ptr, std::forward<_Args>(__args)...); 2441: } 2441: 2441: 2441: } 2441: # 41 "/usr/include/c++/8/tuple" 2 3 2441: # 1 "/usr/include/c++/8/bits/invoke.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/invoke.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/invoke.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 52 "/usr/include/c++/8/bits/invoke.h" 3 2441: template::type> 2441: constexpr _Up&& 2441: __invfwd(typename remove_reference<_Tp>::type& __t) noexcept 2441: { return static_cast<_Up&&>(__t); } 2441: 2441: template 2441: constexpr _Res 2441: __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) 2441: { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } 2441: 2441: template 2441: constexpr _Res 2441: __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, 2441: _Args&&... __args) 2441: { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } 2441: 2441: template 2441: constexpr _Res 2441: __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, 2441: _Args&&... __args) 2441: { 2441: return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); 2441: } 2441: 2441: template 2441: constexpr _Res 2441: __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) 2441: { return __invfwd<_Tp>(__t).*__f; } 2441: 2441: template 2441: constexpr _Res 2441: __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) 2441: { return (*std::forward<_Tp>(__t)).*__f; } 2441: 2441: 2441: template 2441: constexpr typename __invoke_result<_Callable, _Args...>::type 2441: __invoke(_Callable&& __fn, _Args&&... __args) 2441: noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) 2441: { 2441: using __result = __invoke_result<_Callable, _Args...>; 2441: using __type = typename __result::type; 2441: using __tag = typename __result::__invoke_type; 2441: return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: 2441: } 2441: # 42 "/usr/include/c++/8/tuple" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class tuple; 2441: 2441: template 2441: struct __is_empty_non_tuple : is_empty<_Tp> { }; 2441: 2441: 2441: template 2441: struct __is_empty_non_tuple> : false_type { }; 2441: 2441: 2441: template 2441: using __empty_not_final 2441: = typename conditional<__is_final(_Tp), false_type, 2441: __is_empty_non_tuple<_Tp>>::type; 2441: 2441: template::value> 2441: struct _Head_base; 2441: 2441: template 2441: struct _Head_base<_Idx, _Head, true> 2441: : public _Head 2441: { 2441: constexpr _Head_base() 2441: : _Head() { } 2441: 2441: constexpr _Head_base(const _Head& __h) 2441: : _Head(__h) { } 2441: 2441: constexpr _Head_base(const _Head_base&) = default; 2441: constexpr _Head_base(_Head_base&&) = default; 2441: 2441: template 2441: constexpr _Head_base(_UHead&& __h) 2441: : _Head(std::forward<_UHead>(__h)) { } 2441: 2441: _Head_base(allocator_arg_t, __uses_alloc0) 2441: : _Head() { } 2441: 2441: template 2441: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 2441: : _Head(allocator_arg, *__a._M_a) { } 2441: 2441: template 2441: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 2441: : _Head(*__a._M_a) { } 2441: 2441: template 2441: _Head_base(__uses_alloc0, _UHead&& __uhead) 2441: : _Head(std::forward<_UHead>(__uhead)) { } 2441: 2441: template 2441: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 2441: : _Head(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { } 2441: 2441: template 2441: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 2441: : _Head(std::forward<_UHead>(__uhead), *__a._M_a) { } 2441: 2441: static constexpr _Head& 2441: _M_head(_Head_base& __b) noexcept { return __b; } 2441: 2441: static constexpr const _Head& 2441: _M_head(const _Head_base& __b) noexcept { return __b; } 2441: }; 2441: 2441: template 2441: struct _Head_base<_Idx, _Head, false> 2441: { 2441: constexpr _Head_base() 2441: : _M_head_impl() { } 2441: 2441: constexpr _Head_base(const _Head& __h) 2441: : _M_head_impl(__h) { } 2441: 2441: constexpr _Head_base(const _Head_base&) = default; 2441: constexpr _Head_base(_Head_base&&) = default; 2441: 2441: template 2441: constexpr _Head_base(_UHead&& __h) 2441: : _M_head_impl(std::forward<_UHead>(__h)) { } 2441: 2441: _Head_base(allocator_arg_t, __uses_alloc0) 2441: : _M_head_impl() { } 2441: 2441: template 2441: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 2441: : _M_head_impl(allocator_arg, *__a._M_a) { } 2441: 2441: template 2441: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 2441: : _M_head_impl(*__a._M_a) { } 2441: 2441: template 2441: _Head_base(__uses_alloc0, _UHead&& __uhead) 2441: : _M_head_impl(std::forward<_UHead>(__uhead)) { } 2441: 2441: template 2441: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 2441: : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) 2441: { } 2441: 2441: template 2441: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 2441: : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } 2441: 2441: static constexpr _Head& 2441: _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } 2441: 2441: static constexpr const _Head& 2441: _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } 2441: 2441: _Head _M_head_impl; 2441: }; 2441: # 176 "/usr/include/c++/8/tuple" 3 2441: template 2441: struct _Tuple_impl; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct _Tuple_impl<_Idx, _Head, _Tail...> 2441: : public _Tuple_impl<_Idx + 1, _Tail...>, 2441: private _Head_base<_Idx, _Head> 2441: { 2441: template friend class _Tuple_impl; 2441: 2441: typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; 2441: typedef _Head_base<_Idx, _Head> _Base; 2441: 2441: static constexpr _Head& 2441: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 2441: 2441: static constexpr const _Head& 2441: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 2441: 2441: static constexpr _Inherited& 2441: _M_tail(_Tuple_impl& __t) noexcept { return __t; } 2441: 2441: static constexpr const _Inherited& 2441: _M_tail(const _Tuple_impl& __t) noexcept { return __t; } 2441: 2441: constexpr _Tuple_impl() 2441: : _Inherited(), _Base() { } 2441: 2441: explicit 2441: constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail) 2441: : _Inherited(__tail...), _Base(__head) { } 2441: 2441: template::type> 2441: explicit 2441: constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) 2441: : _Inherited(std::forward<_UTail>(__tail)...), 2441: _Base(std::forward<_UHead>(__head)) { } 2441: 2441: constexpr _Tuple_impl(const _Tuple_impl&) = default; 2441: 2441: constexpr 2441: _Tuple_impl(_Tuple_impl&& __in) 2441: noexcept(__and_, 2441: is_nothrow_move_constructible<_Inherited>>::value) 2441: : _Inherited(std::move(_M_tail(__in))), 2441: _Base(std::forward<_Head>(_M_head(__in))) { } 2441: 2441: template 2441: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) 2441: : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), 2441: _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } 2441: 2441: template 2441: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 2441: : _Inherited(std::move 2441: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 2441: _Base(std::forward<_UHead> 2441: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 2441: : _Inherited(__tag, __a), 2441: _Base(__tag, __use_alloc<_Head>(__a)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Head& __head, const _Tail&... __tail) 2441: : _Inherited(__tag, __a, __tail...), 2441: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 2441: 2441: template::type> 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: _UHead&& __head, _UTail&&... __tail) 2441: : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), 2441: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 2441: std::forward<_UHead>(__head)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Tuple_impl& __in) 2441: : _Inherited(__tag, __a, _M_tail(__in)), 2441: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: _Tuple_impl&& __in) 2441: : _Inherited(__tag, __a, std::move(_M_tail(__in))), 2441: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 2441: std::forward<_Head>(_M_head(__in))) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Tuple_impl<_Idx, _UElements...>& __in) 2441: : _Inherited(__tag, __a, 2441: _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), 2441: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 2441: _Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 2441: : _Inherited(__tag, __a, std::move 2441: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 2441: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 2441: std::forward<_UHead> 2441: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 2441: 2441: _Tuple_impl& 2441: operator=(const _Tuple_impl& __in) 2441: { 2441: _M_head(*this) = _M_head(__in); 2441: _M_tail(*this) = _M_tail(__in); 2441: return *this; 2441: } 2441: 2441: _Tuple_impl& 2441: operator=(_Tuple_impl&& __in) 2441: noexcept(__and_, 2441: is_nothrow_move_assignable<_Inherited>>::value) 2441: { 2441: _M_head(*this) = std::forward<_Head>(_M_head(__in)); 2441: _M_tail(*this) = std::move(_M_tail(__in)); 2441: return *this; 2441: } 2441: 2441: template 2441: _Tuple_impl& 2441: operator=(const _Tuple_impl<_Idx, _UElements...>& __in) 2441: { 2441: _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); 2441: _M_tail(*this) = _Tuple_impl<_Idx, _UElements...>::_M_tail(__in); 2441: return *this; 2441: } 2441: 2441: template 2441: _Tuple_impl& 2441: operator=(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 2441: { 2441: _M_head(*this) = std::forward<_UHead> 2441: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); 2441: _M_tail(*this) = std::move 2441: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)); 2441: return *this; 2441: } 2441: 2441: protected: 2441: void 2441: _M_swap(_Tuple_impl& __in) 2441: noexcept(__is_nothrow_swappable<_Head>::value 2441: && noexcept(_M_tail(__in)._M_swap(_M_tail(__in)))) 2441: { 2441: using std::swap; 2441: swap(_M_head(*this), _M_head(__in)); 2441: _Inherited::_M_swap(_M_tail(__in)); 2441: } 2441: }; 2441: 2441: 2441: template 2441: struct _Tuple_impl<_Idx, _Head> 2441: : private _Head_base<_Idx, _Head> 2441: { 2441: template friend class _Tuple_impl; 2441: 2441: typedef _Head_base<_Idx, _Head> _Base; 2441: 2441: static constexpr _Head& 2441: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 2441: 2441: static constexpr const _Head& 2441: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 2441: 2441: constexpr _Tuple_impl() 2441: : _Base() { } 2441: 2441: explicit 2441: constexpr _Tuple_impl(const _Head& __head) 2441: : _Base(__head) { } 2441: 2441: template 2441: explicit 2441: constexpr _Tuple_impl(_UHead&& __head) 2441: : _Base(std::forward<_UHead>(__head)) { } 2441: 2441: constexpr _Tuple_impl(const _Tuple_impl&) = default; 2441: 2441: constexpr 2441: _Tuple_impl(_Tuple_impl&& __in) 2441: noexcept(is_nothrow_move_constructible<_Head>::value) 2441: : _Base(std::forward<_Head>(_M_head(__in))) { } 2441: 2441: template 2441: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) 2441: : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 2441: 2441: template 2441: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) 2441: : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 2441: { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 2441: : _Base(__tag, __use_alloc<_Head>(__a)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Head& __head) 2441: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: _UHead&& __head) 2441: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 2441: std::forward<_UHead>(__head)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Tuple_impl& __in) 2441: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: _Tuple_impl&& __in) 2441: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 2441: std::forward<_Head>(_M_head(__in))) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Tuple_impl<_Idx, _UHead>& __in) 2441: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 2441: _Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 2441: 2441: template 2441: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 2441: _Tuple_impl<_Idx, _UHead>&& __in) 2441: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 2441: std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 2441: { } 2441: 2441: _Tuple_impl& 2441: operator=(const _Tuple_impl& __in) 2441: { 2441: _M_head(*this) = _M_head(__in); 2441: return *this; 2441: } 2441: 2441: _Tuple_impl& 2441: operator=(_Tuple_impl&& __in) 2441: noexcept(is_nothrow_move_assignable<_Head>::value) 2441: { 2441: _M_head(*this) = std::forward<_Head>(_M_head(__in)); 2441: return *this; 2441: } 2441: 2441: template 2441: _Tuple_impl& 2441: operator=(const _Tuple_impl<_Idx, _UHead>& __in) 2441: { 2441: _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); 2441: return *this; 2441: } 2441: 2441: template 2441: _Tuple_impl& 2441: operator=(_Tuple_impl<_Idx, _UHead>&& __in) 2441: { 2441: _M_head(*this) 2441: = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); 2441: return *this; 2441: } 2441: 2441: protected: 2441: void 2441: _M_swap(_Tuple_impl& __in) 2441: noexcept(__is_nothrow_swappable<_Head>::value) 2441: { 2441: using std::swap; 2441: swap(_M_head(*this), _M_head(__in)); 2441: } 2441: }; 2441: 2441: 2441: 2441: template 2441: struct _TC 2441: { 2441: template 2441: static constexpr bool _ConstructibleTuple() 2441: { 2441: return __and_...>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyConvertibleTuple() 2441: { 2441: return __and_...>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _MoveConstructibleTuple() 2441: { 2441: return __and_...>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyMoveConvertibleTuple() 2441: { 2441: return __and_...>::value; 2441: } 2441: 2441: template 2441: static constexpr bool _NonNestedTuple() 2441: { 2441: return __and_<__not_, 2441: typename remove_cv< 2441: typename remove_reference<_SrcTuple>::type 2441: >::type>>, 2441: __not_>, 2441: __not_> 2441: >::value; 2441: } 2441: template 2441: static constexpr bool _NotSameTuple() 2441: { 2441: return __not_, 2441: typename remove_const< 2441: typename remove_reference<_UElements...>::type 2441: >::type>>::value; 2441: } 2441: }; 2441: 2441: template 2441: struct _TC 2441: { 2441: template 2441: static constexpr bool _ConstructibleTuple() 2441: { 2441: return false; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyConvertibleTuple() 2441: { 2441: return false; 2441: } 2441: 2441: template 2441: static constexpr bool _MoveConstructibleTuple() 2441: { 2441: return false; 2441: } 2441: 2441: template 2441: static constexpr bool _ImplicitlyMoveConvertibleTuple() 2441: { 2441: return false; 2441: } 2441: 2441: template 2441: static constexpr bool _NonNestedTuple() 2441: { 2441: return true; 2441: } 2441: template 2441: static constexpr bool _NotSameTuple() 2441: { 2441: return true; 2441: } 2441: }; 2441: 2441: 2441: template 2441: class tuple : public _Tuple_impl<0, _Elements...> 2441: { 2441: typedef _Tuple_impl<0, _Elements...> _Inherited; 2441: 2441: 2441: 2441: template 2441: struct _TC2 2441: { 2441: static constexpr bool _DefaultConstructibleTuple() 2441: { 2441: return __and_...>::value; 2441: } 2441: static constexpr bool _ImplicitlyDefaultConstructibleTuple() 2441: { 2441: return __and_<__is_implicitly_default_constructible<_Elements>...> 2441: ::value; 2441: } 2441: }; 2441: 2441: public: 2441: template:: 2441: _ImplicitlyDefaultConstructibleTuple(), 2441: bool>::type = true> 2441: constexpr tuple() 2441: : _Inherited() { } 2441: 2441: template:: 2441: _DefaultConstructibleTuple() 2441: && 2441: !_TC2<_Dummy>:: 2441: _ImplicitlyDefaultConstructibleTuple(), 2441: bool>::type = false> 2441: explicit constexpr tuple() 2441: : _Inherited() { } 2441: 2441: 2441: 2441: template using _TCC = 2441: _TC::value, 2441: _Elements...>; 2441: 2441: template::template 2441: _ConstructibleTuple<_Elements...>() 2441: && _TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_Elements...>() 2441: && (sizeof...(_Elements) >= 1), 2441: bool>::type=true> 2441: constexpr tuple(const _Elements&... __elements) 2441: : _Inherited(__elements...) { } 2441: 2441: template::template 2441: _ConstructibleTuple<_Elements...>() 2441: && !_TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_Elements...>() 2441: && (sizeof...(_Elements) >= 1), 2441: bool>::type=false> 2441: explicit constexpr tuple(const _Elements&... __elements) 2441: : _Inherited(__elements...) { } 2441: 2441: 2441: 2441: template using _TMC = 2441: _TC<(sizeof...(_Elements) == sizeof...(_UElements)) 2441: && (_TC<(sizeof...(_UElements)==1), _Elements...>:: 2441: template _NotSameTuple<_UElements...>()), 2441: _Elements...>; 2441: 2441: 2441: 2441: template using _TMCT = 2441: _TC<(sizeof...(_Elements) == sizeof...(_UElements)) 2441: && !is_same, 2441: tuple<_UElements...>>::value, 2441: _Elements...>; 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && _TMC<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>() 2441: && (sizeof...(_Elements) >= 1), 2441: bool>::type=true> 2441: constexpr tuple(_UElements&&... __elements) 2441: : _Inherited(std::forward<_UElements>(__elements)...) { } 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && !_TMC<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>() 2441: && (sizeof...(_Elements) >= 1), 2441: bool>::type=false> 2441: explicit constexpr tuple(_UElements&&... __elements) 2441: : _Inherited(std::forward<_UElements>(__elements)...) { } 2441: 2441: constexpr tuple(const tuple&) = default; 2441: 2441: constexpr tuple(tuple&&) = default; 2441: 2441: 2441: 2441: template using _TNTC = 2441: _TC::value && sizeof...(_Elements) == 1, 2441: _Elements...>; 2441: 2441: template::template 2441: _ConstructibleTuple<_UElements...>() 2441: && _TMCT<_UElements...>::template 2441: _ImplicitlyConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&>(), 2441: bool>::type=true> 2441: constexpr tuple(const tuple<_UElements...>& __in) 2441: : _Inherited(static_cast&>(__in)) 2441: { } 2441: 2441: template::template 2441: _ConstructibleTuple<_UElements...>() 2441: && !_TMCT<_UElements...>::template 2441: _ImplicitlyConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&>(), 2441: bool>::type=false> 2441: explicit constexpr tuple(const tuple<_UElements...>& __in) 2441: : _Inherited(static_cast&>(__in)) 2441: { } 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && _TMCT<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&&>(), 2441: bool>::type=true> 2441: constexpr tuple(tuple<_UElements...>&& __in) 2441: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && !_TMCT<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&&>(), 2441: bool>::type=false> 2441: explicit constexpr tuple(tuple<_UElements...>&& __in) 2441: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 2441: 2441: 2441: 2441: template 2441: tuple(allocator_arg_t __tag, const _Alloc& __a) 2441: : _Inherited(__tag, __a) { } 2441: 2441: template::template 2441: _ConstructibleTuple<_Elements...>() 2441: && _TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_Elements...>(), 2441: bool>::type=true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Elements&... __elements) 2441: : _Inherited(__tag, __a, __elements...) { } 2441: 2441: template::template 2441: _ConstructibleTuple<_Elements...>() 2441: && !_TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_Elements...>(), 2441: bool>::type=false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const _Elements&... __elements) 2441: : _Inherited(__tag, __a, __elements...) { } 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && _TMC<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>(), 2441: bool>::type=true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: _UElements&&... __elements) 2441: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 2441: { } 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && !_TMC<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>(), 2441: bool>::type=false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: _UElements&&... __elements) 2441: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 2441: { } 2441: 2441: template 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 2441: : _Inherited(__tag, __a, static_cast(__in)) { } 2441: 2441: template 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 2441: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 2441: 2441: template::template 2441: _ConstructibleTuple<_UElements...>() 2441: && _TMCT<_UElements...>::template 2441: _ImplicitlyConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&&>(), 2441: bool>::type=true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const tuple<_UElements...>& __in) 2441: : _Inherited(__tag, __a, 2441: static_cast&>(__in)) 2441: { } 2441: 2441: template::template 2441: _ConstructibleTuple<_UElements...>() 2441: && !_TMCT<_UElements...>::template 2441: _ImplicitlyConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&&>(), 2441: bool>::type=false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const tuple<_UElements...>& __in) 2441: : _Inherited(__tag, __a, 2441: static_cast&>(__in)) 2441: { } 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && _TMCT<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&&>(), 2441: bool>::type=true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: tuple<_UElements...>&& __in) 2441: : _Inherited(__tag, __a, 2441: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 2441: { } 2441: 2441: template::template 2441: _MoveConstructibleTuple<_UElements...>() 2441: && !_TMCT<_UElements...>::template 2441: _ImplicitlyMoveConvertibleTuple<_UElements...>() 2441: && _TNTC<_Dummy>::template 2441: _NonNestedTuple&&>(), 2441: bool>::type=false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: tuple<_UElements...>&& __in) 2441: : _Inherited(__tag, __a, 2441: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 2441: { } 2441: 2441: tuple& 2441: operator=(const tuple& __in) 2441: { 2441: static_cast<_Inherited&>(*this) = __in; 2441: return *this; 2441: } 2441: 2441: tuple& 2441: operator=(tuple&& __in) 2441: noexcept(is_nothrow_move_assignable<_Inherited>::value) 2441: { 2441: static_cast<_Inherited&>(*this) = std::move(__in); 2441: return *this; 2441: } 2441: 2441: template 2441: typename 2441: enable_if::type 2441: operator=(const tuple<_UElements...>& __in) 2441: { 2441: static_cast<_Inherited&>(*this) = __in; 2441: return *this; 2441: } 2441: 2441: template 2441: typename 2441: enable_if::type 2441: operator=(tuple<_UElements...>&& __in) 2441: { 2441: static_cast<_Inherited&>(*this) = std::move(__in); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(tuple& __in) 2441: noexcept(noexcept(__in._M_swap(__in))) 2441: { _Inherited::_M_swap(__in); } 2441: }; 2441: # 889 "/usr/include/c++/8/tuple" 3 2441: template<> 2441: class tuple<> 2441: { 2441: public: 2441: void swap(tuple&) noexcept { } 2441: 2441: 2441: tuple() = default; 2441: 2441: template 2441: tuple(allocator_arg_t, const _Alloc&) { } 2441: template 2441: tuple(allocator_arg_t, const _Alloc&, const tuple&) { } 2441: }; 2441: 2441: 2441: 2441: template 2441: class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> 2441: { 2441: typedef _Tuple_impl<0, _T1, _T2> _Inherited; 2441: 2441: public: 2441: template , 2441: __is_implicitly_default_constructible<_U2>> 2441: ::value, bool>::type = true> 2441: 2441: constexpr tuple() 2441: : _Inherited() { } 2441: 2441: template , 2441: is_default_constructible<_U2>, 2441: __not_< 2441: __and_<__is_implicitly_default_constructible<_U1>, 2441: __is_implicitly_default_constructible<_U2>>>> 2441: ::value, bool>::type = false> 2441: 2441: explicit constexpr tuple() 2441: : _Inherited() { } 2441: 2441: 2441: 2441: template using _TCC = 2441: _TC::value, _T1, _T2>; 2441: 2441: template::template 2441: _ConstructibleTuple<_T1, _T2>() 2441: && _TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_T1, _T2>(), 2441: bool>::type = true> 2441: constexpr tuple(const _T1& __a1, const _T2& __a2) 2441: : _Inherited(__a1, __a2) { } 2441: 2441: template::template 2441: _ConstructibleTuple<_T1, _T2>() 2441: && !_TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_T1, _T2>(), 2441: bool>::type = false> 2441: explicit constexpr tuple(const _T1& __a1, const _T2& __a2) 2441: : _Inherited(__a1, __a2) { } 2441: 2441: 2441: 2441: using _TMC = _TC; 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>() 2441: && !is_same::type, 2441: allocator_arg_t>::value, 2441: bool>::type = true> 2441: constexpr tuple(_U1&& __a1, _U2&& __a2) 2441: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>() 2441: && !is_same::type, 2441: allocator_arg_t>::value, 2441: bool>::type = false> 2441: explicit constexpr tuple(_U1&& __a1, _U2&& __a2) 2441: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 2441: 2441: constexpr tuple(const tuple&) = default; 2441: 2441: constexpr tuple(tuple&&) = default; 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: constexpr tuple(const tuple<_U1, _U2>& __in) 2441: : _Inherited(static_cast&>(__in)) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit constexpr tuple(const tuple<_U1, _U2>& __in) 2441: : _Inherited(static_cast&>(__in)) { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: constexpr tuple(tuple<_U1, _U2>&& __in) 2441: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit constexpr tuple(tuple<_U1, _U2>&& __in) 2441: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: constexpr tuple(const pair<_U1, _U2>& __in) 2441: : _Inherited(__in.first, __in.second) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit constexpr tuple(const pair<_U1, _U2>& __in) 2441: : _Inherited(__in.first, __in.second) { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: constexpr tuple(pair<_U1, _U2>&& __in) 2441: : _Inherited(std::forward<_U1>(__in.first), 2441: std::forward<_U2>(__in.second)) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit constexpr tuple(pair<_U1, _U2>&& __in) 2441: : _Inherited(std::forward<_U1>(__in.first), 2441: std::forward<_U2>(__in.second)) { } 2441: 2441: 2441: 2441: template 2441: tuple(allocator_arg_t __tag, const _Alloc& __a) 2441: : _Inherited(__tag, __a) { } 2441: 2441: template::template 2441: _ConstructibleTuple<_T1, _T2>() 2441: && _TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_T1, _T2>(), 2441: bool>::type=true> 2441: 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const _T1& __a1, const _T2& __a2) 2441: : _Inherited(__tag, __a, __a1, __a2) { } 2441: 2441: template::template 2441: _ConstructibleTuple<_T1, _T2>() 2441: && !_TCC<_Dummy>::template 2441: _ImplicitlyConvertibleTuple<_T1, _T2>(), 2441: bool>::type=false> 2441: 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const _T1& __a1, const _T2& __a2) 2441: : _Inherited(__tag, __a, __a1, __a2) { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) 2441: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 2441: std::forward<_U2>(__a2)) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: _U1&& __a1, _U2&& __a2) 2441: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 2441: std::forward<_U2>(__a2)) { } 2441: 2441: template 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 2441: : _Inherited(__tag, __a, static_cast(__in)) { } 2441: 2441: template 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 2441: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const tuple<_U1, _U2>& __in) 2441: : _Inherited(__tag, __a, 2441: static_cast&>(__in)) 2441: { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const tuple<_U1, _U2>& __in) 2441: : _Inherited(__tag, __a, 2441: static_cast&>(__in)) 2441: { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) 2441: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 2441: { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: tuple<_U1, _U2>&& __in) 2441: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 2441: { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const pair<_U1, _U2>& __in) 2441: : _Inherited(__tag, __a, __in.first, __in.second) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: const pair<_U1, _U2>& __in) 2441: : _Inherited(__tag, __a, __in.first, __in.second) { } 2441: 2441: template() 2441: && _TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = true> 2441: tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) 2441: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 2441: std::forward<_U2>(__in.second)) { } 2441: 2441: template() 2441: && !_TMC::template 2441: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 2441: bool>::type = false> 2441: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 2441: pair<_U1, _U2>&& __in) 2441: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 2441: std::forward<_U2>(__in.second)) { } 2441: 2441: tuple& 2441: operator=(const tuple& __in) 2441: { 2441: static_cast<_Inherited&>(*this) = __in; 2441: return *this; 2441: } 2441: 2441: tuple& 2441: operator=(tuple&& __in) 2441: noexcept(is_nothrow_move_assignable<_Inherited>::value) 2441: { 2441: static_cast<_Inherited&>(*this) = std::move(__in); 2441: return *this; 2441: } 2441: 2441: template 2441: tuple& 2441: operator=(const tuple<_U1, _U2>& __in) 2441: { 2441: static_cast<_Inherited&>(*this) = __in; 2441: return *this; 2441: } 2441: 2441: template 2441: tuple& 2441: operator=(tuple<_U1, _U2>&& __in) 2441: { 2441: static_cast<_Inherited&>(*this) = std::move(__in); 2441: return *this; 2441: } 2441: 2441: template 2441: tuple& 2441: operator=(const pair<_U1, _U2>& __in) 2441: { 2441: this->_M_head(*this) = __in.first; 2441: this->_M_tail(*this)._M_head(*this) = __in.second; 2441: return *this; 2441: } 2441: 2441: template 2441: tuple& 2441: operator=(pair<_U1, _U2>&& __in) 2441: { 2441: this->_M_head(*this) = std::forward<_U1>(__in.first); 2441: this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(tuple& __in) 2441: noexcept(noexcept(__in._M_swap(__in))) 2441: { _Inherited::_M_swap(__in); } 2441: }; 2441: 2441: 2441: 2441: template 2441: struct tuple_size> 2441: : public integral_constant { }; 2441: # 1278 "/usr/include/c++/8/tuple" 3 2441: template 2441: struct tuple_element<__i, tuple<_Head, _Tail...> > 2441: : tuple_element<__i - 1, tuple<_Tail...> > { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct tuple_element<0, tuple<_Head, _Tail...> > 2441: { 2441: typedef _Head type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct tuple_element<__i, tuple<>> 2441: { 2441: static_assert(__i < tuple_size>::value, 2441: "tuple index is in range"); 2441: }; 2441: 2441: template 2441: constexpr _Head& 2441: __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 2441: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 2441: 2441: template 2441: constexpr const _Head& 2441: __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 2441: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 2441: 2441: 2441: template 2441: constexpr __tuple_element_t<__i, tuple<_Elements...>>& 2441: get(tuple<_Elements...>& __t) noexcept 2441: { return std::__get_helper<__i>(__t); } 2441: 2441: 2441: template 2441: constexpr const __tuple_element_t<__i, tuple<_Elements...>>& 2441: get(const tuple<_Elements...>& __t) noexcept 2441: { return std::__get_helper<__i>(__t); } 2441: 2441: 2441: template 2441: constexpr __tuple_element_t<__i, tuple<_Elements...>>&& 2441: get(tuple<_Elements...>&& __t) noexcept 2441: { 2441: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 2441: return std::forward<__element_type&&>(std::get<__i>(__t)); 2441: } 2441: 2441: 2441: template 2441: constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& 2441: get(const tuple<_Elements...>&& __t) noexcept 2441: { 2441: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 2441: return std::forward(std::get<__i>(__t)); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: constexpr _Head& 2441: __get_helper2(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 2441: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 2441: 2441: template 2441: constexpr const _Head& 2441: __get_helper2(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 2441: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 2441: 2441: 2441: template 2441: constexpr _Tp& 2441: get(tuple<_Types...>& __t) noexcept 2441: { return std::__get_helper2<_Tp>(__t); } 2441: 2441: 2441: template 2441: constexpr _Tp&& 2441: get(tuple<_Types...>&& __t) noexcept 2441: { return std::forward<_Tp&&>(std::__get_helper2<_Tp>(__t)); } 2441: 2441: 2441: template 2441: constexpr const _Tp& 2441: get(const tuple<_Types...>& __t) noexcept 2441: { return std::__get_helper2<_Tp>(__t); } 2441: 2441: 2441: 2441: template 2441: constexpr const _Tp&& 2441: get(const tuple<_Types...>&& __t) noexcept 2441: { return std::forward(std::__get_helper2<_Tp>(__t)); } 2441: 2441: 2441: 2441: template 2441: struct __tuple_compare 2441: { 2441: static constexpr bool 2441: __eq(const _Tp& __t, const _Up& __u) 2441: { 2441: return bool(std::get<__i>(__t) == std::get<__i>(__u)) 2441: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); 2441: } 2441: 2441: static constexpr bool 2441: __less(const _Tp& __t, const _Up& __u) 2441: { 2441: return bool(std::get<__i>(__t) < std::get<__i>(__u)) 2441: || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) 2441: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); 2441: } 2441: }; 2441: 2441: template 2441: struct __tuple_compare<_Tp, _Up, __size, __size> 2441: { 2441: static constexpr bool 2441: __eq(const _Tp&, const _Up&) { return true; } 2441: 2441: static constexpr bool 2441: __less(const _Tp&, const _Up&) { return false; } 2441: }; 2441: 2441: template 2441: constexpr bool 2441: operator==(const tuple<_TElements...>& __t, 2441: const tuple<_UElements...>& __u) 2441: { 2441: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 2441: "tuple objects can only be compared if they have equal sizes."); 2441: using __compare = __tuple_compare, 2441: tuple<_UElements...>, 2441: 0, sizeof...(_TElements)>; 2441: return __compare::__eq(__t, __u); 2441: } 2441: 2441: template 2441: constexpr bool 2441: operator<(const tuple<_TElements...>& __t, 2441: const tuple<_UElements...>& __u) 2441: { 2441: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 2441: "tuple objects can only be compared if they have equal sizes."); 2441: using __compare = __tuple_compare, 2441: tuple<_UElements...>, 2441: 0, sizeof...(_TElements)>; 2441: return __compare::__less(__t, __u); 2441: } 2441: 2441: template 2441: constexpr bool 2441: operator!=(const tuple<_TElements...>& __t, 2441: const tuple<_UElements...>& __u) 2441: { return !(__t == __u); } 2441: 2441: template 2441: constexpr bool 2441: operator>(const tuple<_TElements...>& __t, 2441: const tuple<_UElements...>& __u) 2441: { return __u < __t; } 2441: 2441: template 2441: constexpr bool 2441: operator<=(const tuple<_TElements...>& __t, 2441: const tuple<_UElements...>& __u) 2441: { return !(__u < __t); } 2441: 2441: template 2441: constexpr bool 2441: operator>=(const tuple<_TElements...>& __t, 2441: const tuple<_UElements...>& __u) 2441: { return !(__t < __u); } 2441: 2441: 2441: template 2441: constexpr tuple::__type...> 2441: make_tuple(_Elements&&... __args) 2441: { 2441: typedef tuple::__type...> 2441: __result_type; 2441: return __result_type(std::forward<_Elements>(__args)...); 2441: } 2441: 2441: 2441: 2441: template 2441: constexpr tuple<_Elements&&...> 2441: forward_as_tuple(_Elements&&... __args) noexcept 2441: { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } 2441: 2441: template 2441: struct __make_tuple_impl; 2441: 2441: template 2441: struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> 2441: : __make_tuple_impl<_Idx + 1, 2441: tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, 2441: _Tuple, _Nm> 2441: { }; 2441: 2441: template 2441: struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> 2441: { 2441: typedef tuple<_Tp...> __type; 2441: }; 2441: 2441: template 2441: struct __do_make_tuple 2441: : __make_tuple_impl<0, tuple<>, _Tuple, std::tuple_size<_Tuple>::value> 2441: { }; 2441: 2441: 2441: template 2441: struct __make_tuple 2441: : public __do_make_tuple::type>::type> 2441: { }; 2441: 2441: 2441: template 2441: struct __combine_tuples; 2441: 2441: template<> 2441: struct __combine_tuples<> 2441: { 2441: typedef tuple<> __type; 2441: }; 2441: 2441: template 2441: struct __combine_tuples> 2441: { 2441: typedef tuple<_Ts...> __type; 2441: }; 2441: 2441: template 2441: struct __combine_tuples, tuple<_T2s...>, _Rem...> 2441: { 2441: typedef typename __combine_tuples, 2441: _Rem...>::__type __type; 2441: }; 2441: 2441: 2441: template 2441: struct __tuple_cat_result 2441: { 2441: typedef typename __combine_tuples 2441: ::__type...>::__type __type; 2441: }; 2441: 2441: 2441: 2441: template 2441: struct __make_1st_indices; 2441: 2441: template<> 2441: struct __make_1st_indices<> 2441: { 2441: typedef std::_Index_tuple<> __type; 2441: }; 2441: 2441: template 2441: struct __make_1st_indices<_Tp, _Tpls...> 2441: { 2441: typedef typename std::_Build_index_tuple::type>::value>::__type __type; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct __tuple_concater; 2441: 2441: template 2441: struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...> 2441: { 2441: template 2441: static constexpr _Ret 2441: _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) 2441: { 2441: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 2441: typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; 2441: return __next::_S_do(std::forward<_Tpls>(__tps)..., 2441: std::forward<_Us>(__us)..., 2441: std::get<_Is>(std::forward<_Tp>(__tp))...); 2441: } 2441: }; 2441: 2441: template 2441: struct __tuple_concater<_Ret, std::_Index_tuple<>> 2441: { 2441: template 2441: static constexpr _Ret 2441: _S_do(_Us&&... __us) 2441: { 2441: return _Ret(std::forward<_Us>(__us)...); 2441: } 2441: }; 2441: 2441: 2441: template...>::value>::type> 2441: constexpr auto 2441: tuple_cat(_Tpls&&... __tpls) 2441: -> typename __tuple_cat_result<_Tpls...>::__type 2441: { 2441: typedef typename __tuple_cat_result<_Tpls...>::__type __ret; 2441: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 2441: typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; 2441: return __concater::_S_do(std::forward<_Tpls>(__tpls)...); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: constexpr tuple<_Elements&...> 2441: tie(_Elements&... __args) noexcept 2441: { return tuple<_Elements&...>(__args...); } 2441: 2441: 2441: template 2441: inline 2441: 2441: 2441: typename enable_if<__and_<__is_swappable<_Elements>...>::value 2441: >::type 2441: 2441: 2441: 2441: swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: template 2441: typename enable_if...>::value>::type 2441: swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct _Swallow_assign 2441: { 2441: template 2441: constexpr const _Swallow_assign& 2441: operator=(const _Tp&) const 2441: { return *this; } 2441: }; 2441: 2441: 2441: 2441: constexpr _Swallow_assign ignore{}; 2441: 2441: 2441: template 2441: struct uses_allocator, _Alloc> : true_type { }; 2441: 2441: 2441: template 2441: template 2441: inline 2441: pair<_T1, _T2>:: 2441: pair(piecewise_construct_t, 2441: tuple<_Args1...> __first, tuple<_Args2...> __second) 2441: : pair(__first, __second, 2441: typename _Build_index_tuple::__type(), 2441: typename _Build_index_tuple::__type()) 2441: { } 2441: 2441: template 2441: template 2441: inline 2441: pair<_T1, _T2>:: 2441: pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, 2441: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) 2441: : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), 2441: second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) 2441: { } 2441: # 1711 "/usr/include/c++/8/tuple" 3 2441: 2441: } 2441: # 64 "/usr/include/c++/8/bits/stl_map.h" 2 3 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: class multimap; 2441: # 98 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template , 2441: typename _Alloc = std::allocator > > 2441: class map 2441: { 2441: public: 2441: typedef _Key key_type; 2441: typedef _Tp mapped_type; 2441: typedef std::pair value_type; 2441: typedef _Compare key_compare; 2441: typedef _Alloc allocator_type; 2441: 2441: private: 2441: # 126 "/usr/include/c++/8/bits/stl_map.h" 3 2441: public: 2441: class value_compare 2441: : public std::binary_function 2441: { 2441: friend class map<_Key, _Tp, _Compare, _Alloc>; 2441: protected: 2441: _Compare comp; 2441: 2441: value_compare(_Compare __c) 2441: : comp(__c) { } 2441: 2441: public: 2441: bool operator()(const value_type& __x, const value_type& __y) const 2441: { return comp(__x.first, __y.first); } 2441: }; 2441: 2441: private: 2441: 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind::other _Pair_alloc_type; 2441: 2441: typedef _Rb_tree, 2441: key_compare, _Pair_alloc_type> _Rep_type; 2441: 2441: 2441: _Rep_type _M_t; 2441: 2441: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 2441: 2441: public: 2441: 2441: 2441: typedef typename _Alloc_traits::pointer pointer; 2441: typedef typename _Alloc_traits::const_pointer const_pointer; 2441: typedef typename _Alloc_traits::reference reference; 2441: typedef typename _Alloc_traits::const_reference const_reference; 2441: typedef typename _Rep_type::iterator iterator; 2441: typedef typename _Rep_type::const_iterator const_iterator; 2441: typedef typename _Rep_type::size_type size_type; 2441: typedef typename _Rep_type::difference_type difference_type; 2441: typedef typename _Rep_type::reverse_iterator reverse_iterator; 2441: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 2441: # 183 "/usr/include/c++/8/bits/stl_map.h" 3 2441: map() = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: map(const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Pair_alloc_type(__a)) { } 2441: # 205 "/usr/include/c++/8/bits/stl_map.h" 3 2441: map(const map&) = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: map(map&&) = default; 2441: # 226 "/usr/include/c++/8/bits/stl_map.h" 3 2441: map(initializer_list __l, 2441: const _Compare& __comp = _Compare(), 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 2441: 2441: 2441: explicit 2441: map(const allocator_type& __a) 2441: : _M_t(_Compare(), _Pair_alloc_type(__a)) { } 2441: 2441: 2441: map(const map& __m, const allocator_type& __a) 2441: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 2441: 2441: 2441: map(map&& __m, const allocator_type& __a) 2441: noexcept(is_nothrow_copy_constructible<_Compare>::value 2441: && _Alloc_traits::_S_always_equal()) 2441: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 2441: 2441: 2441: map(initializer_list __l, const allocator_type& __a) 2441: : _M_t(_Compare(), _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 2441: 2441: 2441: template 2441: map(_InputIterator __first, _InputIterator __last, 2441: const allocator_type& __a) 2441: : _M_t(_Compare(), _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__first, __last); } 2441: # 270 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template 2441: map(_InputIterator __first, _InputIterator __last) 2441: : _M_t() 2441: { _M_t._M_insert_unique(__first, __last); } 2441: # 287 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template 2441: map(_InputIterator __first, _InputIterator __last, 2441: const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_unique(__first, __last); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~map() = default; 2441: # 316 "/usr/include/c++/8/bits/stl_map.h" 3 2441: map& 2441: operator=(const map&) = default; 2441: 2441: 2441: map& 2441: operator=(map&&) = default; 2441: # 334 "/usr/include/c++/8/bits/stl_map.h" 3 2441: map& 2441: operator=(initializer_list __l) 2441: { 2441: _M_t._M_assign_unique(__l.begin(), __l.end()); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_t.get_allocator()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: begin() noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: end() noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cbegin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cend() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: empty() const noexcept 2441: { return _M_t.empty(); } 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return _M_t.size(); } 2441: 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return _M_t.max_size(); } 2441: # 489 "/usr/include/c++/8/bits/stl_map.h" 3 2441: mapped_type& 2441: operator[](const key_type& __k) 2441: { 2441: 2441: 2441: 2441: iterator __i = lower_bound(__k); 2441: 2441: if (__i == end() || key_comp()(__k, (*__i).first)) 2441: 2441: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 2441: std::tuple(__k), 2441: std::tuple<>()); 2441: 2441: 2441: 2441: return (*__i).second; 2441: } 2441: 2441: 2441: mapped_type& 2441: operator[](key_type&& __k) 2441: { 2441: 2441: 2441: 2441: iterator __i = lower_bound(__k); 2441: 2441: if (__i == end() || key_comp()(__k, (*__i).first)) 2441: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 2441: std::forward_as_tuple(std::move(__k)), 2441: std::tuple<>()); 2441: return (*__i).second; 2441: } 2441: # 534 "/usr/include/c++/8/bits/stl_map.h" 3 2441: mapped_type& 2441: at(const key_type& __k) 2441: { 2441: iterator __i = lower_bound(__k); 2441: if (__i == end() || key_comp()(__k, (*__i).first)) 2441: __throw_out_of_range(("map::at")); 2441: return (*__i).second; 2441: } 2441: 2441: const mapped_type& 2441: at(const key_type& __k) const 2441: { 2441: const_iterator __i = lower_bound(__k); 2441: if (__i == end() || key_comp()(__k, (*__i).first)) 2441: __throw_out_of_range(("map::at")); 2441: return (*__i).second; 2441: } 2441: # 572 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template 2441: std::pair 2441: emplace(_Args&&... __args) 2441: { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } 2441: # 602 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template 2441: iterator 2441: emplace_hint(const_iterator __pos, _Args&&... __args) 2441: { 2441: return _M_t._M_emplace_hint_unique(__pos, 2441: std::forward<_Args>(__args)...); 2441: } 2441: # 800 "/usr/include/c++/8/bits/stl_map.h" 3 2441: std::pair 2441: insert(const value_type& __x) 2441: { return _M_t._M_insert_unique(__x); } 2441: 2441: 2441: 2441: 2441: std::pair 2441: insert(value_type&& __x) 2441: { return _M_t._M_insert_unique(std::move(__x)); } 2441: 2441: template 2441: __enable_if_t::value, 2441: pair> 2441: insert(_Pair&& __x) 2441: { return _M_t._M_emplace_unique(std::forward<_Pair>(__x)); } 2441: # 827 "/usr/include/c++/8/bits/stl_map.h" 3 2441: void 2441: insert(std::initializer_list __list) 2441: { insert(__list.begin(), __list.end()); } 2441: # 856 "/usr/include/c++/8/bits/stl_map.h" 3 2441: iterator 2441: 2441: insert(const_iterator __position, const value_type& __x) 2441: 2441: 2441: 2441: { return _M_t._M_insert_unique_(__position, __x); } 2441: 2441: 2441: 2441: 2441: iterator 2441: insert(const_iterator __position, value_type&& __x) 2441: { return _M_t._M_insert_unique_(__position, std::move(__x)); } 2441: 2441: template 2441: __enable_if_t::value, iterator> 2441: insert(const_iterator __position, _Pair&& __x) 2441: { 2441: return _M_t._M_emplace_hint_unique(__position, 2441: std::forward<_Pair>(__x)); 2441: } 2441: # 889 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template 2441: void 2441: insert(_InputIterator __first, _InputIterator __last) 2441: { _M_t._M_insert_unique(__first, __last); } 2441: # 1029 "/usr/include/c++/8/bits/stl_map.h" 3 2441: iterator 2441: erase(const_iterator __position) 2441: { return _M_t.erase(__position); } 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(iterator __position) 2441: { return _M_t.erase(__position); } 2441: # 1066 "/usr/include/c++/8/bits/stl_map.h" 3 2441: size_type 2441: erase(const key_type& __x) 2441: { return _M_t.erase(__x); } 2441: # 1086 "/usr/include/c++/8/bits/stl_map.h" 3 2441: iterator 2441: erase(const_iterator __first, const_iterator __last) 2441: { return _M_t.erase(__first, __last); } 2441: # 1120 "/usr/include/c++/8/bits/stl_map.h" 3 2441: void 2441: swap(map& __x) 2441: noexcept(__is_nothrow_swappable<_Compare>::value) 2441: { _M_t.swap(__x._M_t); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: clear() noexcept 2441: { _M_t.clear(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: key_compare 2441: key_comp() const 2441: { return _M_t.key_comp(); } 2441: 2441: 2441: 2441: 2441: 2441: value_compare 2441: value_comp() const 2441: { return value_compare(_M_t.key_comp()); } 2441: # 1167 "/usr/include/c++/8/bits/stl_map.h" 3 2441: iterator 2441: find(const key_type& __x) 2441: { return _M_t.find(__x); } 2441: 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) 2441: { return _M_t._M_find_tr(__x); } 2441: # 1192 "/usr/include/c++/8/bits/stl_map.h" 3 2441: const_iterator 2441: find(const key_type& __x) const 2441: { return _M_t.find(__x); } 2441: 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) 2441: { return _M_t._M_find_tr(__x); } 2441: # 1213 "/usr/include/c++/8/bits/stl_map.h" 3 2441: size_type 2441: count(const key_type& __x) const 2441: { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } 2441: 2441: 2441: template 2441: auto 2441: count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) 2441: { return _M_t._M_count_tr(__x); } 2441: # 1237 "/usr/include/c++/8/bits/stl_map.h" 3 2441: iterator 2441: lower_bound(const key_type& __x) 2441: { return _M_t.lower_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return iterator(_M_t._M_lower_bound_tr(__x)); } 2441: # 1262 "/usr/include/c++/8/bits/stl_map.h" 3 2441: const_iterator 2441: lower_bound(const key_type& __x) const 2441: { return _M_t.lower_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) const 2441: -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return const_iterator(_M_t._M_lower_bound_tr(__x)); } 2441: # 1282 "/usr/include/c++/8/bits/stl_map.h" 3 2441: iterator 2441: upper_bound(const key_type& __x) 2441: { return _M_t.upper_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return iterator(_M_t._M_upper_bound_tr(__x)); } 2441: # 1302 "/usr/include/c++/8/bits/stl_map.h" 3 2441: const_iterator 2441: upper_bound(const key_type& __x) const 2441: { return _M_t.upper_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) const 2441: -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return const_iterator(_M_t._M_upper_bound_tr(__x)); } 2441: # 1331 "/usr/include/c++/8/bits/stl_map.h" 3 2441: std::pair 2441: equal_range(const key_type& __x) 2441: { return _M_t.equal_range(__x); } 2441: 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) 2441: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 2441: { return pair(_M_t._M_equal_range_tr(__x)); } 2441: # 1360 "/usr/include/c++/8/bits/stl_map.h" 3 2441: std::pair 2441: equal_range(const key_type& __x) const 2441: { return _M_t.equal_range(__x); } 2441: 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) const 2441: -> decltype(pair( 2441: _M_t._M_equal_range_tr(__x))) 2441: { 2441: return pair( 2441: _M_t._M_equal_range_tr(__x)); 2441: } 2441: 2441: 2441: 2441: template 2441: friend bool 2441: operator==(const map<_K1, _T1, _C1, _A1>&, 2441: const map<_K1, _T1, _C1, _A1>&); 2441: 2441: template 2441: friend bool 2441: operator<(const map<_K1, _T1, _C1, _A1>&, 2441: const map<_K1, _T1, _C1, _A1>&); 2441: }; 2441: # 1432 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template 2441: inline bool 2441: operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const map<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return __x._M_t == __y._M_t; } 2441: # 1449 "/usr/include/c++/8/bits/stl_map.h" 3 2441: template 2441: inline bool 2441: operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const map<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return __x._M_t < __y._M_t; } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const map<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return !(__x == __y); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const map<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return __y < __x; } 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const map<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return !(__y < __x); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const map<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(map<_Key, _Tp, _Compare, _Alloc>& __x, 2441: map<_Key, _Tp, _Compare, _Alloc>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: # 1514 "/usr/include/c++/8/bits/stl_map.h" 3 2441: 2441: } 2441: # 62 "/usr/include/c++/8/map" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_multimap.h" 1 3 2441: # 64 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: class map; 2441: # 96 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template , 2441: typename _Alloc = std::allocator > > 2441: class multimap 2441: { 2441: public: 2441: typedef _Key key_type; 2441: typedef _Tp mapped_type; 2441: typedef std::pair value_type; 2441: typedef _Compare key_compare; 2441: typedef _Alloc allocator_type; 2441: 2441: private: 2441: # 125 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: public: 2441: class value_compare 2441: : public std::binary_function 2441: { 2441: friend class multimap<_Key, _Tp, _Compare, _Alloc>; 2441: protected: 2441: _Compare comp; 2441: 2441: value_compare(_Compare __c) 2441: : comp(__c) { } 2441: 2441: public: 2441: bool operator()(const value_type& __x, const value_type& __y) const 2441: { return comp(__x.first, __y.first); } 2441: }; 2441: 2441: private: 2441: 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind::other _Pair_alloc_type; 2441: 2441: typedef _Rb_tree, 2441: key_compare, _Pair_alloc_type> _Rep_type; 2441: 2441: _Rep_type _M_t; 2441: 2441: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 2441: 2441: public: 2441: 2441: 2441: typedef typename _Alloc_traits::pointer pointer; 2441: typedef typename _Alloc_traits::const_pointer const_pointer; 2441: typedef typename _Alloc_traits::reference reference; 2441: typedef typename _Alloc_traits::const_reference const_reference; 2441: typedef typename _Rep_type::iterator iterator; 2441: typedef typename _Rep_type::const_iterator const_iterator; 2441: typedef typename _Rep_type::size_type size_type; 2441: typedef typename _Rep_type::difference_type difference_type; 2441: typedef typename _Rep_type::reverse_iterator reverse_iterator; 2441: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 2441: # 180 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: multimap() = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: multimap(const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Pair_alloc_type(__a)) { } 2441: # 202 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: multimap(const multimap&) = default; 2441: # 211 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: multimap(multimap&&) = default; 2441: # 223 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: multimap(initializer_list __l, 2441: const _Compare& __comp = _Compare(), 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 2441: 2441: 2441: explicit 2441: multimap(const allocator_type& __a) 2441: : _M_t(_Compare(), _Pair_alloc_type(__a)) { } 2441: 2441: 2441: multimap(const multimap& __m, const allocator_type& __a) 2441: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 2441: 2441: 2441: multimap(multimap&& __m, const allocator_type& __a) 2441: noexcept(is_nothrow_copy_constructible<_Compare>::value 2441: && _Alloc_traits::_S_always_equal()) 2441: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 2441: 2441: 2441: multimap(initializer_list __l, const allocator_type& __a) 2441: : _M_t(_Compare(), _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 2441: 2441: 2441: template 2441: multimap(_InputIterator __first, _InputIterator __last, 2441: const allocator_type& __a) 2441: : _M_t(_Compare(), _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__first, __last); } 2441: # 266 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template 2441: multimap(_InputIterator __first, _InputIterator __last) 2441: : _M_t() 2441: { _M_t._M_insert_equal(__first, __last); } 2441: # 282 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template 2441: multimap(_InputIterator __first, _InputIterator __last, 2441: const _Compare& __comp, 2441: const allocator_type& __a = allocator_type()) 2441: : _M_t(__comp, _Pair_alloc_type(__a)) 2441: { _M_t._M_insert_equal(__first, __last); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~multimap() = default; 2441: # 311 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: multimap& 2441: operator=(const multimap&) = default; 2441: 2441: 2441: multimap& 2441: operator=(multimap&&) = default; 2441: # 329 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: multimap& 2441: operator=(initializer_list __l) 2441: { 2441: _M_t._M_assign_equal(__l.begin(), __l.end()); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_t.get_allocator()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: begin() noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: end() noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cbegin() const noexcept 2441: { return _M_t.begin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cend() const noexcept 2441: { return _M_t.end(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crbegin() const noexcept 2441: { return _M_t.rbegin(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crend() const noexcept 2441: { return _M_t.rend(); } 2441: 2441: 2441: 2441: 2441: bool 2441: empty() const noexcept 2441: { return _M_t.empty(); } 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return _M_t.size(); } 2441: 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return _M_t.max_size(); } 2441: # 487 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template 2441: iterator 2441: emplace(_Args&&... __args) 2441: { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } 2441: # 514 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template 2441: iterator 2441: emplace_hint(const_iterator __pos, _Args&&... __args) 2441: { 2441: return _M_t._M_emplace_hint_equal(__pos, 2441: std::forward<_Args>(__args)...); 2441: } 2441: # 536 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: iterator 2441: insert(const value_type& __x) 2441: { return _M_t._M_insert_equal(__x); } 2441: 2441: 2441: 2441: 2441: iterator 2441: insert(value_type&& __x) 2441: { return _M_t._M_insert_equal(std::move(__x)); } 2441: 2441: template 2441: __enable_if_t::value, iterator> 2441: insert(_Pair&& __x) 2441: { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); } 2441: # 575 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: iterator 2441: 2441: insert(const_iterator __position, const value_type& __x) 2441: 2441: 2441: 2441: { return _M_t._M_insert_equal_(__position, __x); } 2441: 2441: 2441: 2441: 2441: iterator 2441: insert(const_iterator __position, value_type&& __x) 2441: { return _M_t._M_insert_equal_(__position, std::move(__x)); } 2441: 2441: template 2441: __enable_if_t::value, iterator> 2441: insert(const_iterator __position, _Pair&& __x) 2441: { 2441: return _M_t._M_emplace_hint_equal(__position, 2441: std::forward<_Pair>(__x)); 2441: } 2441: # 609 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template 2441: void 2441: insert(_InputIterator __first, _InputIterator __last) 2441: { _M_t._M_insert_equal(__first, __last); } 2441: # 622 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: void 2441: insert(initializer_list __l) 2441: { this->insert(__l.begin(), __l.end()); } 2441: # 699 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: iterator 2441: erase(const_iterator __position) 2441: { return _M_t.erase(__position); } 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iterator 2441: erase(iterator __position) 2441: { return _M_t.erase(__position); } 2441: # 736 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: size_type 2441: erase(const key_type& __x) 2441: { return _M_t.erase(__x); } 2441: # 757 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: iterator 2441: erase(const_iterator __first, const_iterator __last) 2441: { return _M_t.erase(__first, __last); } 2441: # 794 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: void 2441: swap(multimap& __x) 2441: noexcept(__is_nothrow_swappable<_Compare>::value) 2441: { _M_t.swap(__x._M_t); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: clear() noexcept 2441: { _M_t.clear(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: key_compare 2441: key_comp() const 2441: { return _M_t.key_comp(); } 2441: 2441: 2441: 2441: 2441: 2441: value_compare 2441: value_comp() const 2441: { return value_compare(_M_t.key_comp()); } 2441: # 840 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: iterator 2441: find(const key_type& __x) 2441: { return _M_t.find(__x); } 2441: 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) 2441: { return _M_t._M_find_tr(__x); } 2441: # 864 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: const_iterator 2441: find(const key_type& __x) const 2441: { return _M_t.find(__x); } 2441: 2441: 2441: template 2441: auto 2441: find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) 2441: { return _M_t._M_find_tr(__x); } 2441: # 882 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: size_type 2441: count(const key_type& __x) const 2441: { return _M_t.count(__x); } 2441: 2441: 2441: template 2441: auto 2441: count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) 2441: { return _M_t._M_count_tr(__x); } 2441: # 906 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: iterator 2441: lower_bound(const key_type& __x) 2441: { return _M_t.lower_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return iterator(_M_t._M_lower_bound_tr(__x)); } 2441: # 931 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: const_iterator 2441: lower_bound(const key_type& __x) const 2441: { return _M_t.lower_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: lower_bound(const _Kt& __x) const 2441: -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) 2441: { return const_iterator(_M_t._M_lower_bound_tr(__x)); } 2441: # 951 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: iterator 2441: upper_bound(const key_type& __x) 2441: { return _M_t.upper_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) 2441: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return iterator(_M_t._M_upper_bound_tr(__x)); } 2441: # 971 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: const_iterator 2441: upper_bound(const key_type& __x) const 2441: { return _M_t.upper_bound(__x); } 2441: 2441: 2441: template 2441: auto 2441: upper_bound(const _Kt& __x) const 2441: -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) 2441: { return const_iterator(_M_t._M_upper_bound_tr(__x)); } 2441: # 998 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: std::pair 2441: equal_range(const key_type& __x) 2441: { return _M_t.equal_range(__x); } 2441: 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) 2441: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 2441: { return pair(_M_t._M_equal_range_tr(__x)); } 2441: # 1025 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: std::pair 2441: equal_range(const key_type& __x) const 2441: { return _M_t.equal_range(__x); } 2441: 2441: 2441: template 2441: auto 2441: equal_range(const _Kt& __x) const 2441: -> decltype(pair( 2441: _M_t._M_equal_range_tr(__x))) 2441: { 2441: return pair( 2441: _M_t._M_equal_range_tr(__x)); 2441: } 2441: 2441: 2441: 2441: template 2441: friend bool 2441: operator==(const multimap<_K1, _T1, _C1, _A1>&, 2441: const multimap<_K1, _T1, _C1, _A1>&); 2441: 2441: template 2441: friend bool 2441: operator<(const multimap<_K1, _T1, _C1, _A1>&, 2441: const multimap<_K1, _T1, _C1, _A1>&); 2441: }; 2441: # 1096 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template 2441: inline bool 2441: operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return __x._M_t == __y._M_t; } 2441: # 1113 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: template 2441: inline bool 2441: operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return __x._M_t < __y._M_t; } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return !(__x == __y); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return __y < __x; } 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return !(__y < __x); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 2441: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, 2441: multimap<_Key, _Tp, _Compare, _Alloc>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: # 1178 "/usr/include/c++/8/bits/stl_multimap.h" 3 2441: 2441: } 2441: # 63 "/usr/include/c++/8/map" 2 3 2441: # 36 "../../src/Float_defs.hh" 2 2441: # 44 "../../src/Float_defs.hh" 2441: 2441: # 44 "../../src/Float_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: struct float_ieee754_half { 2441: uint16_t word; 2441: static const uint16_t SGN_MASK = 0x8000U; 2441: static const uint16_t EXP_MASK = 0xfc00U; 2441: static const uint16_t WRD_MAX = 0x7bffU; 2441: static const uint16_t POS_INF = 0x7c00U; 2441: static const uint16_t NEG_INF = 0xfc00U; 2441: static const uint16_t POS_ZERO = 0x0000U; 2441: static const uint16_t NEG_ZERO = 0x8000U; 2441: static const unsigned int BASE = 2; 2441: static const unsigned int EXPONENT_BITS = 5; 2441: static const unsigned int MANTISSA_BITS = 10; 2441: static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1; 2441: static const int EXPONENT_BIAS = EXPONENT_MAX; 2441: static const int EXPONENT_MIN = -EXPONENT_MAX + 1; 2441: static const int EXPONENT_MIN_DENORM = EXPONENT_MIN 2441: - static_cast(MANTISSA_BITS); 2441: static const Floating_Point_Format floating_point_format = IEEE754_HALF; 2441: int inf_sign() const; 2441: bool is_nan() const; 2441: int zero_sign() const; 2441: bool sign_bit() const; 2441: void negate(); 2441: void dec(); 2441: void inc(); 2441: void set_max(bool negative); 2441: void build(bool negative, mpz_t mantissa, int exponent); 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: struct float_ieee754_single { 2441: uint32_t word; 2441: static const uint32_t SGN_MASK = 0x80000000U; 2441: static const uint32_t EXP_MASK = 0x7f800000U; 2441: static const uint32_t WRD_MAX = 0x7f7fffffU; 2441: static const uint32_t POS_INF = 0x7f800000U; 2441: static const uint32_t NEG_INF = 0xff800000U; 2441: static const uint32_t POS_ZERO = 0x00000000U; 2441: static const uint32_t NEG_ZERO = 0x80000000U; 2441: static const unsigned int BASE = 2; 2441: static const unsigned int EXPONENT_BITS = 8; 2441: static const unsigned int MANTISSA_BITS = 23; 2441: static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1; 2441: static const int EXPONENT_BIAS = EXPONENT_MAX; 2441: static const int EXPONENT_MIN = -EXPONENT_MAX + 1; 2441: static const int EXPONENT_MIN_DENORM = EXPONENT_MIN 2441: - static_cast(MANTISSA_BITS); 2441: static const Floating_Point_Format floating_point_format = IEEE754_SINGLE; 2441: int inf_sign() const; 2441: bool is_nan() const; 2441: int zero_sign() const; 2441: bool sign_bit() const; 2441: void negate(); 2441: void dec(); 2441: void inc(); 2441: void set_max(bool negative); 2441: void build(bool negative, mpz_t mantissa, int exponent); 2441: }; 2441: # 120 "../../src/Float_defs.hh" 2441: struct float_ieee754_double { 2441: 2441: 2441: 2441: 2441: uint32_t lsp; 2441: uint32_t msp; 2441: 2441: static const uint32_t MSP_SGN_MASK = 0x80000000U; 2441: static const uint32_t MSP_POS_INF = 0x7ff00000U; 2441: static const uint32_t MSP_NEG_INF = 0xfff00000U; 2441: static const uint32_t MSP_POS_ZERO = 0x00000000U; 2441: static const uint32_t MSP_NEG_ZERO = 0x80000000U; 2441: static const uint32_t LSP_INF = 0; 2441: static const uint32_t LSP_ZERO = 0; 2441: static const uint32_t MSP_MAX = 0x7fefffffU; 2441: static const uint32_t LSP_MAX = 0xffffffffU; 2441: static const unsigned int BASE = 2; 2441: static const unsigned int EXPONENT_BITS = 11; 2441: static const unsigned int MANTISSA_BITS = 52; 2441: static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1; 2441: static const int EXPONENT_BIAS = EXPONENT_MAX; 2441: static const int EXPONENT_MIN = -EXPONENT_MAX + 1; 2441: static const int EXPONENT_MIN_DENORM = EXPONENT_MIN 2441: - static_cast(MANTISSA_BITS); 2441: static const Floating_Point_Format floating_point_format = IEEE754_DOUBLE; 2441: int inf_sign() const; 2441: bool is_nan() const; 2441: int zero_sign() const; 2441: bool sign_bit() const; 2441: void negate(); 2441: void dec(); 2441: void inc(); 2441: void set_max(bool negative); 2441: void build(bool negative, mpz_t mantissa, int exponent); 2441: }; 2441: 2441: 2441: 2441: 2441: struct float_ibm_single { 2441: uint32_t word; 2441: static const uint32_t SGN_MASK = 0x80000000U; 2441: static const uint32_t EXP_MASK = 0x7f000000U; 2441: static const uint32_t WRD_MAX = 0x7fffffffU; 2441: static const uint32_t POS_INF = 0x7f000000U; 2441: static const uint32_t NEG_INF = 0xff000000U; 2441: static const uint32_t POS_ZERO = 0x00000000U; 2441: static const uint32_t NEG_ZERO = 0x80000000U; 2441: static const unsigned int BASE = 16; 2441: static const unsigned int EXPONENT_BITS = 7; 2441: static const unsigned int MANTISSA_BITS = 24; 2441: static const int EXPONENT_BIAS = 64; 2441: static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1; 2441: static const int EXPONENT_MIN = -EXPONENT_MAX + 1; 2441: static const int EXPONENT_MIN_DENORM = EXPONENT_MIN 2441: - static_cast(MANTISSA_BITS); 2441: static const Floating_Point_Format floating_point_format = IBM_SINGLE; 2441: int inf_sign() const; 2441: bool is_nan() const; 2441: int zero_sign() const; 2441: bool sign_bit() const; 2441: void negate(); 2441: void dec(); 2441: void inc(); 2441: void set_max(bool negative); 2441: void build(bool negative, mpz_t mantissa, int exponent); 2441: }; 2441: 2441: 2441: 2441: 2441: struct float_ibm_double { 2441: static const unsigned int BASE = 16; 2441: static const unsigned int EXPONENT_BITS = 7; 2441: static const unsigned int MANTISSA_BITS = 56; 2441: static const int EXPONENT_BIAS = 64; 2441: }; 2441: 2441: 2441: 2441: 2441: struct float_intel_double_extended { 2441: 2441: 2441: 2441: 2441: uint64_t lsp; 2441: uint32_t msp; 2441: 2441: static const uint32_t MSP_SGN_MASK = 0x00008000U; 2441: static const uint32_t MSP_POS_INF = 0x00007fffU; 2441: static const uint32_t MSP_NEG_INF = 0x0000ffffU; 2441: static const uint32_t MSP_POS_ZERO = 0x00000000U; 2441: static const uint32_t MSP_NEG_ZERO = 0x00008000U; 2441: static const uint64_t LSP_INF = static_cast(0x8000000000000000ULL); 2441: static const uint64_t LSP_ZERO = 0; 2441: static const uint32_t MSP_MAX = 0x00007ffeU; 2441: static const uint64_t LSP_DMAX = static_cast(0x7fffffffffffffffULL); 2441: static const uint64_t LSP_NMAX = static_cast(0xffffffffffffffffULL); 2441: static const unsigned int BASE = 2; 2441: static const unsigned int EXPONENT_BITS = 15; 2441: static const unsigned int MANTISSA_BITS = 63; 2441: static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1; 2441: static const int EXPONENT_BIAS = EXPONENT_MAX; 2441: static const int EXPONENT_MIN = -EXPONENT_MAX + 1; 2441: static const int EXPONENT_MIN_DENORM = EXPONENT_MIN 2441: - static_cast(MANTISSA_BITS); 2441: static const Floating_Point_Format floating_point_format = 2441: INTEL_DOUBLE_EXTENDED; 2441: int inf_sign() const; 2441: bool is_nan() const; 2441: int zero_sign() const; 2441: bool sign_bit() const; 2441: void negate(); 2441: void dec(); 2441: void inc(); 2441: void set_max(bool negative); 2441: void build(bool negative, mpz_t mantissa, int exponent); 2441: }; 2441: 2441: 2441: 2441: 2441: struct float_ieee754_quad { 2441: 2441: 2441: 2441: 2441: uint64_t lsp; 2441: uint64_t msp; 2441: 2441: static const uint64_t MSP_SGN_MASK = static_cast(0x8000000000000000ULL); 2441: static const uint64_t MSP_POS_INF = static_cast(0x7fff000000000000ULL); 2441: static const uint64_t MSP_NEG_INF = static_cast(0xffff000000000000ULL); 2441: static const uint64_t MSP_POS_ZERO = static_cast(0x0000000000000000ULL); 2441: static const uint64_t MSP_NEG_ZERO = static_cast(0x8000000000000000ULL); 2441: static const uint64_t LSP_INF = 0; 2441: static const uint64_t LSP_ZERO = 0; 2441: static const uint64_t MSP_MAX = static_cast(0x7ffeffffffffffffULL); 2441: static const uint64_t LSP_MAX = static_cast(0xffffffffffffffffULL); 2441: static const unsigned int BASE = 2; 2441: static const unsigned int EXPONENT_BITS = 15; 2441: static const unsigned int MANTISSA_BITS = 112; 2441: static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1; 2441: static const int EXPONENT_BIAS = EXPONENT_MAX; 2441: static const int EXPONENT_MIN = -EXPONENT_MAX + 1; 2441: static const int EXPONENT_MIN_DENORM = EXPONENT_MIN 2441: - static_cast(MANTISSA_BITS); 2441: static const Floating_Point_Format floating_point_format = IEEE754_QUAD; 2441: int inf_sign() const; 2441: bool is_nan() const; 2441: int zero_sign() const; 2441: bool sign_bit() const; 2441: void negate(); 2441: void dec(); 2441: void inc(); 2441: void set_max(bool negative); 2441: void build(bool negative, mpz_t mantissa, int exponent); 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class Float : public False { }; 2441: 2441: 2441: template <> 2441: class Float : public True { 2441: public: 2441: 2441: 2441: 2441: typedef float_ieee754_single Binary; 2441: # 306 "../../src/Float_defs.hh" 2441: union { 2441: float number; 2441: Binary binary; 2441: } u; 2441: Float(); 2441: Float(float v); 2441: float value(); 2441: }; 2441: 2441: 2441: 2441: template <> 2441: class Float : public True { 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: typedef float_ieee754_double Binary; 2441: # 335 "../../src/Float_defs.hh" 2441: union { 2441: double number; 2441: Binary binary; 2441: } u; 2441: Float(); 2441: Float(double v); 2441: double value(); 2441: }; 2441: 2441: 2441: 2441: template <> 2441: class Float : public True { 2441: public: 2441: # 360 "../../src/Float_defs.hh" 2441: typedef float_intel_double_extended Binary; 2441: 2441: 2441: 2441: union { 2441: long double number; 2441: Binary binary; 2441: } u; 2441: Float(); 2441: Float(long double v); 2441: long double value(); 2441: }; 2441: # 383 "../../src/Float_defs.hh" 2441: unsigned int msb_position(unsigned long long v); 2441: # 398 "../../src/Float_defs.hh" 2441: template 2441: class FP_Oracle { 2441: public: 2441: # 414 "../../src/Float_defs.hh" 2441: virtual bool get_interval(dimension_type dim, FP_Interval_Type& result) const 2441: = 0; 2441: # 425 "../../src/Float_defs.hh" 2441: virtual bool get_fp_constant_value( 2441: const Floating_Point_Constant& expr, 2441: FP_Interval_Type& result) const = 0; 2441: # 437 "../../src/Float_defs.hh" 2441: virtual bool get_integer_expr_value(const Concrete_Expression& expr, 2441: FP_Interval_Type& result) const = 0; 2441: # 450 "../../src/Float_defs.hh" 2441: virtual bool get_associated_dimensions( 2441: const Approximable_Reference& expr, 2441: std::set& result) const = 0; 2441: 2441: }; 2441: # 463 "../../src/Float_defs.hh" 2441: bool is_less_precise_than(Floating_Point_Format f1, Floating_Point_Format f2); 2441: # 481 "../../src/Float_defs.hh" 2441: template 2441: const FP_Interval_Type& 2441: compute_absolute_error(Floating_Point_Format analyzed_format); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: discard_occurrences(std::map >& lf_store, 2441: Variable var); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: affine_form_image(std::map >& lf_store, 2441: Variable var, 2441: const Linear_Form& lf); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: upper_bound_assign(std::map >& ls1, 2441: const std::map >& ls2); 2441: 2441: } 2441: 2441: # 1 "../../src/Float_inlines.hh" 1 2441: # 27 "../../src/Float_inlines.hh" 2441: # 1 "../../src/Variable_defs.hh" 1 2441: # 28 "../../src/Variable_defs.hh" 2441: # 1 "../../src/Init_types.hh" 1 2441: # 16 "../../src/Init_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Init; 2441: 2441: } 2441: # 29 "../../src/Variable_defs.hh" 2 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& 2441: operator<<(std::ostream& s, const Variable v); 2441: 2441: } 2441: 2441: 2441: 2441: bool less(Variable v, Variable w); 2441: 2441: 2441: void 2441: swap(Variable& x, Variable& y); 2441: 2441: } 2441: # 85 "../../src/Variable_defs.hh" 2441: class Parma_Polyhedra_Library::Variable { 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit Variable(dimension_type i); 2441: 2441: 2441: dimension_type id() const; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: 2441: typedef void output_function_type(std::ostream& s, const Variable v); 2441: 2441: 2441: static void default_output_function(std::ostream& s, const Variable v); 2441: 2441: 2441: static void set_output_function(output_function_type* p); 2441: 2441: 2441: static output_function_type* get_output_function(); 2441: 2441: 2441: 2441: struct Compare { 2441: 2441: bool operator()(Variable x, Variable y) const; 2441: }; 2441: 2441: 2441: void m_swap(Variable& v); 2441: 2441: private: 2441: 2441: dimension_type varid; 2441: 2441: 2441: friend class Init; 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s, 2441: const Variable v); 2441: 2441: 2441: static output_function_type* current_output_function; 2441: 2441: }; 2441: 2441: # 1 "../../src/Variable_inlines.hh" 1 2441: # 27 "../../src/Variable_inlines.hh" 2441: # 1 "../../src/globals_defs.hh" 1 2441: # 28 "../../src/globals_defs.hh" 2441: # 1 "../../src/C_Integer.hh" 1 2441: # 28 "../../src/C_Integer.hh" 2441: # 1 "/usr/include/c++/8/climits" 1 3 2441: # 39 "/usr/include/c++/8/climits" 3 2441: 2441: # 40 "/usr/include/c++/8/climits" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 43 "/usr/include/c++/8/climits" 2 3 2441: # 29 "../../src/C_Integer.hh" 2 2441: # 59 "../../src/C_Integer.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: struct C_Integer : public False { }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: 2441: is_signed = true 2441: 2441: 2441: 2441: }; 2441: typedef void smaller_type; 2441: typedef void smaller_signed_type; 2441: typedef void smaller_unsigned_type; 2441: 2441: typedef unsigned char other_type; 2441: 2441: 2441: 2441: static const char min = static_cast( 2441: # 81 "../../src/C_Integer.hh" 3 4 2441: (-0x7f - 1) 2441: # 81 "../../src/C_Integer.hh" 2441: ); 2441: static const char max = static_cast(0x7f); 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = true 2441: }; 2441: typedef void smaller_type; 2441: typedef void smaller_signed_type; 2441: typedef void smaller_unsigned_type; 2441: typedef unsigned char other_type; 2441: static const signed char min = static_cast( 2441: # 94 "../../src/C_Integer.hh" 3 4 2441: (-0x7f - 1) 2441: # 94 "../../src/C_Integer.hh" 2441: ); 2441: static const signed char max = static_cast(0x7f); 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = true 2441: }; 2441: typedef signed char smaller_type; 2441: typedef signed char smaller_signed_type; 2441: typedef unsigned char smaller_unsigned_type; 2441: typedef unsigned short other_type; 2441: static const signed short min = static_cast( 2441: # 107 "../../src/C_Integer.hh" 3 4 2441: (-0x7fff - 1) 2441: # 107 "../../src/C_Integer.hh" 2441: ); 2441: static const signed short max = static_cast(0x7fff); 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = true 2441: }; 2441: typedef signed short smaller_type; 2441: typedef signed short smaller_signed_type; 2441: typedef unsigned short smaller_unsigned_type; 2441: typedef unsigned int other_type; 2441: static const signed int min = 2441: # 120 "../../src/C_Integer.hh" 3 4 2441: (-0x7fffffff - 1) 2441: # 120 "../../src/C_Integer.hh" 2441: ; 2441: static const signed int max = 0x7fffffff; 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = true 2441: }; 2441: typedef signed int smaller_type; 2441: typedef signed int smaller_signed_type; 2441: typedef unsigned int smaller_unsigned_type; 2441: typedef unsigned long other_type; 2441: static const signed long min = 2441: # 133 "../../src/C_Integer.hh" 3 4 2441: (-0x7fffffffL - 1L) 2441: # 133 "../../src/C_Integer.hh" 2441: ; 2441: static const signed long max = 0x7fffffffL; 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = true 2441: }; 2441: typedef signed long smaller_type; 2441: typedef signed long smaller_signed_type; 2441: typedef unsigned long smaller_unsigned_type; 2441: typedef unsigned long long other_type; 2441: static const signed long long min = 2441: # 146 "../../src/C_Integer.hh" 3 4 2441: (-0x7fffffffffffffffLL -1) 2441: # 146 "../../src/C_Integer.hh" 2441: ; 2441: static const signed long long max = 0x7fffffffffffffffLL; 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = false 2441: }; 2441: typedef void smaller_type; 2441: typedef void smaller_signed_type; 2441: typedef void smaller_unsigned_type; 2441: typedef signed char other_type; 2441: static const unsigned char min = static_cast(0U); 2441: static const unsigned char max = static_cast( 2441: # 160 "../../src/C_Integer.hh" 3 4 2441: (0x7f * 2 + 1) 2441: # 160 "../../src/C_Integer.hh" 2441: ); 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = false 2441: }; 2441: typedef unsigned char smaller_type; 2441: typedef signed char smaller_signed_type; 2441: typedef unsigned char smaller_unsigned_type; 2441: typedef signed short other_type; 2441: static const unsigned short min = static_cast(0U); 2441: static const unsigned short max = static_cast( 2441: # 173 "../../src/C_Integer.hh" 3 4 2441: (0x7fff * 2 + 1) 2441: # 173 "../../src/C_Integer.hh" 2441: ); 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = false 2441: }; 2441: typedef unsigned short smaller_type; 2441: typedef signed short smaller_signed_type; 2441: typedef unsigned short smaller_unsigned_type; 2441: typedef signed int other_type; 2441: static const unsigned int min = 0U; 2441: static const unsigned int max = 2441: # 186 "../../src/C_Integer.hh" 3 4 2441: (0x7fffffff * 2U + 1U) 2441: # 186 "../../src/C_Integer.hh" 2441: ; 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = false 2441: }; 2441: typedef unsigned int smaller_type; 2441: typedef signed int smaller_signed_type; 2441: typedef unsigned int smaller_unsigned_type; 2441: typedef signed long other_type; 2441: static const unsigned long min = 0UL; 2441: static const unsigned long max = 2441: # 199 "../../src/C_Integer.hh" 3 4 2441: (0x7fffffffL * 2UL + 1UL) 2441: # 199 "../../src/C_Integer.hh" 2441: ; 2441: }; 2441: 2441: template <> 2441: struct C_Integer : public True { 2441: enum const_bool_value { 2441: is_signed = false 2441: }; 2441: typedef unsigned long smaller_type; 2441: typedef signed long smaller_signed_type; 2441: typedef unsigned long smaller_unsigned_type; 2441: typedef signed long long other_type; 2441: static const unsigned long long min = 0ULL; 2441: static const unsigned long long max = 2441: # 212 "../../src/C_Integer.hh" 3 4 2441: (0x7fffffffffffffffLL * 2ULL + 1) 2441: # 212 "../../src/C_Integer.hh" 2441: ; 2441: }; 2441: 2441: } 2441: # 29 "../../src/globals_defs.hh" 2 2441: # 100 "../../src/globals_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: dimension_type 2441: not_a_dimension(); 2441: 2441: 2441: 2441: 2441: int32_t 2441: hash_code_from_dimension(dimension_type dim); 2441: # 120 "../../src/globals_defs.hh" 2441: template 2441: inline typename Enable_If::value, void>::type 2441: swap(T&, T&) { 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_123 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!Slow_Copy::value)>) }; 2441: } 2441: # 156 "../../src/globals_defs.hh" 2441: dimension_type 2441: compute_capacity(dimension_type requested_size, 2441: dimension_type maximum_size); 2441: # 169 "../../src/globals_defs.hh" 2441: struct Weightwatch_Traits { 2441: 2441: typedef unsigned long long Threshold; 2441: 2441: 2441: typedef unsigned long long Delta; 2441: 2441: 2441: static const Threshold& get(); 2441: 2441: 2441: static bool less_than(const Threshold& a, const Threshold& b); 2441: # 194 "../../src/globals_defs.hh" 2441: static Delta compute_delta(unsigned long unscaled, unsigned scale); 2441: 2441: 2441: static void from_delta(Threshold& threshold, const Delta& delta); 2441: 2441: 2441: static Threshold weight; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void (*check_function)(void); 2441: }; 2441: # 239 "../../src/globals_defs.hh" 2441: class Throwable { 2441: public: 2441: 2441: virtual void throw_me() const = 0; 2441: 2441: 2441: virtual ~Throwable(); 2441: }; 2441: # 271 "../../src/globals_defs.hh" 2441: extern const Throwable* volatile abandon_expensive_computations; 2441: # 281 "../../src/globals_defs.hh" 2441: void 2441: maybe_abandon(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct Recycle_Input { 2441: }; 2441: # 401 "../../src/globals_defs.hh" 2441: bool is_space(char c); 2441: 2441: template 2441: struct Fit : public False { 2441: }; 2441: 2441: template 2441: struct Fit::value>::type> { 2441: enum { 2441: value = (v >= static_cast(C_Integer::min) 2441: && v <= static_cast(C_Integer::max)) 2441: }; 2441: }; 2441: 2441: template 2441: struct TConstant { 2441: static const T value = v; 2441: }; 2441: 2441: 2441: template 2441: const T TConstant::value; 2441: 2441: template 2441: struct Constant_ : public TConstant { 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Constant_::smaller_signed_type, v>::value 2441: && (prefer_signed 2441: || !Fit::smaller_unsigned_type, v>::value))>::type> 2441: : public Constant_::smaller_signed_type, v, prefer_signed> { 2441: }; 2441: 2441: template 2441: struct Constant_::smaller_unsigned_type, v>::value 2441: && (!prefer_signed 2441: || !Fit::smaller_signed_type, v>::value))>::type> 2441: : public Constant_::smaller_unsigned_type, v, prefer_signed> { 2441: }; 2441: 2441: 2441: 2441: template 2441: struct Constant : public Constant_ { 2441: }; 2441: # 465 "../../src/globals_defs.hh" 2441: template 2441: typename Enable_If::value, memory_size_type>::type 2441: total_memory_in_bytes(const T&); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, memory_size_type>::type 2441: external_memory_in_bytes(const T&); 2441: 2441: 2441: 2441: 2441: memory_size_type 2441: total_memory_in_bytes(const mpz_class& x); 2441: 2441: 2441: 2441: 2441: memory_size_type 2441: external_memory_in_bytes(const mpz_class& x); 2441: 2441: 2441: 2441: 2441: memory_size_type 2441: total_memory_in_bytes(const mpq_class& x); 2441: 2441: 2441: 2441: 2441: memory_size_type 2441: external_memory_in_bytes(const mpq_class& x); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct Has_OK : public False { }; 2441: 2441: template 2441: struct Has_OK::type> 2441: : public True { 2441: }; 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: f_OK(const T& to) { 2441: return to.OK(); 2441: } 2441: 2441: 2441: 2441: inline bool f_OK(const char&) { return true; } 2441: inline bool f_OK(const signed char&) { return true; } 2441: inline bool f_OK(const unsigned char&) { return true; } 2441: inline bool f_OK(const signed short&) { return true; } 2441: inline bool f_OK(const unsigned short&) { return true; } 2441: inline bool f_OK(const signed int&) { return true; } 2441: inline bool f_OK(const unsigned int&) { return true; } 2441: inline bool f_OK(const signed long&) { return true; } 2441: inline bool f_OK(const unsigned long&) { return true; } 2441: inline bool f_OK(const signed long long&) { return true; } 2441: inline bool f_OK(const unsigned long long&) { return true; } 2441: inline bool f_OK(const float&) { return true; } 2441: inline bool f_OK(const double&) { return true; } 2441: inline bool f_OK(const long double&) { return true; } 2441: inline bool f_OK(const mpz_class&) { return true; } 2441: inline bool f_OK(const mpq_class&) { return true; } 2441: 2441: void ascii_dump(std::ostream& s, Representation r); 2441: bool ascii_load(std::istream& s, Representation& r); 2441: 2441: dimension_type 2441: check_space_dimension_overflow(dimension_type dim, 2441: dimension_type max, 2441: const char* domain, 2441: const char* method, 2441: const char* reason); 2441: 2441: template 2441: typename RA_Container::iterator 2441: nth_iter(RA_Container& cont, dimension_type n); 2441: 2441: template 2441: typename RA_Container::const_iterator 2441: nth_iter(const RA_Container& cont, dimension_type n); 2441: 2441: dimension_type 2441: least_significant_one_mask(dimension_type i); 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "../../src/globals_inlines.hh" 1 2441: # 29 "../../src/globals_inlines.hh" 2441: # 1 "/usr/include/c++/8/cassert" 1 3 2441: # 41 "/usr/include/c++/8/cassert" 3 2441: 2441: # 42 "/usr/include/c++/8/cassert" 3 2441: 2441: 2441: # 1 "/usr/include/assert.h" 1 3 4 2441: # 44 "/usr/include/c++/8/cassert" 2 3 2441: # 30 "../../src/globals_inlines.hh" 2 2441: # 1 "/usr/include/c++/8/istream" 1 3 2441: # 36 "/usr/include/c++/8/istream" 3 2441: 2441: # 37 "/usr/include/c++/8/istream" 3 2441: 2441: # 1 "/usr/include/c++/8/ios" 1 3 2441: # 36 "/usr/include/c++/8/ios" 3 2441: 2441: # 37 "/usr/include/c++/8/ios" 3 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/ios_base.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/ios_base.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/ios_base.h" 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/locale_classes.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 43 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 62 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: class locale 2441: { 2441: public: 2441: 2441: 2441: typedef int category; 2441: 2441: 2441: class facet; 2441: class id; 2441: class _Impl; 2441: 2441: friend class facet; 2441: friend class _Impl; 2441: 2441: template 2441: friend bool 2441: has_facet(const locale&) throw(); 2441: 2441: template 2441: friend const _Facet& 2441: use_facet(const locale&); 2441: 2441: template 2441: friend struct __use_cache; 2441: # 98 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: static const category none = 0; 2441: static const category ctype = 1L << 0; 2441: static const category numeric = 1L << 1; 2441: static const category collate = 1L << 2; 2441: static const category time = 1L << 3; 2441: static const category monetary = 1L << 4; 2441: static const category messages = 1L << 5; 2441: static const category all = (ctype | numeric | collate | 2441: time | monetary | messages); 2441: # 117 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: locale() throw(); 2441: # 126 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: locale(const locale& __other) throw(); 2441: # 136 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: explicit 2441: locale(const char* __s); 2441: # 151 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: locale(const locale& __base, const char* __s, category __cat); 2441: # 162 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: explicit 2441: locale(const std::string& __s) : locale(__s.c_str()) { } 2441: # 177 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: locale(const locale& __base, const std::string& __s, category __cat) 2441: : locale(__base, __s.c_str(), __cat) { } 2441: # 192 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: locale(const locale& __base, const locale& __add, category __cat); 2441: # 205 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: template 2441: locale(const locale& __other, _Facet* __f); 2441: 2441: 2441: ~locale() throw(); 2441: # 219 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: const locale& 2441: operator=(const locale& __other) throw(); 2441: # 234 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: template 2441: locale 2441: combine(const locale& __other) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: string 2441: name() const; 2441: # 254 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: bool 2441: operator==(const locale& __other) const throw(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: operator!=(const locale& __other) const throw() 2441: { return !(this->operator==(__other)); } 2441: # 282 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: template 2441: bool 2441: operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, 2441: const basic_string<_Char, _Traits, _Alloc>& __s2) const; 2441: # 298 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: static locale 2441: global(const locale& __loc); 2441: 2441: 2441: 2441: 2441: static const locale& 2441: classic(); 2441: 2441: private: 2441: 2441: _Impl* _M_impl; 2441: 2441: 2441: static _Impl* _S_classic; 2441: 2441: 2441: static _Impl* _S_global; 2441: 2441: 2441: 2441: 2441: 2441: static const char* const* const _S_categories; 2441: # 333 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: enum { _S_categories_size = 6 + 6 }; 2441: 2441: 2441: static __gthread_once_t _S_once; 2441: 2441: 2441: explicit 2441: locale(_Impl*) throw(); 2441: 2441: static void 2441: _S_initialize(); 2441: 2441: static void 2441: _S_initialize_once() throw(); 2441: 2441: static category 2441: _S_normalize_category(category); 2441: 2441: void 2441: _M_coalesce(const locale& __base, const locale& __add, category __cat); 2441: 2441: 2441: static const id* const _S_twinned_facets[]; 2441: 2441: }; 2441: # 371 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: class locale::facet 2441: { 2441: private: 2441: friend class locale; 2441: friend class locale::_Impl; 2441: 2441: mutable _Atomic_word _M_refcount; 2441: 2441: 2441: static __c_locale _S_c_locale; 2441: 2441: 2441: static const char _S_c_name[2]; 2441: 2441: 2441: static __gthread_once_t _S_once; 2441: 2441: 2441: static void 2441: _S_initialize_once(); 2441: 2441: protected: 2441: # 402 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: explicit 2441: facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) 2441: { } 2441: 2441: 2441: virtual 2441: ~facet(); 2441: 2441: static void 2441: _S_create_c_locale(__c_locale& __cloc, const char* __s, 2441: __c_locale __old = 0); 2441: 2441: static __c_locale 2441: _S_clone_c_locale(__c_locale& __cloc) throw(); 2441: 2441: static void 2441: _S_destroy_c_locale(__c_locale& __cloc); 2441: 2441: static __c_locale 2441: _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); 2441: 2441: 2441: 2441: static __c_locale 2441: _S_get_c_locale(); 2441: 2441: __attribute__ ((__const__)) static const char* 2441: _S_get_c_name() throw(); 2441: # 438 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: facet(const facet&) = delete; 2441: 2441: facet& 2441: operator=(const facet&) = delete; 2441: 2441: 2441: private: 2441: void 2441: _M_add_reference() const throw() 2441: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 2441: 2441: void 2441: _M_remove_reference() const throw() 2441: { 2441: 2441: ; 2441: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 2441: { 2441: ; 2441: try 2441: { delete this; } 2441: catch(...) 2441: { } 2441: } 2441: } 2441: 2441: const facet* _M_sso_shim(const id*) const; 2441: const facet* _M_cow_shim(const id*) const; 2441: 2441: protected: 2441: class __shim; 2441: }; 2441: # 483 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: class locale::id 2441: { 2441: private: 2441: friend class locale; 2441: friend class locale::_Impl; 2441: 2441: template 2441: friend const _Facet& 2441: use_facet(const locale&); 2441: 2441: template 2441: friend bool 2441: has_facet(const locale&) throw(); 2441: 2441: 2441: 2441: 2441: mutable size_t _M_index; 2441: 2441: 2441: static _Atomic_word _S_refcount; 2441: 2441: void 2441: operator=(const id&); 2441: 2441: id(const id&); 2441: 2441: public: 2441: 2441: 2441: 2441: id() { } 2441: 2441: size_t 2441: _M_id() const throw(); 2441: }; 2441: 2441: 2441: 2441: class locale::_Impl 2441: { 2441: public: 2441: 2441: friend class locale; 2441: friend class locale::facet; 2441: 2441: template 2441: friend bool 2441: has_facet(const locale&) throw(); 2441: 2441: template 2441: friend const _Facet& 2441: use_facet(const locale&); 2441: 2441: template 2441: friend struct __use_cache; 2441: 2441: private: 2441: 2441: _Atomic_word _M_refcount; 2441: const facet** _M_facets; 2441: size_t _M_facets_size; 2441: const facet** _M_caches; 2441: char** _M_names; 2441: static const locale::id* const _S_id_ctype[]; 2441: static const locale::id* const _S_id_numeric[]; 2441: static const locale::id* const _S_id_collate[]; 2441: static const locale::id* const _S_id_time[]; 2441: static const locale::id* const _S_id_monetary[]; 2441: static const locale::id* const _S_id_messages[]; 2441: static const locale::id* const* const _S_facet_categories[]; 2441: 2441: void 2441: _M_add_reference() throw() 2441: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 2441: 2441: void 2441: _M_remove_reference() throw() 2441: { 2441: 2441: ; 2441: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 2441: { 2441: ; 2441: try 2441: { delete this; } 2441: catch(...) 2441: { } 2441: } 2441: } 2441: 2441: _Impl(const _Impl&, size_t); 2441: _Impl(const char*, size_t); 2441: _Impl(size_t) throw(); 2441: 2441: ~_Impl() throw(); 2441: 2441: _Impl(const _Impl&); 2441: 2441: void 2441: operator=(const _Impl&); 2441: 2441: bool 2441: _M_check_same_name() 2441: { 2441: bool __ret = true; 2441: if (_M_names[1]) 2441: 2441: for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) 2441: __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; 2441: return __ret; 2441: } 2441: 2441: void 2441: _M_replace_categories(const _Impl*, category); 2441: 2441: void 2441: _M_replace_category(const _Impl*, const locale::id* const*); 2441: 2441: void 2441: _M_replace_facet(const _Impl*, const locale::id*); 2441: 2441: void 2441: _M_install_facet(const locale::id*, const facet*); 2441: 2441: template 2441: void 2441: _M_init_facet(_Facet* __facet) 2441: { _M_install_facet(&_Facet::id, __facet); } 2441: 2441: template 2441: void 2441: _M_init_facet_unchecked(_Facet* __facet) 2441: { 2441: __facet->_M_add_reference(); 2441: _M_facets[_Facet::id._M_id()] = __facet; 2441: } 2441: 2441: void 2441: _M_install_cache(const facet*, size_t); 2441: 2441: void _M_init_extra(facet**); 2441: void _M_init_extra(void*, void*, const char*, const char*); 2441: }; 2441: # 641 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: template 2441: class __cxx11:: collate : public locale::facet 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: 2441: protected: 2441: 2441: 2441: __c_locale _M_c_locale_collate; 2441: 2441: public: 2441: 2441: static locale::id id; 2441: # 668 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: explicit 2441: collate(size_t __refs = 0) 2441: : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) 2441: { } 2441: # 682 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: explicit 2441: collate(__c_locale __cloc, size_t __refs = 0) 2441: : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) 2441: { } 2441: # 699 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: int 2441: compare(const _CharT* __lo1, const _CharT* __hi1, 2441: const _CharT* __lo2, const _CharT* __hi2) const 2441: { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } 2441: # 718 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: string_type 2441: transform(const _CharT* __lo, const _CharT* __hi) const 2441: { return this->do_transform(__lo, __hi); } 2441: # 732 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: long 2441: hash(const _CharT* __lo, const _CharT* __hi) const 2441: { return this->do_hash(__lo, __hi); } 2441: 2441: 2441: int 2441: _M_compare(const _CharT*, const _CharT*) const throw(); 2441: 2441: size_t 2441: _M_transform(_CharT*, const _CharT*, size_t) const throw(); 2441: 2441: protected: 2441: 2441: virtual 2441: ~collate() 2441: { _S_destroy_c_locale(_M_c_locale_collate); } 2441: # 761 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: virtual int 2441: do_compare(const _CharT* __lo1, const _CharT* __hi1, 2441: const _CharT* __lo2, const _CharT* __hi2) const; 2441: # 775 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: virtual string_type 2441: do_transform(const _CharT* __lo, const _CharT* __hi) const; 2441: # 788 "/usr/include/c++/8/bits/locale_classes.h" 3 2441: virtual long 2441: do_hash(const _CharT* __lo, const _CharT* __hi) const; 2441: }; 2441: 2441: template 2441: locale::id collate<_CharT>::id; 2441: 2441: 2441: template<> 2441: int 2441: collate::_M_compare(const char*, const char*) const throw(); 2441: 2441: template<> 2441: size_t 2441: collate::_M_transform(char*, const char*, size_t) const throw(); 2441: 2441: 2441: template<> 2441: int 2441: collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); 2441: 2441: template<> 2441: size_t 2441: collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); 2441: 2441: 2441: 2441: template 2441: class __cxx11:: collate_byname : public collate<_CharT> 2441: { 2441: public: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: 2441: explicit 2441: collate_byname(const char* __s, size_t __refs = 0) 2441: : collate<_CharT>(__refs) 2441: { 2441: if (__builtin_strcmp(__s, "C") != 0 2441: && __builtin_strcmp(__s, "POSIX") != 0) 2441: { 2441: this->_S_destroy_c_locale(this->_M_c_locale_collate); 2441: this->_S_create_c_locale(this->_M_c_locale_collate, __s); 2441: } 2441: } 2441: 2441: 2441: explicit 2441: collate_byname(const string& __s, size_t __refs = 0) 2441: : collate_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~collate_byname() { } 2441: }; 2441: 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/bits/locale_classes.tcc" 1 3 2441: # 37 "/usr/include/c++/8/bits/locale_classes.tcc" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/locale_classes.tcc" 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: locale:: 2441: locale(const locale& __other, _Facet* __f) 2441: { 2441: _M_impl = new _Impl(*__other._M_impl, 1); 2441: 2441: try 2441: { _M_impl->_M_install_facet(&_Facet::id, __f); } 2441: catch(...) 2441: { 2441: _M_impl->_M_remove_reference(); 2441: throw; 2441: } 2441: delete [] _M_impl->_M_names[0]; 2441: _M_impl->_M_names[0] = 0; 2441: } 2441: 2441: template 2441: locale 2441: locale:: 2441: combine(const locale& __other) const 2441: { 2441: _Impl* __tmp = new _Impl(*_M_impl, 1); 2441: try 2441: { 2441: __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); 2441: } 2441: catch(...) 2441: { 2441: __tmp->_M_remove_reference(); 2441: throw; 2441: } 2441: return locale(__tmp); 2441: } 2441: 2441: template 2441: bool 2441: locale:: 2441: operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, 2441: const basic_string<_CharT, _Traits, _Alloc>& __s2) const 2441: { 2441: typedef std::collate<_CharT> __collate_type; 2441: const __collate_type& __collate = use_facet<__collate_type>(*this); 2441: return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), 2441: __s2.data(), __s2.data() + __s2.length()) < 0); 2441: } 2441: # 102 "/usr/include/c++/8/bits/locale_classes.tcc" 3 2441: template 2441: bool 2441: has_facet(const locale& __loc) throw() 2441: { 2441: const size_t __i = _Facet::id._M_id(); 2441: const locale::facet** __facets = __loc._M_impl->_M_facets; 2441: return (__i < __loc._M_impl->_M_facets_size 2441: 2441: && dynamic_cast(__facets[__i])); 2441: 2441: 2441: 2441: } 2441: # 130 "/usr/include/c++/8/bits/locale_classes.tcc" 3 2441: template 2441: const _Facet& 2441: use_facet(const locale& __loc) 2441: { 2441: const size_t __i = _Facet::id._M_id(); 2441: const locale::facet** __facets = __loc._M_impl->_M_facets; 2441: if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) 2441: __throw_bad_cast(); 2441: 2441: return dynamic_cast(*__facets[__i]); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: template 2441: int 2441: collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () 2441: { return 0; } 2441: 2441: 2441: template 2441: size_t 2441: collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () 2441: { return 0; } 2441: 2441: template 2441: int 2441: collate<_CharT>:: 2441: do_compare(const _CharT* __lo1, const _CharT* __hi1, 2441: const _CharT* __lo2, const _CharT* __hi2) const 2441: { 2441: 2441: 2441: const string_type __one(__lo1, __hi1); 2441: const string_type __two(__lo2, __hi2); 2441: 2441: const _CharT* __p = __one.c_str(); 2441: const _CharT* __pend = __one.data() + __one.length(); 2441: const _CharT* __q = __two.c_str(); 2441: const _CharT* __qend = __two.data() + __two.length(); 2441: 2441: 2441: 2441: 2441: for (;;) 2441: { 2441: const int __res = _M_compare(__p, __q); 2441: if (__res) 2441: return __res; 2441: 2441: __p += char_traits<_CharT>::length(__p); 2441: __q += char_traits<_CharT>::length(__q); 2441: if (__p == __pend && __q == __qend) 2441: return 0; 2441: else if (__p == __pend) 2441: return -1; 2441: else if (__q == __qend) 2441: return 1; 2441: 2441: __p++; 2441: __q++; 2441: } 2441: } 2441: 2441: template 2441: typename collate<_CharT>::string_type 2441: collate<_CharT>:: 2441: do_transform(const _CharT* __lo, const _CharT* __hi) const 2441: { 2441: string_type __ret; 2441: 2441: 2441: const string_type __str(__lo, __hi); 2441: 2441: const _CharT* __p = __str.c_str(); 2441: const _CharT* __pend = __str.data() + __str.length(); 2441: 2441: size_t __len = (__hi - __lo) * 2; 2441: 2441: _CharT* __c = new _CharT[__len]; 2441: 2441: try 2441: { 2441: 2441: 2441: 2441: for (;;) 2441: { 2441: 2441: size_t __res = _M_transform(__c, __p, __len); 2441: 2441: 2441: if (__res >= __len) 2441: { 2441: __len = __res + 1; 2441: delete [] __c, __c = 0; 2441: __c = new _CharT[__len]; 2441: __res = _M_transform(__c, __p, __len); 2441: } 2441: 2441: __ret.append(__c, __res); 2441: __p += char_traits<_CharT>::length(__p); 2441: if (__p == __pend) 2441: break; 2441: 2441: __p++; 2441: __ret.push_back(_CharT()); 2441: } 2441: } 2441: catch(...) 2441: { 2441: delete [] __c; 2441: throw; 2441: } 2441: 2441: delete [] __c; 2441: 2441: return __ret; 2441: } 2441: 2441: template 2441: long 2441: collate<_CharT>:: 2441: do_hash(const _CharT* __lo, const _CharT* __hi) const 2441: { 2441: unsigned long __val = 0; 2441: for (; __lo < __hi; ++__lo) 2441: __val = 2441: *__lo + ((__val << 7) 2441: | (__val >> (__gnu_cxx::__numeric_traits:: 2441: __digits - 7))); 2441: return static_cast(__val); 2441: } 2441: 2441: 2441: 2441: 2441: extern template class collate; 2441: extern template class collate_byname; 2441: 2441: extern template 2441: const collate& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: extern template class collate; 2441: extern template class collate_byname; 2441: 2441: extern template 2441: const collate& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: 2441: 2441: } 2441: # 852 "/usr/include/c++/8/bits/locale_classes.h" 2 3 2441: # 42 "/usr/include/c++/8/bits/ios_base.h" 2 3 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/system_error" 1 3 2441: # 32 "/usr/include/c++/8/system_error" 3 2441: 2441: # 33 "/usr/include/c++/8/system_error" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/error_constants.h" 1 3 2441: # 34 "/usr/include/i386-linux-gnu/c++/8/bits/error_constants.h" 3 2441: # 1 "/usr/include/c++/8/cerrno" 1 3 2441: # 39 "/usr/include/c++/8/cerrno" 3 2441: 2441: # 40 "/usr/include/c++/8/cerrno" 3 2441: # 35 "/usr/include/i386-linux-gnu/c++/8/bits/error_constants.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: enum class errc 2441: { 2441: address_family_not_supported = 97, 2441: address_in_use = 98, 2441: address_not_available = 99, 2441: already_connected = 106, 2441: argument_list_too_long = 7, 2441: argument_out_of_domain = 33, 2441: bad_address = 14, 2441: bad_file_descriptor = 9, 2441: 2441: 2441: bad_message = 74, 2441: 2441: 2441: broken_pipe = 32, 2441: connection_aborted = 103, 2441: connection_already_in_progress = 114, 2441: connection_refused = 111, 2441: connection_reset = 104, 2441: cross_device_link = 18, 2441: destination_address_required = 89, 2441: device_or_resource_busy = 16, 2441: directory_not_empty = 39, 2441: executable_format_error = 8, 2441: file_exists = 17, 2441: file_too_large = 27, 2441: filename_too_long = 36, 2441: function_not_supported = 38, 2441: host_unreachable = 113, 2441: 2441: 2441: identifier_removed = 43, 2441: 2441: 2441: illegal_byte_sequence = 84, 2441: inappropriate_io_control_operation = 25, 2441: interrupted = 4, 2441: invalid_argument = 22, 2441: invalid_seek = 29, 2441: io_error = 5, 2441: is_a_directory = 21, 2441: message_size = 90, 2441: network_down = 100, 2441: network_reset = 102, 2441: network_unreachable = 101, 2441: no_buffer_space = 105, 2441: no_child_process = 10, 2441: 2441: 2441: no_link = 67, 2441: 2441: 2441: no_lock_available = 37, 2441: 2441: 2441: no_message_available = 61, 2441: 2441: 2441: no_message = 42, 2441: no_protocol_option = 92, 2441: no_space_on_device = 28, 2441: 2441: 2441: no_stream_resources = 63, 2441: 2441: 2441: no_such_device_or_address = 6, 2441: no_such_device = 19, 2441: no_such_file_or_directory = 2, 2441: no_such_process = 3, 2441: not_a_directory = 20, 2441: not_a_socket = 88, 2441: 2441: 2441: not_a_stream = 60, 2441: 2441: 2441: not_connected = 107, 2441: not_enough_memory = 12, 2441: 2441: 2441: not_supported = 95, 2441: 2441: 2441: 2441: operation_canceled = 125, 2441: 2441: 2441: operation_in_progress = 115, 2441: operation_not_permitted = 1, 2441: operation_not_supported = 95, 2441: operation_would_block = 11, 2441: 2441: 2441: owner_dead = 130, 2441: 2441: 2441: permission_denied = 13, 2441: 2441: 2441: protocol_error = 71, 2441: 2441: 2441: protocol_not_supported = 93, 2441: read_only_file_system = 30, 2441: resource_deadlock_would_occur = 35, 2441: resource_unavailable_try_again = 11, 2441: result_out_of_range = 34, 2441: 2441: 2441: state_not_recoverable = 131, 2441: 2441: 2441: 2441: stream_timeout = 62, 2441: 2441: 2441: 2441: text_file_busy = 26, 2441: 2441: 2441: timed_out = 110, 2441: too_many_files_open_in_system = 23, 2441: too_many_files_open = 24, 2441: too_many_links = 31, 2441: too_many_symbolic_link_levels = 40, 2441: 2441: 2441: value_too_large = 75, 2441: 2441: 2441: wrong_protocol_type = 91 2441: }; 2441: 2441: 2441: } 2441: # 40 "/usr/include/c++/8/system_error" 2 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: class error_code; 2441: class error_condition; 2441: class system_error; 2441: 2441: 2441: template 2441: struct is_error_code_enum : public false_type { }; 2441: 2441: 2441: template 2441: struct is_error_condition_enum : public false_type { }; 2441: 2441: template<> 2441: struct is_error_condition_enum 2441: : public true_type { }; 2441: # 71 "/usr/include/c++/8/system_error" 3 2441: inline namespace _V2 { 2441: 2441: 2441: class error_category 2441: { 2441: public: 2441: constexpr error_category() noexcept = default; 2441: 2441: virtual ~error_category(); 2441: 2441: error_category(const error_category&) = delete; 2441: error_category& operator=(const error_category&) = delete; 2441: 2441: virtual const char* 2441: name() const noexcept = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: private: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: virtual __cow_string 2441: _M_message(int) const; 2441: 2441: public: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: virtual string 2441: message(int) const = 0; 2441: # 110 "/usr/include/c++/8/system_error" 3 2441: public: 2441: virtual error_condition 2441: default_error_condition(int __i) const noexcept; 2441: 2441: virtual bool 2441: equivalent(int __i, const error_condition& __cond) const noexcept; 2441: 2441: virtual bool 2441: equivalent(const error_code& __code, int __i) const noexcept; 2441: 2441: bool 2441: operator<(const error_category& __other) const noexcept 2441: { return less()(this, &__other); } 2441: 2441: bool 2441: operator==(const error_category& __other) const noexcept 2441: { return this == &__other; } 2441: 2441: bool 2441: operator!=(const error_category& __other) const noexcept 2441: { return this != &__other; } 2441: }; 2441: 2441: 2441: __attribute__ ((__const__)) const error_category& system_category() noexcept; 2441: __attribute__ ((__const__)) const error_category& generic_category() noexcept; 2441: 2441: } 2441: 2441: error_code make_error_code(errc) noexcept; 2441: 2441: template 2441: struct hash; 2441: 2441: 2441: 2441: struct error_code 2441: { 2441: error_code() noexcept 2441: : _M_value(0), _M_cat(&system_category()) { } 2441: 2441: error_code(int __v, const error_category& __cat) noexcept 2441: : _M_value(__v), _M_cat(&__cat) { } 2441: 2441: template::value>::type> 2441: error_code(_ErrorCodeEnum __e) noexcept 2441: { *this = make_error_code(__e); } 2441: 2441: void 2441: assign(int __v, const error_category& __cat) noexcept 2441: { 2441: _M_value = __v; 2441: _M_cat = &__cat; 2441: } 2441: 2441: void 2441: clear() noexcept 2441: { assign(0, system_category()); } 2441: 2441: 2441: template 2441: typename enable_if::value, 2441: error_code&>::type 2441: operator=(_ErrorCodeEnum __e) noexcept 2441: { return *this = make_error_code(__e); } 2441: 2441: int 2441: value() const noexcept { return _M_value; } 2441: 2441: const error_category& 2441: category() const noexcept { return *_M_cat; } 2441: 2441: error_condition 2441: default_error_condition() const noexcept; 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: string 2441: message() const 2441: { return category().message(value()); } 2441: 2441: explicit operator bool() const noexcept 2441: { return _M_value != 0; } 2441: 2441: 2441: private: 2441: friend class hash; 2441: 2441: int _M_value; 2441: const error_category* _M_cat; 2441: }; 2441: 2441: 2441: inline error_code 2441: make_error_code(errc __e) noexcept 2441: { return error_code(static_cast(__e), generic_category()); } 2441: 2441: inline bool 2441: operator<(const error_code& __lhs, const error_code& __rhs) noexcept 2441: { 2441: return (__lhs.category() < __rhs.category() 2441: || (__lhs.category() == __rhs.category() 2441: && __lhs.value() < __rhs.value())); 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) 2441: { return (__os << __e.category().name() << ':' << __e.value()); } 2441: 2441: error_condition make_error_condition(errc) noexcept; 2441: 2441: 2441: 2441: struct error_condition 2441: { 2441: error_condition() noexcept 2441: : _M_value(0), _M_cat(&generic_category()) { } 2441: 2441: error_condition(int __v, const error_category& __cat) noexcept 2441: : _M_value(__v), _M_cat(&__cat) { } 2441: 2441: template::value>::type> 2441: error_condition(_ErrorConditionEnum __e) noexcept 2441: { *this = make_error_condition(__e); } 2441: 2441: void 2441: assign(int __v, const error_category& __cat) noexcept 2441: { 2441: _M_value = __v; 2441: _M_cat = &__cat; 2441: } 2441: 2441: 2441: template 2441: typename enable_if::value, error_condition&>::type 2441: operator=(_ErrorConditionEnum __e) noexcept 2441: { return *this = make_error_condition(__e); } 2441: 2441: void 2441: clear() noexcept 2441: { assign(0, generic_category()); } 2441: 2441: 2441: int 2441: value() const noexcept { return _M_value; } 2441: 2441: const error_category& 2441: category() const noexcept { return *_M_cat; } 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: string 2441: message() const 2441: { return category().message(value()); } 2441: 2441: explicit operator bool() const noexcept 2441: { return _M_value != 0; } 2441: 2441: 2441: private: 2441: int _M_value; 2441: const error_category* _M_cat; 2441: }; 2441: 2441: 2441: inline error_condition 2441: make_error_condition(errc __e) noexcept 2441: { return error_condition(static_cast(__e), generic_category()); } 2441: 2441: inline bool 2441: operator<(const error_condition& __lhs, 2441: const error_condition& __rhs) noexcept 2441: { 2441: return (__lhs.category() < __rhs.category() 2441: || (__lhs.category() == __rhs.category() 2441: && __lhs.value() < __rhs.value())); 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const error_code& __lhs, const error_code& __rhs) noexcept 2441: { return (__lhs.category() == __rhs.category() 2441: && __lhs.value() == __rhs.value()); } 2441: 2441: inline bool 2441: operator==(const error_code& __lhs, const error_condition& __rhs) noexcept 2441: { 2441: return (__lhs.category().equivalent(__lhs.value(), __rhs) 2441: || __rhs.category().equivalent(__lhs, __rhs.value())); 2441: } 2441: 2441: inline bool 2441: operator==(const error_condition& __lhs, const error_code& __rhs) noexcept 2441: { 2441: return (__rhs.category().equivalent(__rhs.value(), __lhs) 2441: || __lhs.category().equivalent(__rhs, __lhs.value())); 2441: } 2441: 2441: inline bool 2441: operator==(const error_condition& __lhs, 2441: const error_condition& __rhs) noexcept 2441: { 2441: return (__lhs.category() == __rhs.category() 2441: && __lhs.value() == __rhs.value()); 2441: } 2441: 2441: inline bool 2441: operator!=(const error_code& __lhs, const error_code& __rhs) noexcept 2441: { return !(__lhs == __rhs); } 2441: 2441: inline bool 2441: operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept 2441: { return !(__lhs == __rhs); } 2441: 2441: inline bool 2441: operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept 2441: { return !(__lhs == __rhs); } 2441: 2441: inline bool 2441: operator!=(const error_condition& __lhs, 2441: const error_condition& __rhs) noexcept 2441: { return !(__lhs == __rhs); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: class system_error : public std::runtime_error 2441: { 2441: private: 2441: error_code _M_code; 2441: 2441: public: 2441: system_error(error_code __ec = error_code()) 2441: : runtime_error(__ec.message()), _M_code(__ec) { } 2441: 2441: system_error(error_code __ec, const string& __what) 2441: : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { } 2441: 2441: system_error(error_code __ec, const char* __what) 2441: : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } 2441: 2441: system_error(int __v, const error_category& __ecat, const char* __what) 2441: : system_error(error_code(__v, __ecat), __what) { } 2441: 2441: system_error(int __v, const error_category& __ecat) 2441: : runtime_error(error_code(__v, __ecat).message()), 2441: _M_code(__v, __ecat) { } 2441: 2441: system_error(int __v, const error_category& __ecat, const string& __what) 2441: : runtime_error(__what + ": " + error_code(__v, __ecat).message()), 2441: _M_code(__v, __ecat) { } 2441: 2441: virtual ~system_error() noexcept; 2441: 2441: const error_code& 2441: code() const noexcept { return _M_code; } 2441: }; 2441: 2441: 2441: } 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: struct hash 2441: : public __hash_base 2441: { 2441: size_t 2441: operator()(const error_code& __e) const noexcept 2441: { 2441: const size_t __tmp = std::_Hash_impl::hash(__e._M_value); 2441: return std::_Hash_impl::__hash_combine(__e._M_cat, __tmp); 2441: } 2441: }; 2441: # 414 "/usr/include/c++/8/system_error" 3 2441: 2441: } 2441: # 47 "/usr/include/c++/8/bits/ios_base.h" 2 3 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum _Ios_Fmtflags 2441: { 2441: _S_boolalpha = 1L << 0, 2441: _S_dec = 1L << 1, 2441: _S_fixed = 1L << 2, 2441: _S_hex = 1L << 3, 2441: _S_internal = 1L << 4, 2441: _S_left = 1L << 5, 2441: _S_oct = 1L << 6, 2441: _S_right = 1L << 7, 2441: _S_scientific = 1L << 8, 2441: _S_showbase = 1L << 9, 2441: _S_showpoint = 1L << 10, 2441: _S_showpos = 1L << 11, 2441: _S_skipws = 1L << 12, 2441: _S_unitbuf = 1L << 13, 2441: _S_uppercase = 1L << 14, 2441: _S_adjustfield = _S_left | _S_right | _S_internal, 2441: _S_basefield = _S_dec | _S_oct | _S_hex, 2441: _S_floatfield = _S_scientific | _S_fixed, 2441: _S_ios_fmtflags_end = 1L << 16, 2441: _S_ios_fmtflags_max = 0x7fffffff, 2441: _S_ios_fmtflags_min = ~0x7fffffff 2441: }; 2441: 2441: inline constexpr _Ios_Fmtflags 2441: operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 2441: { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Fmtflags 2441: operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 2441: { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Fmtflags 2441: operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 2441: { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Fmtflags 2441: operator~(_Ios_Fmtflags __a) 2441: { return _Ios_Fmtflags(~static_cast(__a)); } 2441: 2441: inline const _Ios_Fmtflags& 2441: operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 2441: { return __a = __a | __b; } 2441: 2441: inline const _Ios_Fmtflags& 2441: operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 2441: { return __a = __a & __b; } 2441: 2441: inline const _Ios_Fmtflags& 2441: operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 2441: { return __a = __a ^ __b; } 2441: 2441: 2441: enum _Ios_Openmode 2441: { 2441: _S_app = 1L << 0, 2441: _S_ate = 1L << 1, 2441: _S_bin = 1L << 2, 2441: _S_in = 1L << 3, 2441: _S_out = 1L << 4, 2441: _S_trunc = 1L << 5, 2441: _S_ios_openmode_end = 1L << 16, 2441: _S_ios_openmode_max = 0x7fffffff, 2441: _S_ios_openmode_min = ~0x7fffffff 2441: }; 2441: 2441: inline constexpr _Ios_Openmode 2441: operator&(_Ios_Openmode __a, _Ios_Openmode __b) 2441: { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Openmode 2441: operator|(_Ios_Openmode __a, _Ios_Openmode __b) 2441: { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Openmode 2441: operator^(_Ios_Openmode __a, _Ios_Openmode __b) 2441: { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Openmode 2441: operator~(_Ios_Openmode __a) 2441: { return _Ios_Openmode(~static_cast(__a)); } 2441: 2441: inline const _Ios_Openmode& 2441: operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) 2441: { return __a = __a | __b; } 2441: 2441: inline const _Ios_Openmode& 2441: operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) 2441: { return __a = __a & __b; } 2441: 2441: inline const _Ios_Openmode& 2441: operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) 2441: { return __a = __a ^ __b; } 2441: 2441: 2441: enum _Ios_Iostate 2441: { 2441: _S_goodbit = 0, 2441: _S_badbit = 1L << 0, 2441: _S_eofbit = 1L << 1, 2441: _S_failbit = 1L << 2, 2441: _S_ios_iostate_end = 1L << 16, 2441: _S_ios_iostate_max = 0x7fffffff, 2441: _S_ios_iostate_min = ~0x7fffffff 2441: }; 2441: 2441: inline constexpr _Ios_Iostate 2441: operator&(_Ios_Iostate __a, _Ios_Iostate __b) 2441: { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Iostate 2441: operator|(_Ios_Iostate __a, _Ios_Iostate __b) 2441: { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Iostate 2441: operator^(_Ios_Iostate __a, _Ios_Iostate __b) 2441: { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } 2441: 2441: inline constexpr _Ios_Iostate 2441: operator~(_Ios_Iostate __a) 2441: { return _Ios_Iostate(~static_cast(__a)); } 2441: 2441: inline const _Ios_Iostate& 2441: operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) 2441: { return __a = __a | __b; } 2441: 2441: inline const _Ios_Iostate& 2441: operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) 2441: { return __a = __a & __b; } 2441: 2441: inline const _Ios_Iostate& 2441: operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) 2441: { return __a = __a ^ __b; } 2441: 2441: 2441: enum _Ios_Seekdir 2441: { 2441: _S_beg = 0, 2441: _S_cur = 1, 2441: _S_end = 2, 2441: _S_ios_seekdir_end = 1L << 16 2441: }; 2441: 2441: 2441: 2441: enum class io_errc { stream = 1 }; 2441: 2441: template <> struct is_error_code_enum : public true_type { }; 2441: 2441: const error_category& iostream_category() noexcept; 2441: 2441: inline error_code 2441: make_error_code(io_errc __e) noexcept 2441: { return error_code(static_cast(__e), iostream_category()); } 2441: 2441: inline error_condition 2441: make_error_condition(io_errc __e) noexcept 2441: { return error_condition(static_cast(__e), iostream_category()); } 2441: # 228 "/usr/include/c++/8/bits/ios_base.h" 3 2441: class ios_base 2441: { 2441: # 246 "/usr/include/c++/8/bits/ios_base.h" 3 2441: public: 2441: # 255 "/usr/include/c++/8/bits/ios_base.h" 3 2441: class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error 2441: { 2441: public: 2441: explicit 2441: failure(const string& __str); 2441: 2441: 2441: explicit 2441: failure(const string&, const error_code&); 2441: 2441: explicit 2441: failure(const char*, const error_code& = io_errc::stream); 2441: 2441: 2441: virtual 2441: ~failure() throw(); 2441: 2441: virtual const char* 2441: what() const throw(); 2441: }; 2441: # 323 "/usr/include/c++/8/bits/ios_base.h" 3 2441: typedef _Ios_Fmtflags fmtflags; 2441: 2441: 2441: static const fmtflags boolalpha = _S_boolalpha; 2441: 2441: 2441: static const fmtflags dec = _S_dec; 2441: 2441: 2441: static const fmtflags fixed = _S_fixed; 2441: 2441: 2441: static const fmtflags hex = _S_hex; 2441: 2441: 2441: 2441: 2441: static const fmtflags internal = _S_internal; 2441: 2441: 2441: 2441: static const fmtflags left = _S_left; 2441: 2441: 2441: static const fmtflags oct = _S_oct; 2441: 2441: 2441: 2441: static const fmtflags right = _S_right; 2441: 2441: 2441: static const fmtflags scientific = _S_scientific; 2441: 2441: 2441: 2441: static const fmtflags showbase = _S_showbase; 2441: 2441: 2441: 2441: static const fmtflags showpoint = _S_showpoint; 2441: 2441: 2441: static const fmtflags showpos = _S_showpos; 2441: 2441: 2441: static const fmtflags skipws = _S_skipws; 2441: 2441: 2441: static const fmtflags unitbuf = _S_unitbuf; 2441: 2441: 2441: 2441: static const fmtflags uppercase = _S_uppercase; 2441: 2441: 2441: static const fmtflags adjustfield = _S_adjustfield; 2441: 2441: 2441: static const fmtflags basefield = _S_basefield; 2441: 2441: 2441: static const fmtflags floatfield = _S_floatfield; 2441: # 398 "/usr/include/c++/8/bits/ios_base.h" 3 2441: typedef _Ios_Iostate iostate; 2441: 2441: 2441: 2441: static const iostate badbit = _S_badbit; 2441: 2441: 2441: static const iostate eofbit = _S_eofbit; 2441: 2441: 2441: 2441: 2441: static const iostate failbit = _S_failbit; 2441: 2441: 2441: static const iostate goodbit = _S_goodbit; 2441: # 429 "/usr/include/c++/8/bits/ios_base.h" 3 2441: typedef _Ios_Openmode openmode; 2441: 2441: 2441: static const openmode app = _S_app; 2441: 2441: 2441: static const openmode ate = _S_ate; 2441: 2441: 2441: 2441: 2441: static const openmode binary = _S_bin; 2441: 2441: 2441: static const openmode in = _S_in; 2441: 2441: 2441: static const openmode out = _S_out; 2441: 2441: 2441: static const openmode trunc = _S_trunc; 2441: # 461 "/usr/include/c++/8/bits/ios_base.h" 3 2441: typedef _Ios_Seekdir seekdir; 2441: 2441: 2441: static const seekdir beg = _S_beg; 2441: 2441: 2441: static const seekdir cur = _S_cur; 2441: 2441: 2441: static const seekdir end = _S_end; 2441: 2441: 2441: 2441: typedef int io_state; 2441: typedef int open_mode; 2441: typedef int seek_dir; 2441: 2441: typedef std::streampos streampos; 2441: typedef std::streamoff streamoff; 2441: # 489 "/usr/include/c++/8/bits/ios_base.h" 3 2441: enum event 2441: { 2441: erase_event, 2441: imbue_event, 2441: copyfmt_event 2441: }; 2441: # 506 "/usr/include/c++/8/bits/ios_base.h" 3 2441: typedef void (*event_callback) (event __e, ios_base& __b, int __i); 2441: # 518 "/usr/include/c++/8/bits/ios_base.h" 3 2441: void 2441: register_callback(event_callback __fn, int __index); 2441: 2441: protected: 2441: streamsize _M_precision; 2441: streamsize _M_width; 2441: fmtflags _M_flags; 2441: iostate _M_exception; 2441: iostate _M_streambuf_state; 2441: 2441: 2441: 2441: struct _Callback_list 2441: { 2441: 2441: _Callback_list* _M_next; 2441: ios_base::event_callback _M_fn; 2441: int _M_index; 2441: _Atomic_word _M_refcount; 2441: 2441: _Callback_list(ios_base::event_callback __fn, int __index, 2441: _Callback_list* __cb) 2441: : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } 2441: 2441: void 2441: _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 2441: 2441: 2441: int 2441: _M_remove_reference() 2441: { 2441: 2441: ; 2441: int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); 2441: if (__res == 0) 2441: { 2441: ; 2441: } 2441: return __res; 2441: } 2441: }; 2441: 2441: _Callback_list* _M_callbacks; 2441: 2441: void 2441: _M_call_callbacks(event __ev) throw(); 2441: 2441: void 2441: _M_dispose_callbacks(void) throw(); 2441: 2441: 2441: struct _Words 2441: { 2441: void* _M_pword; 2441: long _M_iword; 2441: _Words() : _M_pword(0), _M_iword(0) { } 2441: }; 2441: 2441: 2441: _Words _M_word_zero; 2441: 2441: 2441: 2441: enum { _S_local_word_size = 8 }; 2441: _Words _M_local_word[_S_local_word_size]; 2441: 2441: 2441: int _M_word_size; 2441: _Words* _M_word; 2441: 2441: _Words& 2441: _M_grow_words(int __index, bool __iword); 2441: 2441: 2441: locale _M_ios_locale; 2441: 2441: void 2441: _M_init() throw(); 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: class Init 2441: { 2441: friend class ios_base; 2441: public: 2441: Init(); 2441: ~Init(); 2441: 2441: private: 2441: static _Atomic_word _S_refcount; 2441: static bool _S_synced_with_stdio; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: fmtflags 2441: flags() const 2441: { return _M_flags; } 2441: # 631 "/usr/include/c++/8/bits/ios_base.h" 3 2441: fmtflags 2441: flags(fmtflags __fmtfl) 2441: { 2441: fmtflags __old = _M_flags; 2441: _M_flags = __fmtfl; 2441: return __old; 2441: } 2441: # 647 "/usr/include/c++/8/bits/ios_base.h" 3 2441: fmtflags 2441: setf(fmtflags __fmtfl) 2441: { 2441: fmtflags __old = _M_flags; 2441: _M_flags |= __fmtfl; 2441: return __old; 2441: } 2441: # 664 "/usr/include/c++/8/bits/ios_base.h" 3 2441: fmtflags 2441: setf(fmtflags __fmtfl, fmtflags __mask) 2441: { 2441: fmtflags __old = _M_flags; 2441: _M_flags &= ~__mask; 2441: _M_flags |= (__fmtfl & __mask); 2441: return __old; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: unsetf(fmtflags __mask) 2441: { _M_flags &= ~__mask; } 2441: # 690 "/usr/include/c++/8/bits/ios_base.h" 3 2441: streamsize 2441: precision() const 2441: { return _M_precision; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: streamsize 2441: precision(streamsize __prec) 2441: { 2441: streamsize __old = _M_precision; 2441: _M_precision = __prec; 2441: return __old; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: streamsize 2441: width() const 2441: { return _M_width; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: streamsize 2441: width(streamsize __wide) 2441: { 2441: streamsize __old = _M_width; 2441: _M_width = __wide; 2441: return __old; 2441: } 2441: # 741 "/usr/include/c++/8/bits/ios_base.h" 3 2441: static bool 2441: sync_with_stdio(bool __sync = true); 2441: # 753 "/usr/include/c++/8/bits/ios_base.h" 3 2441: locale 2441: imbue(const locale& __loc) throw(); 2441: # 764 "/usr/include/c++/8/bits/ios_base.h" 3 2441: locale 2441: getloc() const 2441: { return _M_ios_locale; } 2441: # 775 "/usr/include/c++/8/bits/ios_base.h" 3 2441: const locale& 2441: _M_getloc() const 2441: { return _M_ios_locale; } 2441: # 794 "/usr/include/c++/8/bits/ios_base.h" 3 2441: static int 2441: xalloc() throw(); 2441: # 810 "/usr/include/c++/8/bits/ios_base.h" 3 2441: long& 2441: iword(int __ix) 2441: { 2441: _Words& __word = (__ix < _M_word_size) 2441: ? _M_word[__ix] : _M_grow_words(__ix, true); 2441: return __word._M_iword; 2441: } 2441: # 831 "/usr/include/c++/8/bits/ios_base.h" 3 2441: void*& 2441: pword(int __ix) 2441: { 2441: _Words& __word = (__ix < _M_word_size) 2441: ? _M_word[__ix] : _M_grow_words(__ix, false); 2441: return __word._M_pword; 2441: } 2441: # 848 "/usr/include/c++/8/bits/ios_base.h" 3 2441: virtual ~ios_base(); 2441: 2441: protected: 2441: ios_base() throw (); 2441: # 862 "/usr/include/c++/8/bits/ios_base.h" 3 2441: public: 2441: ios_base(const ios_base&) = delete; 2441: 2441: ios_base& 2441: operator=(const ios_base&) = delete; 2441: 2441: protected: 2441: void 2441: _M_move(ios_base&) noexcept; 2441: 2441: void 2441: _M_swap(ios_base& __rhs) noexcept; 2441: 2441: }; 2441: 2441: 2441: 2441: inline ios_base& 2441: boolalpha(ios_base& __base) 2441: { 2441: __base.setf(ios_base::boolalpha); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: noboolalpha(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::boolalpha); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: showbase(ios_base& __base) 2441: { 2441: __base.setf(ios_base::showbase); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: noshowbase(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::showbase); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: showpoint(ios_base& __base) 2441: { 2441: __base.setf(ios_base::showpoint); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: noshowpoint(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::showpoint); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: showpos(ios_base& __base) 2441: { 2441: __base.setf(ios_base::showpos); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: noshowpos(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::showpos); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: skipws(ios_base& __base) 2441: { 2441: __base.setf(ios_base::skipws); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: noskipws(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::skipws); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: uppercase(ios_base& __base) 2441: { 2441: __base.setf(ios_base::uppercase); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: nouppercase(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::uppercase); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: unitbuf(ios_base& __base) 2441: { 2441: __base.setf(ios_base::unitbuf); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: nounitbuf(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::unitbuf); 2441: return __base; 2441: } 2441: 2441: 2441: 2441: inline ios_base& 2441: internal(ios_base& __base) 2441: { 2441: __base.setf(ios_base::internal, ios_base::adjustfield); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: left(ios_base& __base) 2441: { 2441: __base.setf(ios_base::left, ios_base::adjustfield); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: right(ios_base& __base) 2441: { 2441: __base.setf(ios_base::right, ios_base::adjustfield); 2441: return __base; 2441: } 2441: 2441: 2441: 2441: inline ios_base& 2441: dec(ios_base& __base) 2441: { 2441: __base.setf(ios_base::dec, ios_base::basefield); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: hex(ios_base& __base) 2441: { 2441: __base.setf(ios_base::hex, ios_base::basefield); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: oct(ios_base& __base) 2441: { 2441: __base.setf(ios_base::oct, ios_base::basefield); 2441: return __base; 2441: } 2441: 2441: 2441: 2441: inline ios_base& 2441: fixed(ios_base& __base) 2441: { 2441: __base.setf(ios_base::fixed, ios_base::floatfield); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: scientific(ios_base& __base) 2441: { 2441: __base.setf(ios_base::scientific, ios_base::floatfield); 2441: return __base; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: inline ios_base& 2441: hexfloat(ios_base& __base) 2441: { 2441: __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); 2441: return __base; 2441: } 2441: 2441: 2441: inline ios_base& 2441: defaultfloat(ios_base& __base) 2441: { 2441: __base.unsetf(ios_base::floatfield); 2441: return __base; 2441: } 2441: 2441: 2441: 2441: } 2441: # 43 "/usr/include/c++/8/ios" 2 3 2441: # 1 "/usr/include/c++/8/streambuf" 1 3 2441: # 36 "/usr/include/c++/8/streambuf" 3 2441: 2441: # 37 "/usr/include/c++/8/streambuf" 3 2441: # 45 "/usr/include/c++/8/streambuf" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: template 2441: streamsize 2441: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, 2441: basic_streambuf<_CharT, _Traits>*, bool&); 2441: # 121 "/usr/include/c++/8/streambuf" 3 2441: template 2441: class basic_streambuf 2441: { 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: typedef typename traits_type::int_type int_type; 2441: typedef typename traits_type::pos_type pos_type; 2441: typedef typename traits_type::off_type off_type; 2441: 2441: 2441: 2441: 2441: typedef basic_streambuf __streambuf_type; 2441: 2441: 2441: friend class basic_ios; 2441: friend class basic_istream; 2441: friend class basic_ostream; 2441: friend class istreambuf_iterator; 2441: friend class ostreambuf_iterator; 2441: 2441: friend streamsize 2441: __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: _CharT2*>::__type 2441: __copy_move_a2(istreambuf_iterator<_CharT2>, 2441: istreambuf_iterator<_CharT2>, _CharT2*); 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: istreambuf_iterator<_CharT2> >::__type 2441: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 2441: const _CharT2&); 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: void>::__type 2441: advance(istreambuf_iterator<_CharT2>&, _Distance); 2441: 2441: template 2441: friend basic_istream<_CharT2, _Traits2>& 2441: operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); 2441: 2441: template 2441: friend basic_istream<_CharT2, _Traits2>& 2441: operator>>(basic_istream<_CharT2, _Traits2>&, 2441: basic_string<_CharT2, _Traits2, _Alloc>&); 2441: 2441: template 2441: friend basic_istream<_CharT2, _Traits2>& 2441: getline(basic_istream<_CharT2, _Traits2>&, 2441: basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: char_type* _M_in_beg; 2441: char_type* _M_in_cur; 2441: char_type* _M_in_end; 2441: char_type* _M_out_beg; 2441: char_type* _M_out_cur; 2441: char_type* _M_out_end; 2441: 2441: 2441: locale _M_buf_locale; 2441: 2441: public: 2441: 2441: virtual 2441: ~basic_streambuf() 2441: { } 2441: # 215 "/usr/include/c++/8/streambuf" 3 2441: locale 2441: pubimbue(const locale& __loc) 2441: { 2441: locale __tmp(this->getloc()); 2441: this->imbue(__loc); 2441: _M_buf_locale = __loc; 2441: return __tmp; 2441: } 2441: # 232 "/usr/include/c++/8/streambuf" 3 2441: locale 2441: getloc() const 2441: { return _M_buf_locale; } 2441: # 245 "/usr/include/c++/8/streambuf" 3 2441: basic_streambuf* 2441: pubsetbuf(char_type* __s, streamsize __n) 2441: { return this->setbuf(__s, __n); } 2441: # 257 "/usr/include/c++/8/streambuf" 3 2441: pos_type 2441: pubseekoff(off_type __off, ios_base::seekdir __way, 2441: ios_base::openmode __mode = ios_base::in | ios_base::out) 2441: { return this->seekoff(__off, __way, __mode); } 2441: # 269 "/usr/include/c++/8/streambuf" 3 2441: pos_type 2441: pubseekpos(pos_type __sp, 2441: ios_base::openmode __mode = ios_base::in | ios_base::out) 2441: { return this->seekpos(__sp, __mode); } 2441: 2441: 2441: 2441: 2441: int 2441: pubsync() { return this->sync(); } 2441: # 290 "/usr/include/c++/8/streambuf" 3 2441: streamsize 2441: in_avail() 2441: { 2441: const streamsize __ret = this->egptr() - this->gptr(); 2441: return __ret ? __ret : this->showmanyc(); 2441: } 2441: # 304 "/usr/include/c++/8/streambuf" 3 2441: int_type 2441: snextc() 2441: { 2441: int_type __ret = traits_type::eof(); 2441: if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), 2441: __ret), true)) 2441: __ret = this->sgetc(); 2441: return __ret; 2441: } 2441: # 322 "/usr/include/c++/8/streambuf" 3 2441: int_type 2441: sbumpc() 2441: { 2441: int_type __ret; 2441: if (__builtin_expect(this->gptr() < this->egptr(), true)) 2441: { 2441: __ret = traits_type::to_int_type(*this->gptr()); 2441: this->gbump(1); 2441: } 2441: else 2441: __ret = this->uflow(); 2441: return __ret; 2441: } 2441: # 344 "/usr/include/c++/8/streambuf" 3 2441: int_type 2441: sgetc() 2441: { 2441: int_type __ret; 2441: if (__builtin_expect(this->gptr() < this->egptr(), true)) 2441: __ret = traits_type::to_int_type(*this->gptr()); 2441: else 2441: __ret = this->underflow(); 2441: return __ret; 2441: } 2441: # 363 "/usr/include/c++/8/streambuf" 3 2441: streamsize 2441: sgetn(char_type* __s, streamsize __n) 2441: { return this->xsgetn(__s, __n); } 2441: # 378 "/usr/include/c++/8/streambuf" 3 2441: int_type 2441: sputbackc(char_type __c) 2441: { 2441: int_type __ret; 2441: const bool __testpos = this->eback() < this->gptr(); 2441: if (__builtin_expect(!__testpos || 2441: !traits_type::eq(__c, this->gptr()[-1]), false)) 2441: __ret = this->pbackfail(traits_type::to_int_type(__c)); 2441: else 2441: { 2441: this->gbump(-1); 2441: __ret = traits_type::to_int_type(*this->gptr()); 2441: } 2441: return __ret; 2441: } 2441: # 403 "/usr/include/c++/8/streambuf" 3 2441: int_type 2441: sungetc() 2441: { 2441: int_type __ret; 2441: if (__builtin_expect(this->eback() < this->gptr(), true)) 2441: { 2441: this->gbump(-1); 2441: __ret = traits_type::to_int_type(*this->gptr()); 2441: } 2441: else 2441: __ret = this->pbackfail(); 2441: return __ret; 2441: } 2441: # 430 "/usr/include/c++/8/streambuf" 3 2441: int_type 2441: sputc(char_type __c) 2441: { 2441: int_type __ret; 2441: if (__builtin_expect(this->pptr() < this->epptr(), true)) 2441: { 2441: *this->pptr() = __c; 2441: this->pbump(1); 2441: __ret = traits_type::to_int_type(__c); 2441: } 2441: else 2441: __ret = this->overflow(traits_type::to_int_type(__c)); 2441: return __ret; 2441: } 2441: # 456 "/usr/include/c++/8/streambuf" 3 2441: streamsize 2441: sputn(const char_type* __s, streamsize __n) 2441: { return this->xsputn(__s, __n); } 2441: 2441: protected: 2441: # 470 "/usr/include/c++/8/streambuf" 3 2441: basic_streambuf() 2441: : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), 2441: _M_out_beg(0), _M_out_cur(0), _M_out_end(0), 2441: _M_buf_locale(locale()) 2441: { } 2441: # 488 "/usr/include/c++/8/streambuf" 3 2441: char_type* 2441: eback() const { return _M_in_beg; } 2441: 2441: char_type* 2441: gptr() const { return _M_in_cur; } 2441: 2441: char_type* 2441: egptr() const { return _M_in_end; } 2441: # 504 "/usr/include/c++/8/streambuf" 3 2441: void 2441: gbump(int __n) { _M_in_cur += __n; } 2441: # 515 "/usr/include/c++/8/streambuf" 3 2441: void 2441: setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) 2441: { 2441: _M_in_beg = __gbeg; 2441: _M_in_cur = __gnext; 2441: _M_in_end = __gend; 2441: } 2441: # 535 "/usr/include/c++/8/streambuf" 3 2441: char_type* 2441: pbase() const { return _M_out_beg; } 2441: 2441: char_type* 2441: pptr() const { return _M_out_cur; } 2441: 2441: char_type* 2441: epptr() const { return _M_out_end; } 2441: # 551 "/usr/include/c++/8/streambuf" 3 2441: void 2441: pbump(int __n) { _M_out_cur += __n; } 2441: # 561 "/usr/include/c++/8/streambuf" 3 2441: void 2441: setp(char_type* __pbeg, char_type* __pend) 2441: { 2441: _M_out_beg = _M_out_cur = __pbeg; 2441: _M_out_end = __pend; 2441: } 2441: # 582 "/usr/include/c++/8/streambuf" 3 2441: virtual void 2441: imbue(const locale& __loc __attribute__ ((__unused__))) 2441: { } 2441: # 597 "/usr/include/c++/8/streambuf" 3 2441: virtual basic_streambuf* 2441: setbuf(char_type*, streamsize) 2441: { return this; } 2441: # 608 "/usr/include/c++/8/streambuf" 3 2441: virtual pos_type 2441: seekoff(off_type, ios_base::seekdir, 2441: ios_base::openmode = ios_base::in | ios_base::out) 2441: { return pos_type(off_type(-1)); } 2441: # 620 "/usr/include/c++/8/streambuf" 3 2441: virtual pos_type 2441: seekpos(pos_type, 2441: ios_base::openmode = ios_base::in | ios_base::out) 2441: { return pos_type(off_type(-1)); } 2441: # 633 "/usr/include/c++/8/streambuf" 3 2441: virtual int 2441: sync() { return 0; } 2441: # 655 "/usr/include/c++/8/streambuf" 3 2441: virtual streamsize 2441: showmanyc() { return 0; } 2441: # 671 "/usr/include/c++/8/streambuf" 3 2441: virtual streamsize 2441: xsgetn(char_type* __s, streamsize __n); 2441: # 693 "/usr/include/c++/8/streambuf" 3 2441: virtual int_type 2441: underflow() 2441: { return traits_type::eof(); } 2441: # 706 "/usr/include/c++/8/streambuf" 3 2441: virtual int_type 2441: uflow() 2441: { 2441: int_type __ret = traits_type::eof(); 2441: const bool __testeof = traits_type::eq_int_type(this->underflow(), 2441: __ret); 2441: if (!__testeof) 2441: { 2441: __ret = traits_type::to_int_type(*this->gptr()); 2441: this->gbump(1); 2441: } 2441: return __ret; 2441: } 2441: # 730 "/usr/include/c++/8/streambuf" 3 2441: virtual int_type 2441: pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 2441: { return traits_type::eof(); } 2441: # 748 "/usr/include/c++/8/streambuf" 3 2441: virtual streamsize 2441: xsputn(const char_type* __s, streamsize __n); 2441: # 774 "/usr/include/c++/8/streambuf" 3 2441: virtual int_type 2441: overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 2441: { return traits_type::eof(); } 2441: 2441: 2441: 2441: public: 2441: # 790 "/usr/include/c++/8/streambuf" 3 2441: [[__deprecated__("stossc is deprecated, use sbumpc instead")]] 2441: 2441: void 2441: stossc() 2441: { 2441: if (this->gptr() < this->egptr()) 2441: this->gbump(1); 2441: else 2441: this->uflow(); 2441: } 2441: 2441: 2441: 2441: void 2441: __safe_gbump(streamsize __n) { _M_in_cur += __n; } 2441: 2441: void 2441: __safe_pbump(streamsize __n) { _M_out_cur += __n; } 2441: 2441: 2441: 2441: 2441: protected: 2441: 2441: basic_streambuf(const basic_streambuf&); 2441: 2441: basic_streambuf& 2441: operator=(const basic_streambuf&); 2441: 2441: 2441: void 2441: swap(basic_streambuf& __sb) 2441: { 2441: std::swap(_M_in_beg, __sb._M_in_beg); 2441: std::swap(_M_in_cur, __sb._M_in_cur); 2441: std::swap(_M_in_end, __sb._M_in_end); 2441: std::swap(_M_out_beg, __sb._M_out_beg); 2441: std::swap(_M_out_cur, __sb._M_out_cur); 2441: std::swap(_M_out_end, __sb._M_out_end); 2441: std::swap(_M_buf_locale, __sb._M_buf_locale); 2441: } 2441: 2441: }; 2441: 2441: 2441: template 2441: std::basic_streambuf<_CharT, _Traits>:: 2441: basic_streambuf(const basic_streambuf&) = default; 2441: 2441: template 2441: std::basic_streambuf<_CharT, _Traits>& 2441: std::basic_streambuf<_CharT, _Traits>:: 2441: operator=(const basic_streambuf&) = default; 2441: 2441: 2441: 2441: template<> 2441: streamsize 2441: __copy_streambufs_eof(basic_streambuf* __sbin, 2441: basic_streambuf* __sbout, bool& __ineof); 2441: 2441: template<> 2441: streamsize 2441: __copy_streambufs_eof(basic_streambuf* __sbin, 2441: basic_streambuf* __sbout, bool& __ineof); 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/bits/streambuf.tcc" 1 3 2441: # 37 "/usr/include/c++/8/bits/streambuf.tcc" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/streambuf.tcc" 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: streamsize 2441: basic_streambuf<_CharT, _Traits>:: 2441: xsgetn(char_type* __s, streamsize __n) 2441: { 2441: streamsize __ret = 0; 2441: while (__ret < __n) 2441: { 2441: const streamsize __buf_len = this->egptr() - this->gptr(); 2441: if (__buf_len) 2441: { 2441: const streamsize __remaining = __n - __ret; 2441: const streamsize __len = std::min(__buf_len, __remaining); 2441: traits_type::copy(__s, this->gptr(), __len); 2441: __ret += __len; 2441: __s += __len; 2441: this->__safe_gbump(__len); 2441: } 2441: 2441: if (__ret < __n) 2441: { 2441: const int_type __c = this->uflow(); 2441: if (!traits_type::eq_int_type(__c, traits_type::eof())) 2441: { 2441: traits_type::assign(*__s++, traits_type::to_char_type(__c)); 2441: ++__ret; 2441: } 2441: else 2441: break; 2441: } 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: streamsize 2441: basic_streambuf<_CharT, _Traits>:: 2441: xsputn(const char_type* __s, streamsize __n) 2441: { 2441: streamsize __ret = 0; 2441: while (__ret < __n) 2441: { 2441: const streamsize __buf_len = this->epptr() - this->pptr(); 2441: if (__buf_len) 2441: { 2441: const streamsize __remaining = __n - __ret; 2441: const streamsize __len = std::min(__buf_len, __remaining); 2441: traits_type::copy(this->pptr(), __s, __len); 2441: __ret += __len; 2441: __s += __len; 2441: this->__safe_pbump(__len); 2441: } 2441: 2441: if (__ret < __n) 2441: { 2441: int_type __c = this->overflow(traits_type::to_int_type(*__s)); 2441: if (!traits_type::eq_int_type(__c, traits_type::eof())) 2441: { 2441: ++__ret; 2441: ++__s; 2441: } 2441: else 2441: break; 2441: } 2441: } 2441: return __ret; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: streamsize 2441: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, 2441: basic_streambuf<_CharT, _Traits>* __sbout, 2441: bool& __ineof) 2441: { 2441: streamsize __ret = 0; 2441: __ineof = true; 2441: typename _Traits::int_type __c = __sbin->sgetc(); 2441: while (!_Traits::eq_int_type(__c, _Traits::eof())) 2441: { 2441: __c = __sbout->sputc(_Traits::to_char_type(__c)); 2441: if (_Traits::eq_int_type(__c, _Traits::eof())) 2441: { 2441: __ineof = false; 2441: break; 2441: } 2441: ++__ret; 2441: __c = __sbin->snextc(); 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: inline streamsize 2441: __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, 2441: basic_streambuf<_CharT, _Traits>* __sbout) 2441: { 2441: bool __ineof; 2441: return __copy_streambufs_eof(__sbin, __sbout, __ineof); 2441: } 2441: 2441: 2441: 2441: 2441: extern template class basic_streambuf; 2441: extern template 2441: streamsize 2441: __copy_streambufs(basic_streambuf*, 2441: basic_streambuf*); 2441: extern template 2441: streamsize 2441: __copy_streambufs_eof(basic_streambuf*, 2441: basic_streambuf*, bool&); 2441: 2441: 2441: extern template class basic_streambuf; 2441: extern template 2441: streamsize 2441: __copy_streambufs(basic_streambuf*, 2441: basic_streambuf*); 2441: extern template 2441: streamsize 2441: __copy_streambufs_eof(basic_streambuf*, 2441: basic_streambuf*, bool&); 2441: 2441: 2441: 2441: 2441: } 2441: # 863 "/usr/include/c++/8/streambuf" 2 3 2441: # 44 "/usr/include/c++/8/ios" 2 3 2441: # 1 "/usr/include/c++/8/bits/basic_ios.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/locale_facets.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: 2441: # 1 "/usr/include/c++/8/cwctype" 1 3 2441: # 39 "/usr/include/c++/8/cwctype" 3 2441: 2441: # 40 "/usr/include/c++/8/cwctype" 3 2441: # 50 "/usr/include/c++/8/cwctype" 3 2441: # 1 "/usr/include/wctype.h" 1 3 4 2441: # 38 "/usr/include/wctype.h" 3 4 2441: # 1 "/usr/include/i386-linux-gnu/bits/wctype-wchar.h" 1 3 4 2441: # 38 "/usr/include/i386-linux-gnu/bits/wctype-wchar.h" 3 4 2441: typedef unsigned long int wctype_t; 2441: # 56 "/usr/include/i386-linux-gnu/bits/wctype-wchar.h" 3 4 2441: enum 2441: { 2441: __ISwupper = 0, 2441: __ISwlower = 1, 2441: __ISwalpha = 2, 2441: __ISwdigit = 3, 2441: __ISwxdigit = 4, 2441: __ISwspace = 5, 2441: __ISwprint = 6, 2441: __ISwgraph = 7, 2441: __ISwblank = 8, 2441: __ISwcntrl = 9, 2441: __ISwpunct = 10, 2441: __ISwalnum = 11, 2441: 2441: _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), 2441: _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), 2441: _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), 2441: _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), 2441: _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), 2441: _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), 2441: _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), 2441: _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), 2441: _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), 2441: _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), 2441: _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), 2441: _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) 2441: }; 2441: 2441: 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int iswalnum (wint_t __wc) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern int iswalpha (wint_t __wc) throw (); 2441: 2441: 2441: extern int iswcntrl (wint_t __wc) throw (); 2441: 2441: 2441: 2441: extern int iswdigit (wint_t __wc) throw (); 2441: 2441: 2441: 2441: extern int iswgraph (wint_t __wc) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswlower (wint_t __wc) throw (); 2441: 2441: 2441: extern int iswprint (wint_t __wc) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswpunct (wint_t __wc) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswspace (wint_t __wc) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswupper (wint_t __wc) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswxdigit (wint_t __wc) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern int iswblank (wint_t __wc) throw (); 2441: # 155 "/usr/include/i386-linux-gnu/bits/wctype-wchar.h" 3 4 2441: extern wctype_t wctype (const char *__property) throw (); 2441: 2441: 2441: 2441: extern int iswctype (wint_t __wc, wctype_t __desc) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t towlower (wint_t __wc) throw (); 2441: 2441: 2441: extern wint_t towupper (wint_t __wc) throw (); 2441: 2441: } 2441: # 39 "/usr/include/wctype.h" 2 3 4 2441: 2441: 2441: 2441: 2441: 2441: extern "C" { 2441: 2441: 2441: 2441: typedef const __int32_t *wctrans_t; 2441: 2441: 2441: 2441: extern wctrans_t wctrans (const char *__property) throw (); 2441: 2441: 2441: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern int iswalnum_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: 2441: 2441: extern int iswalpha_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: extern int iswcntrl_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: extern int iswdigit_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: extern int iswgraph_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswlower_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: extern int iswprint_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswpunct_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswspace_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswupper_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswxdigit_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: 2441: extern int iswblank_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: extern wctype_t wctype_l (const char *__property, locale_t __locale) 2441: throw (); 2441: 2441: 2441: 2441: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale) 2441: throw (); 2441: 2441: 2441: 2441: 2441: 2441: 2441: extern wint_t towlower_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: extern wint_t towupper_l (wint_t __wc, locale_t __locale) throw (); 2441: 2441: 2441: 2441: extern wctrans_t wctrans_l (const char *__property, locale_t __locale) 2441: throw (); 2441: 2441: 2441: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, 2441: locale_t __locale) throw (); 2441: 2441: 2441: 2441: } 2441: # 51 "/usr/include/c++/8/cwctype" 2 3 2441: # 80 "/usr/include/c++/8/cwctype" 3 2441: namespace std 2441: { 2441: using ::wctrans_t; 2441: using ::wctype_t; 2441: using ::wint_t; 2441: 2441: using ::iswalnum; 2441: using ::iswalpha; 2441: 2441: using ::iswblank; 2441: 2441: using ::iswcntrl; 2441: using ::iswctype; 2441: using ::iswdigit; 2441: using ::iswgraph; 2441: using ::iswlower; 2441: using ::iswprint; 2441: using ::iswpunct; 2441: using ::iswspace; 2441: using ::iswupper; 2441: using ::iswxdigit; 2441: using ::towctrans; 2441: using ::towlower; 2441: using ::towupper; 2441: using ::wctrans; 2441: using ::wctype; 2441: } 2441: # 40 "/usr/include/c++/8/bits/locale_facets.h" 2 3 2441: # 1 "/usr/include/c++/8/cctype" 1 3 2441: # 39 "/usr/include/c++/8/cctype" 3 2441: 2441: # 40 "/usr/include/c++/8/cctype" 3 2441: # 41 "/usr/include/c++/8/bits/locale_facets.h" 2 3 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/ctype_base.h" 1 3 2441: # 36 "/usr/include/i386-linux-gnu/c++/8/bits/ctype_base.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: struct ctype_base 2441: { 2441: 2441: typedef const int* __to_type; 2441: 2441: 2441: 2441: typedef unsigned short mask; 2441: static const mask upper = _ISupper; 2441: static const mask lower = _ISlower; 2441: static const mask alpha = _ISalpha; 2441: static const mask digit = _ISdigit; 2441: static const mask xdigit = _ISxdigit; 2441: static const mask space = _ISspace; 2441: static const mask print = _ISprint; 2441: static const mask graph = _ISalpha | _ISdigit | _ISpunct; 2441: static const mask cntrl = _IScntrl; 2441: static const mask punct = _ISpunct; 2441: static const mask alnum = _ISalpha | _ISdigit; 2441: 2441: static const mask blank = _ISblank; 2441: 2441: }; 2441: 2441: 2441: } 2441: # 42 "/usr/include/c++/8/bits/locale_facets.h" 2 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/streambuf_iterator.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 49 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 2441: template 2441: class istreambuf_iterator 2441: : public iterator 2441: 2441: 2441: 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: typedef typename _Traits::int_type int_type; 2441: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 2441: typedef basic_istream<_CharT, _Traits> istream_type; 2441: 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: ostreambuf_iterator<_CharT2> >::__type 2441: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 2441: ostreambuf_iterator<_CharT2>); 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: _CharT2*>::__type 2441: __copy_move_a2(istreambuf_iterator<_CharT2>, 2441: istreambuf_iterator<_CharT2>, _CharT2*); 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: istreambuf_iterator<_CharT2> >::__type 2441: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 2441: const _CharT2&); 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: void>::__type 2441: advance(istreambuf_iterator<_CharT2>&, _Distance); 2441: 2441: private: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: mutable streambuf_type* _M_sbuf; 2441: int_type _M_c; 2441: 2441: public: 2441: 2441: constexpr istreambuf_iterator() noexcept 2441: : _M_sbuf(0), _M_c(traits_type::eof()) { } 2441: 2441: 2441: istreambuf_iterator(const istreambuf_iterator&) noexcept = default; 2441: 2441: ~istreambuf_iterator() = default; 2441: 2441: 2441: 2441: istreambuf_iterator(istream_type& __s) noexcept 2441: : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } 2441: 2441: 2441: istreambuf_iterator(streambuf_type* __s) noexcept 2441: : _M_sbuf(__s), _M_c(traits_type::eof()) { } 2441: 2441: 2441: 2441: 2441: char_type 2441: operator*() const 2441: { 2441: int_type __c = _M_get(); 2441: # 139 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 2441: return traits_type::to_char_type(__c); 2441: } 2441: 2441: 2441: istreambuf_iterator& 2441: operator++() 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: _M_sbuf->sbumpc(); 2441: _M_c = traits_type::eof(); 2441: return *this; 2441: } 2441: 2441: 2441: istreambuf_iterator 2441: operator++(int) 2441: { 2441: 2441: 2441: 2441: ; 2441: 2441: istreambuf_iterator __old = *this; 2441: __old._M_c = _M_sbuf->sbumpc(); 2441: _M_c = traits_type::eof(); 2441: return __old; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: equal(const istreambuf_iterator& __b) const 2441: { return _M_at_eof() == __b._M_at_eof(); } 2441: 2441: private: 2441: int_type 2441: _M_get() const 2441: { 2441: int_type __ret = _M_c; 2441: if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) 2441: _M_sbuf = 0; 2441: return __ret; 2441: } 2441: 2441: bool 2441: _M_at_eof() const 2441: { return _S_is_eof(_M_get()); } 2441: 2441: static bool 2441: _S_is_eof(int_type __c) 2441: { 2441: const int_type __eof = traits_type::eof(); 2441: return traits_type::eq_int_type(__c, __eof); 2441: } 2441: }; 2441: 2441: template 2441: inline bool 2441: operator==(const istreambuf_iterator<_CharT, _Traits>& __a, 2441: const istreambuf_iterator<_CharT, _Traits>& __b) 2441: { return __a.equal(__b); } 2441: 2441: template 2441: inline bool 2441: operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, 2441: const istreambuf_iterator<_CharT, _Traits>& __b) 2441: { return !__a.equal(__b); } 2441: 2441: 2441: template 2441: class ostreambuf_iterator 2441: : public iterator 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 2441: typedef basic_ostream<_CharT, _Traits> ostream_type; 2441: 2441: 2441: template 2441: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 2441: ostreambuf_iterator<_CharT2> >::__type 2441: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 2441: ostreambuf_iterator<_CharT2>); 2441: 2441: private: 2441: streambuf_type* _M_sbuf; 2441: bool _M_failed; 2441: 2441: public: 2441: 2441: ostreambuf_iterator(ostream_type& __s) noexcept 2441: : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } 2441: 2441: 2441: ostreambuf_iterator(streambuf_type* __s) noexcept 2441: : _M_sbuf(__s), _M_failed(!_M_sbuf) { } 2441: 2441: 2441: ostreambuf_iterator& 2441: operator=(_CharT __c) 2441: { 2441: if (!_M_failed && 2441: _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) 2441: _M_failed = true; 2441: return *this; 2441: } 2441: 2441: 2441: ostreambuf_iterator& 2441: operator*() 2441: { return *this; } 2441: 2441: 2441: ostreambuf_iterator& 2441: operator++(int) 2441: { return *this; } 2441: 2441: 2441: ostreambuf_iterator& 2441: operator++() 2441: { return *this; } 2441: 2441: 2441: bool 2441: failed() const noexcept 2441: { return _M_failed; } 2441: 2441: ostreambuf_iterator& 2441: _M_put(const _CharT* __ws, streamsize __len) 2441: { 2441: if (__builtin_expect(!_M_failed, true) 2441: && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, 2441: false)) 2441: _M_failed = true; 2441: return *this; 2441: } 2441: }; 2441: 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: ostreambuf_iterator<_CharT> >::__type 2441: copy(istreambuf_iterator<_CharT> __first, 2441: istreambuf_iterator<_CharT> __last, 2441: ostreambuf_iterator<_CharT> __result) 2441: { 2441: if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) 2441: { 2441: bool __ineof; 2441: __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); 2441: if (!__ineof) 2441: __result._M_failed = true; 2441: } 2441: return __result; 2441: } 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: ostreambuf_iterator<_CharT> >::__type 2441: __copy_move_a2(_CharT* __first, _CharT* __last, 2441: ostreambuf_iterator<_CharT> __result) 2441: { 2441: const streamsize __num = __last - __first; 2441: if (__num > 0) 2441: __result._M_put(__first, __num); 2441: return __result; 2441: } 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: ostreambuf_iterator<_CharT> >::__type 2441: __copy_move_a2(const _CharT* __first, const _CharT* __last, 2441: ostreambuf_iterator<_CharT> __result) 2441: { 2441: const streamsize __num = __last - __first; 2441: if (__num > 0) 2441: __result._M_put(__first, __num); 2441: return __result; 2441: } 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: _CharT*>::__type 2441: __copy_move_a2(istreambuf_iterator<_CharT> __first, 2441: istreambuf_iterator<_CharT> __last, _CharT* __result) 2441: { 2441: typedef istreambuf_iterator<_CharT> __is_iterator_type; 2441: typedef typename __is_iterator_type::traits_type traits_type; 2441: typedef typename __is_iterator_type::streambuf_type streambuf_type; 2441: typedef typename traits_type::int_type int_type; 2441: 2441: if (__first._M_sbuf && !__last._M_sbuf) 2441: { 2441: streambuf_type* __sb = __first._M_sbuf; 2441: int_type __c = __sb->sgetc(); 2441: while (!traits_type::eq_int_type(__c, traits_type::eof())) 2441: { 2441: const streamsize __n = __sb->egptr() - __sb->gptr(); 2441: if (__n > 1) 2441: { 2441: traits_type::copy(__result, __sb->gptr(), __n); 2441: __sb->__safe_gbump(__n); 2441: __result += __n; 2441: __c = __sb->underflow(); 2441: } 2441: else 2441: { 2441: *__result++ = traits_type::to_char_type(__c); 2441: __c = __sb->snextc(); 2441: } 2441: } 2441: } 2441: return __result; 2441: } 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: istreambuf_iterator<_CharT> >::__type 2441: find(istreambuf_iterator<_CharT> __first, 2441: istreambuf_iterator<_CharT> __last, const _CharT& __val) 2441: { 2441: typedef istreambuf_iterator<_CharT> __is_iterator_type; 2441: typedef typename __is_iterator_type::traits_type traits_type; 2441: typedef typename __is_iterator_type::streambuf_type streambuf_type; 2441: typedef typename traits_type::int_type int_type; 2441: const int_type __eof = traits_type::eof(); 2441: 2441: if (__first._M_sbuf && !__last._M_sbuf) 2441: { 2441: const int_type __ival = traits_type::to_int_type(__val); 2441: streambuf_type* __sb = __first._M_sbuf; 2441: int_type __c = __sb->sgetc(); 2441: while (!traits_type::eq_int_type(__c, __eof) 2441: && !traits_type::eq_int_type(__c, __ival)) 2441: { 2441: streamsize __n = __sb->egptr() - __sb->gptr(); 2441: if (__n > 1) 2441: { 2441: const _CharT* __p = traits_type::find(__sb->gptr(), 2441: __n, __val); 2441: if (__p) 2441: __n = __p - __sb->gptr(); 2441: __sb->__safe_gbump(__n); 2441: __c = __sb->sgetc(); 2441: } 2441: else 2441: __c = __sb->snextc(); 2441: } 2441: 2441: __first._M_c = __eof; 2441: } 2441: 2441: return __first; 2441: } 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 2441: void>::__type 2441: advance(istreambuf_iterator<_CharT>& __i, _Distance __n) 2441: { 2441: if (__n == 0) 2441: return; 2441: 2441: ; 2441: 2441: 2441: ; 2441: 2441: typedef istreambuf_iterator<_CharT> __is_iterator_type; 2441: typedef typename __is_iterator_type::traits_type traits_type; 2441: typedef typename __is_iterator_type::streambuf_type streambuf_type; 2441: typedef typename traits_type::int_type int_type; 2441: const int_type __eof = traits_type::eof(); 2441: 2441: streambuf_type* __sb = __i._M_sbuf; 2441: while (__n > 0) 2441: { 2441: streamsize __size = __sb->egptr() - __sb->gptr(); 2441: if (__size > __n) 2441: { 2441: __sb->__safe_gbump(__n); 2441: break; 2441: } 2441: 2441: __sb->__safe_gbump(__size); 2441: __n -= __size; 2441: if (traits_type::eq_int_type(__sb->underflow(), __eof)) 2441: { 2441: 2441: 2441: ; 2441: break; 2441: } 2441: } 2441: 2441: __i._M_c = __eof; 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 49 "/usr/include/c++/8/bits/locale_facets.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 71 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template 2441: void 2441: __convert_to_v(const char*, _Tp&, ios_base::iostate&, 2441: const __c_locale&) throw(); 2441: 2441: 2441: template<> 2441: void 2441: __convert_to_v(const char*, float&, ios_base::iostate&, 2441: const __c_locale&) throw(); 2441: 2441: template<> 2441: void 2441: __convert_to_v(const char*, double&, ios_base::iostate&, 2441: const __c_locale&) throw(); 2441: 2441: template<> 2441: void 2441: __convert_to_v(const char*, long double&, ios_base::iostate&, 2441: const __c_locale&) throw(); 2441: 2441: 2441: 2441: template 2441: struct __pad 2441: { 2441: static void 2441: _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, 2441: const _CharT* __olds, streamsize __newlen, streamsize __oldlen); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _CharT* 2441: __add_grouping(_CharT* __s, _CharT __sep, 2441: const char* __gbeg, size_t __gsize, 2441: const _CharT* __first, const _CharT* __last); 2441: 2441: 2441: 2441: 2441: template 2441: inline 2441: ostreambuf_iterator<_CharT> 2441: __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) 2441: { 2441: __s._M_put(__ws, __len); 2441: return __s; 2441: } 2441: 2441: 2441: template 2441: inline 2441: _OutIter 2441: __write(_OutIter __s, const _CharT* __ws, int __len) 2441: { 2441: for (int __j = 0; __j < __len; __j++, ++__s) 2441: *__s = __ws[__j]; 2441: return __s; 2441: } 2441: # 149 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template 2441: class __ctype_abstract_base : public locale::facet, public ctype_base 2441: { 2441: public: 2441: 2441: 2441: typedef _CharT char_type; 2441: # 168 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: bool 2441: is(mask __m, char_type __c) const 2441: { return this->do_is(__m, __c); } 2441: # 185 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: is(const char_type *__lo, const char_type *__hi, mask *__vec) const 2441: { return this->do_is(__lo, __hi, __vec); } 2441: # 201 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: scan_is(mask __m, const char_type* __lo, const char_type* __hi) const 2441: { return this->do_scan_is(__m, __lo, __hi); } 2441: # 217 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: scan_not(mask __m, const char_type* __lo, const char_type* __hi) const 2441: { return this->do_scan_not(__m, __lo, __hi); } 2441: # 231 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: toupper(char_type __c) const 2441: { return this->do_toupper(__c); } 2441: # 246 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: toupper(char_type *__lo, const char_type* __hi) const 2441: { return this->do_toupper(__lo, __hi); } 2441: # 260 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: tolower(char_type __c) const 2441: { return this->do_tolower(__c); } 2441: # 275 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: tolower(char_type* __lo, const char_type* __hi) const 2441: { return this->do_tolower(__lo, __hi); } 2441: # 292 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: widen(char __c) const 2441: { return this->do_widen(__c); } 2441: # 311 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char* 2441: widen(const char* __lo, const char* __hi, char_type* __to) const 2441: { return this->do_widen(__lo, __hi, __to); } 2441: # 330 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char 2441: narrow(char_type __c, char __dfault) const 2441: { return this->do_narrow(__c, __dfault); } 2441: # 352 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: narrow(const char_type* __lo, const char_type* __hi, 2441: char __dfault, char* __to) const 2441: { return this->do_narrow(__lo, __hi, __dfault, __to); } 2441: 2441: protected: 2441: explicit 2441: __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } 2441: 2441: virtual 2441: ~__ctype_abstract_base() { } 2441: # 377 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual bool 2441: do_is(mask __m, char_type __c) const = 0; 2441: # 396 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_is(const char_type* __lo, const char_type* __hi, 2441: mask* __vec) const = 0; 2441: # 415 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_scan_is(mask __m, const char_type* __lo, 2441: const char_type* __hi) const = 0; 2441: # 434 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_scan_not(mask __m, const char_type* __lo, 2441: const char_type* __hi) const = 0; 2441: # 452 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_toupper(char_type __c) const = 0; 2441: # 469 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_toupper(char_type* __lo, const char_type* __hi) const = 0; 2441: # 485 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_tolower(char_type __c) const = 0; 2441: # 502 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_tolower(char_type* __lo, const char_type* __hi) const = 0; 2441: # 521 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_widen(char __c) const = 0; 2441: # 542 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char* 2441: do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; 2441: # 563 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char 2441: do_narrow(char_type __c, char __dfault) const = 0; 2441: # 588 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_narrow(const char_type* __lo, const char_type* __hi, 2441: char __dfault, char* __to) const = 0; 2441: }; 2441: # 611 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template 2441: class ctype : public __ctype_abstract_base<_CharT> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef typename __ctype_abstract_base<_CharT>::mask mask; 2441: 2441: 2441: static locale::id id; 2441: 2441: explicit 2441: ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } 2441: 2441: protected: 2441: virtual 2441: ~ctype(); 2441: 2441: virtual bool 2441: do_is(mask __m, char_type __c) const; 2441: 2441: virtual const char_type* 2441: do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; 2441: 2441: virtual const char_type* 2441: do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; 2441: 2441: virtual const char_type* 2441: do_scan_not(mask __m, const char_type* __lo, 2441: const char_type* __hi) const; 2441: 2441: virtual char_type 2441: do_toupper(char_type __c) const; 2441: 2441: virtual const char_type* 2441: do_toupper(char_type* __lo, const char_type* __hi) const; 2441: 2441: virtual char_type 2441: do_tolower(char_type __c) const; 2441: 2441: virtual const char_type* 2441: do_tolower(char_type* __lo, const char_type* __hi) const; 2441: 2441: virtual char_type 2441: do_widen(char __c) const; 2441: 2441: virtual const char* 2441: do_widen(const char* __lo, const char* __hi, char_type* __dest) const; 2441: 2441: virtual char 2441: do_narrow(char_type, char __dfault) const; 2441: 2441: virtual const char_type* 2441: do_narrow(const char_type* __lo, const char_type* __hi, 2441: char __dfault, char* __to) const; 2441: }; 2441: 2441: template 2441: locale::id ctype<_CharT>::id; 2441: # 680 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template<> 2441: class ctype : public locale::facet, public ctype_base 2441: { 2441: public: 2441: 2441: 2441: typedef char char_type; 2441: 2441: protected: 2441: 2441: __c_locale _M_c_locale_ctype; 2441: bool _M_del; 2441: __to_type _M_toupper; 2441: __to_type _M_tolower; 2441: const mask* _M_table; 2441: mutable char _M_widen_ok; 2441: mutable char _M_widen[1 + static_cast(-1)]; 2441: mutable char _M_narrow[1 + static_cast(-1)]; 2441: mutable char _M_narrow_ok; 2441: 2441: 2441: public: 2441: 2441: static locale::id id; 2441: 2441: static const size_t table_size = 1 + static_cast(-1); 2441: # 717 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); 2441: # 730 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, 2441: size_t __refs = 0); 2441: # 743 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: inline bool 2441: is(mask __m, char __c) const; 2441: # 758 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: inline const char* 2441: is(const char* __lo, const char* __hi, mask* __vec) const; 2441: # 772 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: inline const char* 2441: scan_is(mask __m, const char* __lo, const char* __hi) const; 2441: # 786 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: inline const char* 2441: scan_not(mask __m, const char* __lo, const char* __hi) const; 2441: # 801 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: toupper(char_type __c) const 2441: { return this->do_toupper(__c); } 2441: # 818 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: toupper(char_type *__lo, const char_type* __hi) const 2441: { return this->do_toupper(__lo, __hi); } 2441: # 834 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: tolower(char_type __c) const 2441: { return this->do_tolower(__c); } 2441: # 851 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: tolower(char_type* __lo, const char_type* __hi) const 2441: { return this->do_tolower(__lo, __hi); } 2441: # 871 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: widen(char __c) const 2441: { 2441: if (_M_widen_ok) 2441: return _M_widen[static_cast(__c)]; 2441: this->_M_widen_init(); 2441: return this->do_widen(__c); 2441: } 2441: # 898 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char* 2441: widen(const char* __lo, const char* __hi, char_type* __to) const 2441: { 2441: if (_M_widen_ok == 1) 2441: { 2441: if (__builtin_expect(__hi != __lo, true)) 2441: __builtin_memcpy(__to, __lo, __hi - __lo); 2441: return __hi; 2441: } 2441: if (!_M_widen_ok) 2441: _M_widen_init(); 2441: return this->do_widen(__lo, __hi, __to); 2441: } 2441: # 930 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char 2441: narrow(char_type __c, char __dfault) const 2441: { 2441: if (_M_narrow[static_cast(__c)]) 2441: return _M_narrow[static_cast(__c)]; 2441: const char __t = do_narrow(__c, __dfault); 2441: if (__t != __dfault) 2441: _M_narrow[static_cast(__c)] = __t; 2441: return __t; 2441: } 2441: # 963 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: const char_type* 2441: narrow(const char_type* __lo, const char_type* __hi, 2441: char __dfault, char* __to) const 2441: { 2441: if (__builtin_expect(_M_narrow_ok == 1, true)) 2441: { 2441: if (__builtin_expect(__hi != __lo, true)) 2441: __builtin_memcpy(__to, __lo, __hi - __lo); 2441: return __hi; 2441: } 2441: if (!_M_narrow_ok) 2441: _M_narrow_init(); 2441: return this->do_narrow(__lo, __hi, __dfault, __to); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const mask* 2441: table() const throw() 2441: { return _M_table; } 2441: 2441: 2441: static const mask* 2441: classic_table() throw(); 2441: protected: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual 2441: ~ctype(); 2441: # 1013 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_toupper(char_type __c) const; 2441: # 1030 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_toupper(char_type* __lo, const char_type* __hi) const; 2441: # 1046 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_tolower(char_type __c) const; 2441: # 1063 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_tolower(char_type* __lo, const char_type* __hi) const; 2441: # 1083 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_widen(char __c) const 2441: { return __c; } 2441: # 1106 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char* 2441: do_widen(const char* __lo, const char* __hi, char_type* __to) const 2441: { 2441: if (__builtin_expect(__hi != __lo, true)) 2441: __builtin_memcpy(__to, __lo, __hi - __lo); 2441: return __hi; 2441: } 2441: # 1133 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char 2441: do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const 2441: { return __c; } 2441: # 1159 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_narrow(const char_type* __lo, const char_type* __hi, 2441: char __dfault __attribute__((__unused__)), char* __to) const 2441: { 2441: if (__builtin_expect(__hi != __lo, true)) 2441: __builtin_memcpy(__to, __lo, __hi - __lo); 2441: return __hi; 2441: } 2441: 2441: private: 2441: void _M_narrow_init() const; 2441: void _M_widen_init() const; 2441: }; 2441: # 1185 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template<> 2441: class ctype : public __ctype_abstract_base 2441: { 2441: public: 2441: 2441: 2441: typedef wchar_t char_type; 2441: typedef wctype_t __wmask_type; 2441: 2441: protected: 2441: __c_locale _M_c_locale_ctype; 2441: 2441: 2441: bool _M_narrow_ok; 2441: char _M_narrow[128]; 2441: wint_t _M_widen[1 + static_cast(-1)]; 2441: 2441: 2441: mask _M_bit[16]; 2441: __wmask_type _M_wmask[16]; 2441: 2441: public: 2441: 2441: 2441: static locale::id id; 2441: # 1218 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: ctype(size_t __refs = 0); 2441: # 1229 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: ctype(__c_locale __cloc, size_t __refs = 0); 2441: 2441: protected: 2441: __wmask_type 2441: _M_convert_to_wmask(const mask __m) const throw(); 2441: 2441: 2441: virtual 2441: ~ctype(); 2441: # 1253 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual bool 2441: do_is(mask __m, char_type __c) const; 2441: # 1272 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; 2441: # 1290 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; 2441: # 1308 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_scan_not(mask __m, const char_type* __lo, 2441: const char_type* __hi) const; 2441: # 1325 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_toupper(char_type __c) const; 2441: # 1342 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_toupper(char_type* __lo, const char_type* __hi) const; 2441: # 1358 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_tolower(char_type __c) const; 2441: # 1375 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_tolower(char_type* __lo, const char_type* __hi) const; 2441: # 1395 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_widen(char __c) const; 2441: # 1417 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char* 2441: do_widen(const char* __lo, const char* __hi, char_type* __to) const; 2441: # 1440 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char 2441: do_narrow(char_type __c, char __dfault) const; 2441: # 1466 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual const char_type* 2441: do_narrow(const char_type* __lo, const char_type* __hi, 2441: char __dfault, char* __to) const; 2441: 2441: 2441: void 2441: _M_initialize_ctype() throw(); 2441: }; 2441: 2441: 2441: 2441: template 2441: class ctype_byname : public ctype<_CharT> 2441: { 2441: public: 2441: typedef typename ctype<_CharT>::mask mask; 2441: 2441: explicit 2441: ctype_byname(const char* __s, size_t __refs = 0); 2441: 2441: 2441: explicit 2441: ctype_byname(const string& __s, size_t __refs = 0) 2441: : ctype_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~ctype_byname() { } 2441: }; 2441: 2441: 2441: template<> 2441: class ctype_byname : public ctype 2441: { 2441: public: 2441: explicit 2441: ctype_byname(const char* __s, size_t __refs = 0); 2441: 2441: 2441: explicit 2441: ctype_byname(const string& __s, size_t __refs = 0); 2441: 2441: 2441: protected: 2441: virtual 2441: ~ctype_byname(); 2441: }; 2441: 2441: 2441: template<> 2441: class ctype_byname : public ctype 2441: { 2441: public: 2441: explicit 2441: ctype_byname(const char* __s, size_t __refs = 0); 2441: 2441: 2441: explicit 2441: ctype_byname(const string& __s, size_t __refs = 0); 2441: 2441: 2441: protected: 2441: virtual 2441: ~ctype_byname(); 2441: }; 2441: 2441: 2441: 2441: } 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/ctype_inline.h" 1 3 2441: # 37 "/usr/include/i386-linux-gnu/c++/8/bits/ctype_inline.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: bool 2441: ctype:: 2441: is(mask __m, char __c) const 2441: { return _M_table[static_cast(__c)] & __m; } 2441: 2441: const char* 2441: ctype:: 2441: is(const char* __low, const char* __high, mask* __vec) const 2441: { 2441: while (__low < __high) 2441: *__vec++ = _M_table[static_cast(*__low++)]; 2441: return __high; 2441: } 2441: 2441: const char* 2441: ctype:: 2441: scan_is(mask __m, const char* __low, const char* __high) const 2441: { 2441: while (__low < __high 2441: && !(_M_table[static_cast(*__low)] & __m)) 2441: ++__low; 2441: return __low; 2441: } 2441: 2441: const char* 2441: ctype:: 2441: scan_not(mask __m, const char* __low, const char* __high) const 2441: { 2441: while (__low < __high 2441: && (_M_table[static_cast(*__low)] & __m) != 0) 2441: ++__low; 2441: return __low; 2441: } 2441: 2441: 2441: } 2441: # 1539 "/usr/include/c++/8/bits/locale_facets.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: class __num_base 2441: { 2441: public: 2441: 2441: 2441: enum 2441: { 2441: _S_ominus, 2441: _S_oplus, 2441: _S_ox, 2441: _S_oX, 2441: _S_odigits, 2441: _S_odigits_end = _S_odigits + 16, 2441: _S_oudigits = _S_odigits_end, 2441: _S_oudigits_end = _S_oudigits + 16, 2441: _S_oe = _S_odigits + 14, 2441: _S_oE = _S_oudigits + 14, 2441: _S_oend = _S_oudigits_end 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const char* _S_atoms_out; 2441: 2441: 2441: 2441: static const char* _S_atoms_in; 2441: 2441: enum 2441: { 2441: _S_iminus, 2441: _S_iplus, 2441: _S_ix, 2441: _S_iX, 2441: _S_izero, 2441: _S_ie = _S_izero + 14, 2441: _S_iE = _S_izero + 20, 2441: _S_iend = 26 2441: }; 2441: 2441: 2441: 2441: static void 2441: _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); 2441: }; 2441: 2441: template 2441: struct __numpunct_cache : public locale::facet 2441: { 2441: const char* _M_grouping; 2441: size_t _M_grouping_size; 2441: bool _M_use_grouping; 2441: const _CharT* _M_truename; 2441: size_t _M_truename_size; 2441: const _CharT* _M_falsename; 2441: size_t _M_falsename_size; 2441: _CharT _M_decimal_point; 2441: _CharT _M_thousands_sep; 2441: 2441: 2441: 2441: 2441: 2441: _CharT _M_atoms_out[__num_base::_S_oend]; 2441: 2441: 2441: 2441: 2441: 2441: _CharT _M_atoms_in[__num_base::_S_iend]; 2441: 2441: bool _M_allocated; 2441: 2441: __numpunct_cache(size_t __refs = 0) 2441: : facet(__refs), _M_grouping(0), _M_grouping_size(0), 2441: _M_use_grouping(false), 2441: _M_truename(0), _M_truename_size(0), _M_falsename(0), 2441: _M_falsename_size(0), _M_decimal_point(_CharT()), 2441: _M_thousands_sep(_CharT()), _M_allocated(false) 2441: { } 2441: 2441: ~__numpunct_cache(); 2441: 2441: void 2441: _M_cache(const locale& __loc); 2441: 2441: private: 2441: __numpunct_cache& 2441: operator=(const __numpunct_cache&); 2441: 2441: explicit 2441: __numpunct_cache(const __numpunct_cache&); 2441: }; 2441: 2441: template 2441: __numpunct_cache<_CharT>::~__numpunct_cache() 2441: { 2441: if (_M_allocated) 2441: { 2441: delete [] _M_grouping; 2441: delete [] _M_truename; 2441: delete [] _M_falsename; 2441: } 2441: } 2441: 2441: namespace __cxx11 { 2441: # 1669 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template 2441: class numpunct : public locale::facet 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: typedef __numpunct_cache<_CharT> __cache_type; 2441: 2441: protected: 2441: __cache_type* _M_data; 2441: 2441: public: 2441: 2441: static locale::id id; 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: numpunct(size_t __refs = 0) 2441: : facet(__refs), _M_data(0) 2441: { _M_initialize_numpunct(); } 2441: # 1707 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: numpunct(__cache_type* __cache, size_t __refs = 0) 2441: : facet(__refs), _M_data(__cache) 2441: { _M_initialize_numpunct(); } 2441: # 1721 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: numpunct(__c_locale __cloc, size_t __refs = 0) 2441: : facet(__refs), _M_data(0) 2441: { _M_initialize_numpunct(__cloc); } 2441: # 1735 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: decimal_point() const 2441: { return this->do_decimal_point(); } 2441: # 1748 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: char_type 2441: thousands_sep() const 2441: { return this->do_thousands_sep(); } 2441: # 1779 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: string 2441: grouping() const 2441: { return this->do_grouping(); } 2441: # 1792 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: string_type 2441: truename() const 2441: { return this->do_truename(); } 2441: # 1805 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: string_type 2441: falsename() const 2441: { return this->do_falsename(); } 2441: 2441: protected: 2441: 2441: virtual 2441: ~numpunct(); 2441: # 1822 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_decimal_point() const 2441: { return _M_data->_M_decimal_point; } 2441: # 1834 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual char_type 2441: do_thousands_sep() const 2441: { return _M_data->_M_thousands_sep; } 2441: # 1847 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual string 2441: do_grouping() const 2441: { return _M_data->_M_grouping; } 2441: # 1860 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual string_type 2441: do_truename() const 2441: { return _M_data->_M_truename; } 2441: # 1873 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual string_type 2441: do_falsename() const 2441: { return _M_data->_M_falsename; } 2441: 2441: 2441: void 2441: _M_initialize_numpunct(__c_locale __cloc = 0); 2441: }; 2441: 2441: template 2441: locale::id numpunct<_CharT>::id; 2441: 2441: template<> 2441: numpunct::~numpunct(); 2441: 2441: template<> 2441: void 2441: numpunct::_M_initialize_numpunct(__c_locale __cloc); 2441: 2441: 2441: template<> 2441: numpunct::~numpunct(); 2441: 2441: template<> 2441: void 2441: numpunct::_M_initialize_numpunct(__c_locale __cloc); 2441: 2441: 2441: 2441: template 2441: class numpunct_byname : public numpunct<_CharT> 2441: { 2441: public: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: explicit 2441: numpunct_byname(const char* __s, size_t __refs = 0) 2441: : numpunct<_CharT>(__refs) 2441: { 2441: if (__builtin_strcmp(__s, "C") != 0 2441: && __builtin_strcmp(__s, "POSIX") != 0) 2441: { 2441: __c_locale __tmp; 2441: this->_S_create_c_locale(__tmp, __s); 2441: this->_M_initialize_numpunct(__tmp); 2441: this->_S_destroy_c_locale(__tmp); 2441: } 2441: } 2441: 2441: 2441: explicit 2441: numpunct_byname(const string& __s, size_t __refs = 0) 2441: : numpunct_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~numpunct_byname() { } 2441: }; 2441: 2441: } 2441: 2441: 2441: # 1951 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template 2441: class num_get : public locale::facet 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _InIter iter_type; 2441: 2441: 2441: 2441: static locale::id id; 2441: # 1972 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: num_get(size_t __refs = 0) : facet(__refs) { } 2441: # 1998 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, bool& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: # 2035 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, long& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned short& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned int& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned long& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, long long& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned long long& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: # 2095 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, float& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, double& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, long double& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: # 2138 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: get(iter_type __in, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, void*& __v) const 2441: { return this->do_get(__in, __end, __io, __err, __v); } 2441: 2441: protected: 2441: 2441: virtual ~num_get() { } 2441: 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iter_type 2441: _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, 2441: string&) const; 2441: 2441: template 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: iter_type 2441: _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, 2441: _ValueT&) const; 2441: 2441: template 2441: typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type 2441: _M_find(const _CharT2*, size_t __len, _CharT2 __c) const 2441: { 2441: int __ret = -1; 2441: if (__len <= 10) 2441: { 2441: if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) 2441: __ret = __c - _CharT2('0'); 2441: } 2441: else 2441: { 2441: if (__c >= _CharT2('0') && __c <= _CharT2('9')) 2441: __ret = __c - _CharT2('0'); 2441: else if (__c >= _CharT2('a') && __c <= _CharT2('f')) 2441: __ret = 10 + (__c - _CharT2('a')); 2441: else if (__c >= _CharT2('A') && __c <= _CharT2('F')) 2441: __ret = 10 + (__c - _CharT2('A')); 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: typename __gnu_cxx::__enable_if::__value, 2441: int>::__type 2441: _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const 2441: { 2441: int __ret = -1; 2441: const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); 2441: if (__q) 2441: { 2441: __ret = __q - __zero; 2441: if (__ret > 15) 2441: __ret -= 6; 2441: } 2441: return __ret; 2441: } 2441: # 2211 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual iter_type 2441: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; 2441: 2441: virtual iter_type 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, long& __v) const 2441: { return _M_extract_int(__beg, __end, __io, __err, __v); } 2441: 2441: virtual iter_type 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned short& __v) const 2441: { return _M_extract_int(__beg, __end, __io, __err, __v); } 2441: 2441: virtual iter_type 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned int& __v) const 2441: { return _M_extract_int(__beg, __end, __io, __err, __v); } 2441: 2441: virtual iter_type 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned long& __v) const 2441: { return _M_extract_int(__beg, __end, __io, __err, __v); } 2441: 2441: 2441: virtual iter_type 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, long long& __v) const 2441: { return _M_extract_int(__beg, __end, __io, __err, __v); } 2441: 2441: virtual iter_type 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, unsigned long long& __v) const 2441: { return _M_extract_int(__beg, __end, __io, __err, __v); } 2441: 2441: 2441: virtual iter_type 2441: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; 2441: 2441: virtual iter_type 2441: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, 2441: double&) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual iter_type 2441: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, 2441: long double&) const; 2441: 2441: 2441: virtual iter_type 2441: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; 2441: # 2274 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: }; 2441: 2441: template 2441: locale::id num_get<_CharT, _InIter>::id; 2441: # 2292 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: template 2441: class num_put : public locale::facet 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _OutIter iter_type; 2441: 2441: 2441: 2441: static locale::id id; 2441: # 2313 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: explicit 2441: num_put(size_t __refs = 0) : facet(__refs) { } 2441: # 2331 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: # 2373 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, long __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, 2441: unsigned long __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: 2441: 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, 2441: unsigned long long __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: # 2436 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, double __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, 2441: long double __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: # 2461 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, 2441: const void* __v) const 2441: { return this->do_put(__s, __io, __fill, __v); } 2441: 2441: protected: 2441: template 2441: iter_type 2441: _M_insert_float(iter_type, ios_base& __io, char_type __fill, 2441: char __mod, _ValueT __v) const; 2441: 2441: void 2441: _M_group_float(const char* __grouping, size_t __grouping_size, 2441: char_type __sep, const char_type* __p, char_type* __new, 2441: char_type* __cs, int& __len) const; 2441: 2441: template 2441: iter_type 2441: _M_insert_int(iter_type, ios_base& __io, char_type __fill, 2441: _ValueT __v) const; 2441: 2441: void 2441: _M_group_int(const char* __grouping, size_t __grouping_size, 2441: char_type __sep, ios_base& __io, char_type* __new, 2441: char_type* __cs, int& __len) const; 2441: 2441: void 2441: _M_pad(char_type __fill, streamsize __w, ios_base& __io, 2441: char_type* __new, const char_type* __cs, int& __len) const; 2441: 2441: 2441: virtual 2441: ~num_put() { } 2441: # 2509 "/usr/include/c++/8/bits/locale_facets.h" 3 2441: virtual iter_type 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; 2441: 2441: virtual iter_type 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const 2441: { return _M_insert_int(__s, __io, __fill, __v); } 2441: 2441: virtual iter_type 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, 2441: unsigned long __v) const 2441: { return _M_insert_int(__s, __io, __fill, __v); } 2441: 2441: 2441: virtual iter_type 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, 2441: long long __v) const 2441: { return _M_insert_int(__s, __io, __fill, __v); } 2441: 2441: virtual iter_type 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, 2441: unsigned long long __v) const 2441: { return _M_insert_int(__s, __io, __fill, __v); } 2441: 2441: 2441: virtual iter_type 2441: do_put(iter_type, ios_base&, char_type, double) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual iter_type 2441: do_put(iter_type, ios_base&, char_type, long double) const; 2441: 2441: 2441: virtual iter_type 2441: do_put(iter_type, ios_base&, char_type, const void*) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: }; 2441: 2441: template 2441: locale::id num_put<_CharT, _OutIter>::id; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: isspace(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::space, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: isprint(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::print, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: iscntrl(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::cntrl, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: isupper(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::upper, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: islower(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::lower, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: isalpha(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::alpha, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: isdigit(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::digit, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: ispunct(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::punct, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: isxdigit(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::xdigit, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: isalnum(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::alnum, __c); } 2441: 2441: 2441: template 2441: inline bool 2441: isgraph(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::graph, __c); } 2441: 2441: 2441: 2441: template 2441: inline bool 2441: isblank(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).is(ctype_base::blank, __c); } 2441: 2441: 2441: 2441: template 2441: inline _CharT 2441: toupper(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).toupper(__c); } 2441: 2441: 2441: template 2441: inline _CharT 2441: tolower(_CharT __c, const locale& __loc) 2441: { return use_facet >(__loc).tolower(__c); } 2441: 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/bits/locale_facets.tcc" 1 3 2441: # 33 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: template 2441: struct __use_cache 2441: { 2441: const _Facet* 2441: operator() (const locale& __loc) const; 2441: }; 2441: 2441: 2441: template 2441: struct __use_cache<__numpunct_cache<_CharT> > 2441: { 2441: const __numpunct_cache<_CharT>* 2441: operator() (const locale& __loc) const 2441: { 2441: const size_t __i = numpunct<_CharT>::id._M_id(); 2441: const locale::facet** __caches = __loc._M_impl->_M_caches; 2441: if (!__caches[__i]) 2441: { 2441: __numpunct_cache<_CharT>* __tmp = 0; 2441: try 2441: { 2441: __tmp = new __numpunct_cache<_CharT>; 2441: __tmp->_M_cache(__loc); 2441: } 2441: catch(...) 2441: { 2441: delete __tmp; 2441: throw; 2441: } 2441: __loc._M_impl->_M_install_cache(__tmp, __i); 2441: } 2441: return static_cast*>(__caches[__i]); 2441: } 2441: }; 2441: 2441: template 2441: void 2441: __numpunct_cache<_CharT>::_M_cache(const locale& __loc) 2441: { 2441: const numpunct<_CharT>& __np = use_facet >(__loc); 2441: 2441: char* __grouping = 0; 2441: _CharT* __truename = 0; 2441: _CharT* __falsename = 0; 2441: try 2441: { 2441: const string& __g = __np.grouping(); 2441: _M_grouping_size = __g.size(); 2441: __grouping = new char[_M_grouping_size]; 2441: __g.copy(__grouping, _M_grouping_size); 2441: _M_use_grouping = (_M_grouping_size 2441: && static_cast(__grouping[0]) > 0 2441: && (__grouping[0] 2441: != __gnu_cxx::__numeric_traits::__max)); 2441: 2441: const basic_string<_CharT>& __tn = __np.truename(); 2441: _M_truename_size = __tn.size(); 2441: __truename = new _CharT[_M_truename_size]; 2441: __tn.copy(__truename, _M_truename_size); 2441: 2441: const basic_string<_CharT>& __fn = __np.falsename(); 2441: _M_falsename_size = __fn.size(); 2441: __falsename = new _CharT[_M_falsename_size]; 2441: __fn.copy(__falsename, _M_falsename_size); 2441: 2441: _M_decimal_point = __np.decimal_point(); 2441: _M_thousands_sep = __np.thousands_sep(); 2441: 2441: const ctype<_CharT>& __ct = use_facet >(__loc); 2441: __ct.widen(__num_base::_S_atoms_out, 2441: __num_base::_S_atoms_out 2441: + __num_base::_S_oend, _M_atoms_out); 2441: __ct.widen(__num_base::_S_atoms_in, 2441: __num_base::_S_atoms_in 2441: + __num_base::_S_iend, _M_atoms_in); 2441: 2441: _M_grouping = __grouping; 2441: _M_truename = __truename; 2441: _M_falsename = __falsename; 2441: _M_allocated = true; 2441: } 2441: catch(...) 2441: { 2441: delete [] __grouping; 2441: delete [] __truename; 2441: delete [] __falsename; 2441: throw; 2441: } 2441: } 2441: # 139 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: __attribute__ ((__pure__)) bool 2441: __verify_grouping(const char* __grouping, size_t __grouping_size, 2441: const string& __grouping_tmp) throw (); 2441: 2441: 2441: 2441: template 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: _InIter 2441: num_get<_CharT, _InIter>:: 2441: _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, 2441: ios_base::iostate& __err, string& __xtrc) const 2441: { 2441: typedef char_traits<_CharT> __traits_type; 2441: typedef __numpunct_cache<_CharT> __cache_type; 2441: __use_cache<__cache_type> __uc; 2441: const locale& __loc = __io._M_getloc(); 2441: const __cache_type* __lc = __uc(__loc); 2441: const _CharT* __lit = __lc->_M_atoms_in; 2441: char_type __c = char_type(); 2441: 2441: 2441: bool __testeof = __beg == __end; 2441: 2441: 2441: if (!__testeof) 2441: { 2441: __c = *__beg; 2441: const bool __plus = __c == __lit[__num_base::_S_iplus]; 2441: if ((__plus || __c == __lit[__num_base::_S_iminus]) 2441: && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 2441: && !(__c == __lc->_M_decimal_point)) 2441: { 2441: __xtrc += __plus ? '+' : '-'; 2441: if (++__beg != __end) 2441: __c = *__beg; 2441: else 2441: __testeof = true; 2441: } 2441: } 2441: 2441: 2441: bool __found_mantissa = false; 2441: int __sep_pos = 0; 2441: while (!__testeof) 2441: { 2441: if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 2441: || __c == __lc->_M_decimal_point) 2441: break; 2441: else if (__c == __lit[__num_base::_S_izero]) 2441: { 2441: if (!__found_mantissa) 2441: { 2441: __xtrc += '0'; 2441: __found_mantissa = true; 2441: } 2441: ++__sep_pos; 2441: 2441: if (++__beg != __end) 2441: __c = *__beg; 2441: else 2441: __testeof = true; 2441: } 2441: else 2441: break; 2441: } 2441: 2441: 2441: bool __found_dec = false; 2441: bool __found_sci = false; 2441: string __found_grouping; 2441: if (__lc->_M_use_grouping) 2441: __found_grouping.reserve(32); 2441: const char_type* __lit_zero = __lit + __num_base::_S_izero; 2441: 2441: if (!__lc->_M_allocated) 2441: 2441: while (!__testeof) 2441: { 2441: const int __digit = _M_find(__lit_zero, 10, __c); 2441: if (__digit != -1) 2441: { 2441: __xtrc += '0' + __digit; 2441: __found_mantissa = true; 2441: } 2441: else if (__c == __lc->_M_decimal_point 2441: && !__found_dec && !__found_sci) 2441: { 2441: __xtrc += '.'; 2441: __found_dec = true; 2441: } 2441: else if ((__c == __lit[__num_base::_S_ie] 2441: || __c == __lit[__num_base::_S_iE]) 2441: && !__found_sci && __found_mantissa) 2441: { 2441: 2441: __xtrc += 'e'; 2441: __found_sci = true; 2441: 2441: 2441: if (++__beg != __end) 2441: { 2441: __c = *__beg; 2441: const bool __plus = __c == __lit[__num_base::_S_iplus]; 2441: if (__plus || __c == __lit[__num_base::_S_iminus]) 2441: __xtrc += __plus ? '+' : '-'; 2441: else 2441: continue; 2441: } 2441: else 2441: { 2441: __testeof = true; 2441: break; 2441: } 2441: } 2441: else 2441: break; 2441: 2441: if (++__beg != __end) 2441: __c = *__beg; 2441: else 2441: __testeof = true; 2441: } 2441: else 2441: while (!__testeof) 2441: { 2441: 2441: 2441: if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 2441: { 2441: if (!__found_dec && !__found_sci) 2441: { 2441: 2441: 2441: if (__sep_pos) 2441: { 2441: __found_grouping += static_cast(__sep_pos); 2441: __sep_pos = 0; 2441: } 2441: else 2441: { 2441: 2441: 2441: __xtrc.clear(); 2441: break; 2441: } 2441: } 2441: else 2441: break; 2441: } 2441: else if (__c == __lc->_M_decimal_point) 2441: { 2441: if (!__found_dec && !__found_sci) 2441: { 2441: 2441: 2441: 2441: if (__found_grouping.size()) 2441: __found_grouping += static_cast(__sep_pos); 2441: __xtrc += '.'; 2441: __found_dec = true; 2441: } 2441: else 2441: break; 2441: } 2441: else 2441: { 2441: const char_type* __q = 2441: __traits_type::find(__lit_zero, 10, __c); 2441: if (__q) 2441: { 2441: __xtrc += '0' + (__q - __lit_zero); 2441: __found_mantissa = true; 2441: ++__sep_pos; 2441: } 2441: else if ((__c == __lit[__num_base::_S_ie] 2441: || __c == __lit[__num_base::_S_iE]) 2441: && !__found_sci && __found_mantissa) 2441: { 2441: 2441: if (__found_grouping.size() && !__found_dec) 2441: __found_grouping += static_cast(__sep_pos); 2441: __xtrc += 'e'; 2441: __found_sci = true; 2441: 2441: 2441: if (++__beg != __end) 2441: { 2441: __c = *__beg; 2441: const bool __plus = __c == __lit[__num_base::_S_iplus]; 2441: if ((__plus || __c == __lit[__num_base::_S_iminus]) 2441: && !(__lc->_M_use_grouping 2441: && __c == __lc->_M_thousands_sep) 2441: && !(__c == __lc->_M_decimal_point)) 2441: __xtrc += __plus ? '+' : '-'; 2441: else 2441: continue; 2441: } 2441: else 2441: { 2441: __testeof = true; 2441: break; 2441: } 2441: } 2441: else 2441: break; 2441: } 2441: 2441: if (++__beg != __end) 2441: __c = *__beg; 2441: else 2441: __testeof = true; 2441: } 2441: 2441: 2441: 2441: if (__found_grouping.size()) 2441: { 2441: 2441: if (!__found_dec && !__found_sci) 2441: __found_grouping += static_cast(__sep_pos); 2441: 2441: if (!std::__verify_grouping(__lc->_M_grouping, 2441: __lc->_M_grouping_size, 2441: __found_grouping)) 2441: __err = ios_base::failbit; 2441: } 2441: 2441: return __beg; 2441: } 2441: 2441: template 2441: template 2441: __attribute ((__abi_tag__ ("cxx11"))) 2441: _InIter 2441: num_get<_CharT, _InIter>:: 2441: _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, 2441: ios_base::iostate& __err, _ValueT& __v) const 2441: { 2441: typedef char_traits<_CharT> __traits_type; 2441: using __gnu_cxx::__add_unsigned; 2441: typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; 2441: typedef __numpunct_cache<_CharT> __cache_type; 2441: __use_cache<__cache_type> __uc; 2441: const locale& __loc = __io._M_getloc(); 2441: const __cache_type* __lc = __uc(__loc); 2441: const _CharT* __lit = __lc->_M_atoms_in; 2441: char_type __c = char_type(); 2441: 2441: 2441: const ios_base::fmtflags __basefield = __io.flags() 2441: & ios_base::basefield; 2441: const bool __oct = __basefield == ios_base::oct; 2441: int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); 2441: 2441: 2441: bool __testeof = __beg == __end; 2441: 2441: 2441: bool __negative = false; 2441: if (!__testeof) 2441: { 2441: __c = *__beg; 2441: __negative = __c == __lit[__num_base::_S_iminus]; 2441: if ((__negative || __c == __lit[__num_base::_S_iplus]) 2441: && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 2441: && !(__c == __lc->_M_decimal_point)) 2441: { 2441: if (++__beg != __end) 2441: __c = *__beg; 2441: else 2441: __testeof = true; 2441: } 2441: } 2441: 2441: 2441: 2441: bool __found_zero = false; 2441: int __sep_pos = 0; 2441: while (!__testeof) 2441: { 2441: if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 2441: || __c == __lc->_M_decimal_point) 2441: break; 2441: else if (__c == __lit[__num_base::_S_izero] 2441: && (!__found_zero || __base == 10)) 2441: { 2441: __found_zero = true; 2441: ++__sep_pos; 2441: if (__basefield == 0) 2441: __base = 8; 2441: if (__base == 8) 2441: __sep_pos = 0; 2441: } 2441: else if (__found_zero 2441: && (__c == __lit[__num_base::_S_ix] 2441: || __c == __lit[__num_base::_S_iX])) 2441: { 2441: if (__basefield == 0) 2441: __base = 16; 2441: if (__base == 16) 2441: { 2441: __found_zero = false; 2441: __sep_pos = 0; 2441: } 2441: else 2441: break; 2441: } 2441: else 2441: break; 2441: 2441: if (++__beg != __end) 2441: { 2441: __c = *__beg; 2441: if (!__found_zero) 2441: break; 2441: } 2441: else 2441: __testeof = true; 2441: } 2441: 2441: 2441: 2441: const size_t __len = (__base == 16 ? __num_base::_S_iend 2441: - __num_base::_S_izero : __base); 2441: 2441: 2441: typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; 2441: string __found_grouping; 2441: if (__lc->_M_use_grouping) 2441: __found_grouping.reserve(32); 2441: bool __testfail = false; 2441: bool __testoverflow = false; 2441: const __unsigned_type __max = 2441: (__negative && __num_traits::__is_signed) 2441: ? -static_cast<__unsigned_type>(__num_traits::__min) 2441: : __num_traits::__max; 2441: const __unsigned_type __smax = __max / __base; 2441: __unsigned_type __result = 0; 2441: int __digit = 0; 2441: const char_type* __lit_zero = __lit + __num_base::_S_izero; 2441: 2441: if (!__lc->_M_allocated) 2441: 2441: while (!__testeof) 2441: { 2441: __digit = _M_find(__lit_zero, __len, __c); 2441: if (__digit == -1) 2441: break; 2441: 2441: if (__result > __smax) 2441: __testoverflow = true; 2441: else 2441: { 2441: __result *= __base; 2441: __testoverflow |= __result > __max - __digit; 2441: __result += __digit; 2441: ++__sep_pos; 2441: } 2441: 2441: if (++__beg != __end) 2441: __c = *__beg; 2441: else 2441: __testeof = true; 2441: } 2441: else 2441: while (!__testeof) 2441: { 2441: 2441: 2441: if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 2441: { 2441: 2441: 2441: if (__sep_pos) 2441: { 2441: __found_grouping += static_cast(__sep_pos); 2441: __sep_pos = 0; 2441: } 2441: else 2441: { 2441: __testfail = true; 2441: break; 2441: } 2441: } 2441: else if (__c == __lc->_M_decimal_point) 2441: break; 2441: else 2441: { 2441: const char_type* __q = 2441: __traits_type::find(__lit_zero, __len, __c); 2441: if (!__q) 2441: break; 2441: 2441: __digit = __q - __lit_zero; 2441: if (__digit > 15) 2441: __digit -= 6; 2441: if (__result > __smax) 2441: __testoverflow = true; 2441: else 2441: { 2441: __result *= __base; 2441: __testoverflow |= __result > __max - __digit; 2441: __result += __digit; 2441: ++__sep_pos; 2441: } 2441: } 2441: 2441: if (++__beg != __end) 2441: __c = *__beg; 2441: else 2441: __testeof = true; 2441: } 2441: 2441: 2441: 2441: if (__found_grouping.size()) 2441: { 2441: 2441: __found_grouping += static_cast(__sep_pos); 2441: 2441: if (!std::__verify_grouping(__lc->_M_grouping, 2441: __lc->_M_grouping_size, 2441: __found_grouping)) 2441: __err = ios_base::failbit; 2441: } 2441: 2441: 2441: 2441: if ((!__sep_pos && !__found_zero && !__found_grouping.size()) 2441: || __testfail) 2441: { 2441: __v = 0; 2441: __err = ios_base::failbit; 2441: } 2441: else if (__testoverflow) 2441: { 2441: if (__negative && __num_traits::__is_signed) 2441: __v = __num_traits::__min; 2441: else 2441: __v = __num_traits::__max; 2441: __err = ios_base::failbit; 2441: } 2441: else 2441: __v = __negative ? -__result : __result; 2441: 2441: if (__testeof) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: 2441: 2441: template 2441: _InIter 2441: num_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, bool& __v) const 2441: { 2441: if (!(__io.flags() & ios_base::boolalpha)) 2441: { 2441: 2441: 2441: 2441: long __l = -1; 2441: __beg = _M_extract_int(__beg, __end, __io, __err, __l); 2441: if (__l == 0 || __l == 1) 2441: __v = bool(__l); 2441: else 2441: { 2441: 2441: 2441: __v = true; 2441: __err = ios_base::failbit; 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: } 2441: } 2441: else 2441: { 2441: 2441: typedef __numpunct_cache<_CharT> __cache_type; 2441: __use_cache<__cache_type> __uc; 2441: const locale& __loc = __io._M_getloc(); 2441: const __cache_type* __lc = __uc(__loc); 2441: 2441: bool __testf = true; 2441: bool __testt = true; 2441: bool __donef = __lc->_M_falsename_size == 0; 2441: bool __donet = __lc->_M_truename_size == 0; 2441: bool __testeof = false; 2441: size_t __n = 0; 2441: while (!__donef || !__donet) 2441: { 2441: if (__beg == __end) 2441: { 2441: __testeof = true; 2441: break; 2441: } 2441: 2441: const char_type __c = *__beg; 2441: 2441: if (!__donef) 2441: __testf = __c == __lc->_M_falsename[__n]; 2441: 2441: if (!__testf && __donet) 2441: break; 2441: 2441: if (!__donet) 2441: __testt = __c == __lc->_M_truename[__n]; 2441: 2441: if (!__testt && __donef) 2441: break; 2441: 2441: if (!__testt && !__testf) 2441: break; 2441: 2441: ++__n; 2441: ++__beg; 2441: 2441: __donef = !__testf || __n >= __lc->_M_falsename_size; 2441: __donet = !__testt || __n >= __lc->_M_truename_size; 2441: } 2441: if (__testf && __n == __lc->_M_falsename_size && __n) 2441: { 2441: __v = false; 2441: if (__testt && __n == __lc->_M_truename_size) 2441: __err = ios_base::failbit; 2441: else 2441: __err = __testeof ? ios_base::eofbit : ios_base::goodbit; 2441: } 2441: else if (__testt && __n == __lc->_M_truename_size && __n) 2441: { 2441: __v = true; 2441: __err = __testeof ? ios_base::eofbit : ios_base::goodbit; 2441: } 2441: else 2441: { 2441: 2441: 2441: __v = false; 2441: __err = ios_base::failbit; 2441: if (__testeof) 2441: __err |= ios_base::eofbit; 2441: } 2441: } 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: num_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, float& __v) const 2441: { 2441: string __xtrc; 2441: __xtrc.reserve(32); 2441: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 2441: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: num_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, double& __v) const 2441: { 2441: string __xtrc; 2441: __xtrc.reserve(32); 2441: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 2441: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: # 735 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: template 2441: _InIter 2441: num_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, long double& __v) const 2441: { 2441: string __xtrc; 2441: __xtrc.reserve(32); 2441: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 2441: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: num_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, void*& __v) const 2441: { 2441: 2441: typedef ios_base::fmtflags fmtflags; 2441: const fmtflags __fmt = __io.flags(); 2441: __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); 2441: 2441: typedef __gnu_cxx::__conditional_type<(sizeof(void*) 2441: <= sizeof(unsigned long)), 2441: unsigned long, unsigned long long>::__type _UIntPtrType; 2441: 2441: _UIntPtrType __ul; 2441: __beg = _M_extract_int(__beg, __end, __io, __err, __ul); 2441: 2441: 2441: __io.flags(__fmt); 2441: 2441: __v = reinterpret_cast(__ul); 2441: return __beg; 2441: } 2441: 2441: 2441: 2441: template 2441: void 2441: num_put<_CharT, _OutIter>:: 2441: _M_pad(_CharT __fill, streamsize __w, ios_base& __io, 2441: _CharT* __new, const _CharT* __cs, int& __len) const 2441: { 2441: 2441: 2441: __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, 2441: __cs, __w, __len); 2441: __len = static_cast(__w); 2441: } 2441: 2441: 2441: 2441: template 2441: int 2441: __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, 2441: ios_base::fmtflags __flags, bool __dec) 2441: { 2441: _CharT* __buf = __bufend; 2441: if (__builtin_expect(__dec, true)) 2441: { 2441: 2441: do 2441: { 2441: *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; 2441: __v /= 10; 2441: } 2441: while (__v != 0); 2441: } 2441: else if ((__flags & ios_base::basefield) == ios_base::oct) 2441: { 2441: 2441: do 2441: { 2441: *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; 2441: __v >>= 3; 2441: } 2441: while (__v != 0); 2441: } 2441: else 2441: { 2441: 2441: const bool __uppercase = __flags & ios_base::uppercase; 2441: const int __case_offset = __uppercase ? __num_base::_S_oudigits 2441: : __num_base::_S_odigits; 2441: do 2441: { 2441: *--__buf = __lit[(__v & 0xf) + __case_offset]; 2441: __v >>= 4; 2441: } 2441: while (__v != 0); 2441: } 2441: return __bufend - __buf; 2441: } 2441: 2441: 2441: 2441: template 2441: void 2441: num_put<_CharT, _OutIter>:: 2441: _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, 2441: ios_base&, _CharT* __new, _CharT* __cs, int& __len) const 2441: { 2441: _CharT* __p = std::__add_grouping(__new, __sep, __grouping, 2441: __grouping_size, __cs, __cs + __len); 2441: __len = __p - __new; 2441: } 2441: 2441: template 2441: template 2441: _OutIter 2441: num_put<_CharT, _OutIter>:: 2441: _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, 2441: _ValueT __v) const 2441: { 2441: using __gnu_cxx::__add_unsigned; 2441: typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; 2441: typedef __numpunct_cache<_CharT> __cache_type; 2441: __use_cache<__cache_type> __uc; 2441: const locale& __loc = __io._M_getloc(); 2441: const __cache_type* __lc = __uc(__loc); 2441: const _CharT* __lit = __lc->_M_atoms_out; 2441: const ios_base::fmtflags __flags = __io.flags(); 2441: 2441: 2441: const int __ilen = 5 * sizeof(_ValueT); 2441: _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * __ilen)); 2441: 2441: 2441: 2441: const ios_base::fmtflags __basefield = __flags & ios_base::basefield; 2441: const bool __dec = (__basefield != ios_base::oct 2441: && __basefield != ios_base::hex); 2441: const __unsigned_type __u = ((__v > 0 || !__dec) 2441: ? __unsigned_type(__v) 2441: : -__unsigned_type(__v)); 2441: int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); 2441: __cs += __ilen - __len; 2441: 2441: 2441: if (__lc->_M_use_grouping) 2441: { 2441: 2441: 2441: _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * (__len + 1) 2441: * 2)); 2441: _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, 2441: __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); 2441: __cs = __cs2 + 2; 2441: } 2441: 2441: 2441: if (__builtin_expect(__dec, true)) 2441: { 2441: 2441: if (__v >= 0) 2441: { 2441: if (bool(__flags & ios_base::showpos) 2441: && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) 2441: *--__cs = __lit[__num_base::_S_oplus], ++__len; 2441: } 2441: else 2441: *--__cs = __lit[__num_base::_S_ominus], ++__len; 2441: } 2441: else if (bool(__flags & ios_base::showbase) && __v) 2441: { 2441: if (__basefield == ios_base::oct) 2441: *--__cs = __lit[__num_base::_S_odigits], ++__len; 2441: else 2441: { 2441: 2441: const bool __uppercase = __flags & ios_base::uppercase; 2441: *--__cs = __lit[__num_base::_S_ox + __uppercase]; 2441: 2441: *--__cs = __lit[__num_base::_S_odigits]; 2441: __len += 2; 2441: } 2441: } 2441: 2441: 2441: const streamsize __w = __io.width(); 2441: if (__w > static_cast(__len)) 2441: { 2441: _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * __w)); 2441: _M_pad(__fill, __w, __io, __cs3, __cs, __len); 2441: __cs = __cs3; 2441: } 2441: __io.width(0); 2441: 2441: 2441: 2441: return std::__write(__s, __cs, __len); 2441: } 2441: 2441: template 2441: void 2441: num_put<_CharT, _OutIter>:: 2441: _M_group_float(const char* __grouping, size_t __grouping_size, 2441: _CharT __sep, const _CharT* __p, _CharT* __new, 2441: _CharT* __cs, int& __len) const 2441: { 2441: 2441: 2441: 2441: const int __declen = __p ? __p - __cs : __len; 2441: _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, 2441: __grouping_size, 2441: __cs, __cs + __declen); 2441: 2441: 2441: int __newlen = __p2 - __new; 2441: if (__p) 2441: { 2441: char_traits<_CharT>::copy(__p2, __p, __len - __declen); 2441: __newlen += __len - __declen; 2441: } 2441: __len = __newlen; 2441: } 2441: # 971 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: template 2441: template 2441: _OutIter 2441: num_put<_CharT, _OutIter>:: 2441: _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, 2441: _ValueT __v) const 2441: { 2441: typedef __numpunct_cache<_CharT> __cache_type; 2441: __use_cache<__cache_type> __uc; 2441: const locale& __loc = __io._M_getloc(); 2441: const __cache_type* __lc = __uc(__loc); 2441: 2441: 2441: const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); 2441: 2441: const int __max_digits = 2441: __gnu_cxx::__numeric_traits<_ValueT>::__digits10; 2441: 2441: 2441: int __len; 2441: 2441: char __fbuf[16]; 2441: __num_base::_S_format_float(__io, __fbuf, __mod); 2441: 2441: 2441: 2441: const bool __use_prec = 2441: (__io.flags() & ios_base::floatfield) != ios_base::floatfield; 2441: 2441: 2441: 2441: int __cs_size = __max_digits * 3; 2441: char* __cs = static_cast(__builtin_alloca(__cs_size)); 2441: if (__use_prec) 2441: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 2441: __fbuf, __prec, __v); 2441: else 2441: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 2441: __fbuf, __v); 2441: 2441: 2441: if (__len >= __cs_size) 2441: { 2441: __cs_size = __len + 1; 2441: __cs = static_cast(__builtin_alloca(__cs_size)); 2441: if (__use_prec) 2441: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 2441: __fbuf, __prec, __v); 2441: else 2441: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 2441: __fbuf, __v); 2441: } 2441: # 1044 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * __len)); 2441: __ctype.widen(__cs, __cs + __len, __ws); 2441: 2441: 2441: _CharT* __wp = 0; 2441: const char* __p = char_traits::find(__cs, __len, '.'); 2441: if (__p) 2441: { 2441: __wp = __ws + (__p - __cs); 2441: *__wp = __lc->_M_decimal_point; 2441: } 2441: 2441: 2441: 2441: 2441: if (__lc->_M_use_grouping 2441: && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' 2441: && __cs[1] >= '0' && __cs[2] >= '0'))) 2441: { 2441: 2441: 2441: _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * __len * 2)); 2441: 2441: streamsize __off = 0; 2441: if (__cs[0] == '-' || __cs[0] == '+') 2441: { 2441: __off = 1; 2441: __ws2[0] = __ws[0]; 2441: __len -= 1; 2441: } 2441: 2441: _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, 2441: __lc->_M_thousands_sep, __wp, __ws2 + __off, 2441: __ws + __off, __len); 2441: __len += __off; 2441: 2441: __ws = __ws2; 2441: } 2441: 2441: 2441: const streamsize __w = __io.width(); 2441: if (__w > static_cast(__len)) 2441: { 2441: _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * __w)); 2441: _M_pad(__fill, __w, __io, __ws3, __ws, __len); 2441: __ws = __ws3; 2441: } 2441: __io.width(0); 2441: 2441: 2441: 2441: return std::__write(__s, __ws, __len); 2441: } 2441: 2441: template 2441: _OutIter 2441: num_put<_CharT, _OutIter>:: 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const 2441: { 2441: const ios_base::fmtflags __flags = __io.flags(); 2441: if ((__flags & ios_base::boolalpha) == 0) 2441: { 2441: const long __l = __v; 2441: __s = _M_insert_int(__s, __io, __fill, __l); 2441: } 2441: else 2441: { 2441: typedef __numpunct_cache<_CharT> __cache_type; 2441: __use_cache<__cache_type> __uc; 2441: const locale& __loc = __io._M_getloc(); 2441: const __cache_type* __lc = __uc(__loc); 2441: 2441: const _CharT* __name = __v ? __lc->_M_truename 2441: : __lc->_M_falsename; 2441: int __len = __v ? __lc->_M_truename_size 2441: : __lc->_M_falsename_size; 2441: 2441: const streamsize __w = __io.width(); 2441: if (__w > static_cast(__len)) 2441: { 2441: const streamsize __plen = __w - __len; 2441: _CharT* __ps 2441: = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 2441: * __plen)); 2441: 2441: char_traits<_CharT>::assign(__ps, __plen, __fill); 2441: __io.width(0); 2441: 2441: if ((__flags & ios_base::adjustfield) == ios_base::left) 2441: { 2441: __s = std::__write(__s, __name, __len); 2441: __s = std::__write(__s, __ps, __plen); 2441: } 2441: else 2441: { 2441: __s = std::__write(__s, __ps, __plen); 2441: __s = std::__write(__s, __name, __len); 2441: } 2441: return __s; 2441: } 2441: __io.width(0); 2441: __s = std::__write(__s, __name, __len); 2441: } 2441: return __s; 2441: } 2441: 2441: template 2441: _OutIter 2441: num_put<_CharT, _OutIter>:: 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const 2441: { return _M_insert_float(__s, __io, __fill, char(), __v); } 2441: # 1169 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: template 2441: _OutIter 2441: num_put<_CharT, _OutIter>:: 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, 2441: long double __v) const 2441: { return _M_insert_float(__s, __io, __fill, 'L', __v); } 2441: 2441: template 2441: _OutIter 2441: num_put<_CharT, _OutIter>:: 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, 2441: const void* __v) const 2441: { 2441: const ios_base::fmtflags __flags = __io.flags(); 2441: const ios_base::fmtflags __fmt = ~(ios_base::basefield 2441: | ios_base::uppercase); 2441: __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); 2441: 2441: typedef __gnu_cxx::__conditional_type<(sizeof(const void*) 2441: <= sizeof(unsigned long)), 2441: unsigned long, unsigned long long>::__type _UIntPtrType; 2441: 2441: __s = _M_insert_int(__s, __io, __fill, 2441: reinterpret_cast<_UIntPtrType>(__v)); 2441: __io.flags(__flags); 2441: return __s; 2441: } 2441: 2441: 2441: # 1206 "/usr/include/c++/8/bits/locale_facets.tcc" 3 2441: template 2441: void 2441: __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, 2441: _CharT* __news, const _CharT* __olds, 2441: streamsize __newlen, streamsize __oldlen) 2441: { 2441: const size_t __plen = static_cast(__newlen - __oldlen); 2441: const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; 2441: 2441: 2441: if (__adjust == ios_base::left) 2441: { 2441: _Traits::copy(__news, __olds, __oldlen); 2441: _Traits::assign(__news + __oldlen, __plen, __fill); 2441: return; 2441: } 2441: 2441: size_t __mod = 0; 2441: if (__adjust == ios_base::internal) 2441: { 2441: 2441: 2441: 2441: const locale& __loc = __io._M_getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: if (__ctype.widen('-') == __olds[0] 2441: || __ctype.widen('+') == __olds[0]) 2441: { 2441: __news[0] = __olds[0]; 2441: __mod = 1; 2441: ++__news; 2441: } 2441: else if (__ctype.widen('0') == __olds[0] 2441: && __oldlen > 1 2441: && (__ctype.widen('x') == __olds[1] 2441: || __ctype.widen('X') == __olds[1])) 2441: { 2441: __news[0] = __olds[0]; 2441: __news[1] = __olds[1]; 2441: __mod = 2; 2441: __news += 2; 2441: } 2441: 2441: } 2441: _Traits::assign(__news, __plen, __fill); 2441: _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); 2441: } 2441: 2441: template 2441: _CharT* 2441: __add_grouping(_CharT* __s, _CharT __sep, 2441: const char* __gbeg, size_t __gsize, 2441: const _CharT* __first, const _CharT* __last) 2441: { 2441: size_t __idx = 0; 2441: size_t __ctr = 0; 2441: 2441: while (__last - __first > __gbeg[__idx] 2441: && static_cast(__gbeg[__idx]) > 0 2441: && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) 2441: { 2441: __last -= __gbeg[__idx]; 2441: __idx < __gsize - 1 ? ++__idx : ++__ctr; 2441: } 2441: 2441: while (__first != __last) 2441: *__s++ = *__first++; 2441: 2441: while (__ctr--) 2441: { 2441: *__s++ = __sep; 2441: for (char __i = __gbeg[__idx]; __i > 0; --__i) 2441: *__s++ = *__first++; 2441: } 2441: 2441: while (__idx--) 2441: { 2441: *__s++ = __sep; 2441: for (char __i = __gbeg[__idx]; __i > 0; --__i) 2441: *__s++ = *__first++; 2441: } 2441: 2441: return __s; 2441: } 2441: 2441: 2441: 2441: 2441: extern template class __cxx11:: numpunct; 2441: extern template class __cxx11:: numpunct_byname; 2441: extern template class num_get; 2441: extern template class num_put; 2441: extern template class ctype_byname; 2441: 2441: extern template 2441: const ctype& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const numpunct& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const num_put& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const num_get& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: extern template class __cxx11:: numpunct; 2441: extern template class __cxx11:: numpunct_byname; 2441: extern template class num_get; 2441: extern template class num_put; 2441: extern template class ctype_byname; 2441: 2441: extern template 2441: const ctype& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const numpunct& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const num_put& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const num_get& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: 2441: 2441: } 2441: # 2656 "/usr/include/c++/8/bits/locale_facets.h" 2 3 2441: # 38 "/usr/include/c++/8/bits/basic_ios.h" 2 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: inline const _Facet& 2441: __check_facet(const _Facet* __f) 2441: { 2441: if (!__f) 2441: __throw_bad_cast(); 2441: return *__f; 2441: } 2441: # 66 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: template 2441: class basic_ios : public ios_base 2441: { 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef typename _Traits::int_type int_type; 2441: typedef typename _Traits::pos_type pos_type; 2441: typedef typename _Traits::off_type off_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef ctype<_CharT> __ctype_type; 2441: typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > 2441: __num_put_type; 2441: typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > 2441: __num_get_type; 2441: 2441: 2441: 2441: protected: 2441: basic_ostream<_CharT, _Traits>* _M_tie; 2441: mutable char_type _M_fill; 2441: mutable bool _M_fill_init; 2441: basic_streambuf<_CharT, _Traits>* _M_streambuf; 2441: 2441: 2441: const __ctype_type* _M_ctype; 2441: 2441: const __num_put_type* _M_num_put; 2441: 2441: const __num_get_type* _M_num_get; 2441: 2441: public: 2441: # 117 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: explicit operator bool() const 2441: { return !this->fail(); } 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: operator!() const 2441: { return this->fail(); } 2441: # 136 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: iostate 2441: rdstate() const 2441: { return _M_streambuf_state; } 2441: # 147 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: void 2441: clear(iostate __state = goodbit); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: setstate(iostate __state) 2441: { this->clear(this->rdstate() | __state); } 2441: 2441: 2441: 2441: 2441: void 2441: _M_setstate(iostate __state) 2441: { 2441: 2441: 2441: _M_streambuf_state |= __state; 2441: if (this->exceptions() & __state) 2441: throw; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: good() const 2441: { return this->rdstate() == 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: eof() const 2441: { return (this->rdstate() & eofbit) != 0; } 2441: # 200 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: bool 2441: fail() const 2441: { return (this->rdstate() & (badbit | failbit)) != 0; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: bad() const 2441: { return (this->rdstate() & badbit) != 0; } 2441: # 221 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: iostate 2441: exceptions() const 2441: { return _M_exception; } 2441: # 256 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: void 2441: exceptions(iostate __except) 2441: { 2441: _M_exception = __except; 2441: this->clear(_M_streambuf_state); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: basic_ios(basic_streambuf<_CharT, _Traits>* __sb) 2441: : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), 2441: _M_ctype(0), _M_num_put(0), _M_num_get(0) 2441: { this->init(__sb); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual 2441: ~basic_ios() { } 2441: # 294 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: basic_ostream<_CharT, _Traits>* 2441: tie() const 2441: { return _M_tie; } 2441: # 306 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: basic_ostream<_CharT, _Traits>* 2441: tie(basic_ostream<_CharT, _Traits>* __tiestr) 2441: { 2441: basic_ostream<_CharT, _Traits>* __old = _M_tie; 2441: _M_tie = __tiestr; 2441: return __old; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_streambuf<_CharT, _Traits>* 2441: rdbuf() const 2441: { return _M_streambuf; } 2441: # 346 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: basic_streambuf<_CharT, _Traits>* 2441: rdbuf(basic_streambuf<_CharT, _Traits>* __sb); 2441: # 360 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: basic_ios& 2441: copyfmt(const basic_ios& __rhs); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: char_type 2441: fill() const 2441: { 2441: if (!_M_fill_init) 2441: { 2441: _M_fill = this->widen(' '); 2441: _M_fill_init = true; 2441: } 2441: return _M_fill; 2441: } 2441: # 389 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: char_type 2441: fill(char_type __ch) 2441: { 2441: char_type __old = this->fill(); 2441: _M_fill = __ch; 2441: return __old; 2441: } 2441: # 409 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: locale 2441: imbue(const locale& __loc); 2441: # 429 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: char 2441: narrow(char_type __c, char __dfault) const 2441: { return __check_facet(_M_ctype).narrow(__c, __dfault); } 2441: # 448 "/usr/include/c++/8/bits/basic_ios.h" 3 2441: char_type 2441: widen(char __c) const 2441: { return __check_facet(_M_ctype).widen(__c); } 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: basic_ios() 2441: : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), 2441: _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) 2441: { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: init(basic_streambuf<_CharT, _Traits>* __sb); 2441: 2441: 2441: basic_ios(const basic_ios&) = delete; 2441: basic_ios& operator=(const basic_ios&) = delete; 2441: 2441: void 2441: move(basic_ios& __rhs) 2441: { 2441: ios_base::_M_move(__rhs); 2441: _M_cache_locale(_M_ios_locale); 2441: this->tie(__rhs.tie(nullptr)); 2441: _M_fill = __rhs._M_fill; 2441: _M_fill_init = __rhs._M_fill_init; 2441: _M_streambuf = nullptr; 2441: } 2441: 2441: void 2441: move(basic_ios&& __rhs) 2441: { this->move(__rhs); } 2441: 2441: void 2441: swap(basic_ios& __rhs) noexcept 2441: { 2441: ios_base::_M_swap(__rhs); 2441: _M_cache_locale(_M_ios_locale); 2441: __rhs._M_cache_locale(__rhs._M_ios_locale); 2441: std::swap(_M_tie, __rhs._M_tie); 2441: std::swap(_M_fill, __rhs._M_fill); 2441: std::swap(_M_fill_init, __rhs._M_fill_init); 2441: } 2441: 2441: void 2441: set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) 2441: { _M_streambuf = __sb; } 2441: 2441: 2441: void 2441: _M_cache_locale(const locale& __loc); 2441: }; 2441: 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/bits/basic_ios.tcc" 1 3 2441: # 33 "/usr/include/c++/8/bits/basic_ios.tcc" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/basic_ios.tcc" 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: void 2441: basic_ios<_CharT, _Traits>::clear(iostate __state) 2441: { 2441: if (this->rdbuf()) 2441: _M_streambuf_state = __state; 2441: else 2441: _M_streambuf_state = __state | badbit; 2441: if (this->exceptions() & this->rdstate()) 2441: __throw_ios_failure(("basic_ios::clear")); 2441: } 2441: 2441: template 2441: basic_streambuf<_CharT, _Traits>* 2441: basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) 2441: { 2441: basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; 2441: _M_streambuf = __sb; 2441: this->clear(); 2441: return __old; 2441: } 2441: 2441: template 2441: basic_ios<_CharT, _Traits>& 2441: basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) 2441: { 2441: 2441: 2441: if (this != &__rhs) 2441: { 2441: 2441: 2441: 2441: 2441: _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? 2441: _M_local_word : new _Words[__rhs._M_word_size]; 2441: 2441: 2441: _Callback_list* __cb = __rhs._M_callbacks; 2441: if (__cb) 2441: __cb->_M_add_reference(); 2441: _M_call_callbacks(erase_event); 2441: if (_M_word != _M_local_word) 2441: { 2441: delete [] _M_word; 2441: _M_word = 0; 2441: } 2441: _M_dispose_callbacks(); 2441: 2441: 2441: _M_callbacks = __cb; 2441: for (int __i = 0; __i < __rhs._M_word_size; ++__i) 2441: __words[__i] = __rhs._M_word[__i]; 2441: _M_word = __words; 2441: _M_word_size = __rhs._M_word_size; 2441: 2441: this->flags(__rhs.flags()); 2441: this->width(__rhs.width()); 2441: this->precision(__rhs.precision()); 2441: this->tie(__rhs.tie()); 2441: this->fill(__rhs.fill()); 2441: _M_ios_locale = __rhs.getloc(); 2441: _M_cache_locale(_M_ios_locale); 2441: 2441: _M_call_callbacks(copyfmt_event); 2441: 2441: 2441: this->exceptions(__rhs.exceptions()); 2441: } 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: locale 2441: basic_ios<_CharT, _Traits>::imbue(const locale& __loc) 2441: { 2441: locale __old(this->getloc()); 2441: ios_base::imbue(__loc); 2441: _M_cache_locale(__loc); 2441: if (this->rdbuf() != 0) 2441: this->rdbuf()->pubimbue(__loc); 2441: return __old; 2441: } 2441: 2441: template 2441: void 2441: basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) 2441: { 2441: 2441: ios_base::_M_init(); 2441: 2441: 2441: _M_cache_locale(_M_ios_locale); 2441: # 146 "/usr/include/c++/8/bits/basic_ios.tcc" 3 2441: _M_fill = _CharT(); 2441: _M_fill_init = false; 2441: 2441: _M_tie = 0; 2441: _M_exception = goodbit; 2441: _M_streambuf = __sb; 2441: _M_streambuf_state = __sb ? goodbit : badbit; 2441: } 2441: 2441: template 2441: void 2441: basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) 2441: { 2441: if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) 2441: _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc)); 2441: else 2441: _M_ctype = 0; 2441: 2441: if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) 2441: _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc)); 2441: else 2441: _M_num_put = 0; 2441: 2441: if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) 2441: _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc)); 2441: else 2441: _M_num_get = 0; 2441: } 2441: 2441: 2441: 2441: 2441: extern template class basic_ios; 2441: 2441: 2441: extern template class basic_ios; 2441: 2441: 2441: 2441: 2441: } 2441: # 517 "/usr/include/c++/8/bits/basic_ios.h" 2 3 2441: # 45 "/usr/include/c++/8/ios" 2 3 2441: # 39 "/usr/include/c++/8/istream" 2 3 2441: # 1 "/usr/include/c++/8/ostream" 1 3 2441: # 36 "/usr/include/c++/8/ostream" 3 2441: 2441: # 37 "/usr/include/c++/8/ostream" 3 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 57 "/usr/include/c++/8/ostream" 3 2441: template 2441: class basic_ostream : virtual public basic_ios<_CharT, _Traits> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef typename _Traits::int_type int_type; 2441: typedef typename _Traits::pos_type pos_type; 2441: typedef typename _Traits::off_type off_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 2441: typedef basic_ios<_CharT, _Traits> __ios_type; 2441: typedef basic_ostream<_CharT, _Traits> __ostream_type; 2441: typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > 2441: __num_put_type; 2441: typedef ctype<_CharT> __ctype_type; 2441: # 83 "/usr/include/c++/8/ostream" 3 2441: explicit 2441: basic_ostream(__streambuf_type* __sb) 2441: { this->init(__sb); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual 2441: ~basic_ostream() { } 2441: 2441: 2441: class sentry; 2441: friend class sentry; 2441: # 107 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: operator<<(__ostream_type& (*__pf)(__ostream_type&)) 2441: { 2441: 2441: 2441: 2441: return __pf(*this); 2441: } 2441: 2441: __ostream_type& 2441: operator<<(__ios_type& (*__pf)(__ios_type&)) 2441: { 2441: 2441: 2441: 2441: __pf(*this); 2441: return *this; 2441: } 2441: 2441: __ostream_type& 2441: operator<<(ios_base& (*__pf) (ios_base&)) 2441: { 2441: 2441: 2441: 2441: __pf(*this); 2441: return *this; 2441: } 2441: # 165 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: operator<<(long __n) 2441: { return _M_insert(__n); } 2441: 2441: __ostream_type& 2441: operator<<(unsigned long __n) 2441: { return _M_insert(__n); } 2441: 2441: __ostream_type& 2441: operator<<(bool __n) 2441: { return _M_insert(__n); } 2441: 2441: __ostream_type& 2441: operator<<(short __n); 2441: 2441: __ostream_type& 2441: operator<<(unsigned short __n) 2441: { 2441: 2441: 2441: return _M_insert(static_cast(__n)); 2441: } 2441: 2441: __ostream_type& 2441: operator<<(int __n); 2441: 2441: __ostream_type& 2441: operator<<(unsigned int __n) 2441: { 2441: 2441: 2441: return _M_insert(static_cast(__n)); 2441: } 2441: 2441: 2441: __ostream_type& 2441: operator<<(long long __n) 2441: { return _M_insert(__n); } 2441: 2441: __ostream_type& 2441: operator<<(unsigned long long __n) 2441: { return _M_insert(__n); } 2441: # 219 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: operator<<(double __f) 2441: { return _M_insert(__f); } 2441: 2441: __ostream_type& 2441: operator<<(float __f) 2441: { 2441: 2441: 2441: return _M_insert(static_cast(__f)); 2441: } 2441: 2441: __ostream_type& 2441: operator<<(long double __f) 2441: { return _M_insert(__f); } 2441: # 244 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: operator<<(const void* __p) 2441: { return _M_insert(__p); } 2441: # 269 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: operator<<(__streambuf_type* __sb); 2441: # 302 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: put(char_type __c); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: _M_write(const char_type* __s, streamsize __n) 2441: { 2441: const streamsize __put = this->rdbuf()->sputn(__s, __n); 2441: if (__put != __n) 2441: this->setstate(ios_base::badbit); 2441: } 2441: # 334 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: write(const char_type* __s, streamsize __n); 2441: # 347 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: flush(); 2441: # 357 "/usr/include/c++/8/ostream" 3 2441: pos_type 2441: tellp(); 2441: # 368 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: seekp(pos_type); 2441: # 380 "/usr/include/c++/8/ostream" 3 2441: __ostream_type& 2441: seekp(off_type, ios_base::seekdir); 2441: 2441: protected: 2441: basic_ostream() 2441: { this->init(0); } 2441: 2441: 2441: 2441: basic_ostream(basic_iostream<_CharT, _Traits>&) { } 2441: 2441: basic_ostream(const basic_ostream&) = delete; 2441: 2441: basic_ostream(basic_ostream&& __rhs) 2441: : __ios_type() 2441: { __ios_type::move(__rhs); } 2441: 2441: 2441: 2441: basic_ostream& operator=(const basic_ostream&) = delete; 2441: 2441: basic_ostream& 2441: operator=(basic_ostream&& __rhs) 2441: { 2441: swap(__rhs); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(basic_ostream& __rhs) 2441: { __ios_type::swap(__rhs); } 2441: 2441: 2441: template 2441: __ostream_type& 2441: _M_insert(_ValueT __v); 2441: }; 2441: # 425 "/usr/include/c++/8/ostream" 3 2441: template 2441: class basic_ostream<_CharT, _Traits>::sentry 2441: { 2441: 2441: bool _M_ok; 2441: basic_ostream<_CharT, _Traits>& _M_os; 2441: 2441: public: 2441: # 444 "/usr/include/c++/8/ostream" 3 2441: explicit 2441: sentry(basic_ostream<_CharT, _Traits>& __os); 2441: # 454 "/usr/include/c++/8/ostream" 3 2441: ~sentry() 2441: { 2441: 2441: if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) 2441: { 2441: 2441: if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) 2441: _M_os.setstate(ios_base::badbit); 2441: } 2441: } 2441: # 473 "/usr/include/c++/8/ostream" 3 2441: explicit 2441: 2441: operator bool() const 2441: { return _M_ok; } 2441: }; 2441: # 495 "/usr/include/c++/8/ostream" 3 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) 2441: { return __ostream_insert(__out, &__c, 1); } 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) 2441: { return (__out << __out.widen(__c)); } 2441: 2441: 2441: template 2441: inline basic_ostream& 2441: operator<<(basic_ostream& __out, char __c) 2441: { return __ostream_insert(__out, &__c, 1); } 2441: 2441: 2441: template 2441: inline basic_ostream& 2441: operator<<(basic_ostream& __out, signed char __c) 2441: { return (__out << static_cast(__c)); } 2441: 2441: template 2441: inline basic_ostream& 2441: operator<<(basic_ostream& __out, unsigned char __c) 2441: { return (__out << static_cast(__c)); } 2441: # 537 "/usr/include/c++/8/ostream" 3 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) 2441: { 2441: if (!__s) 2441: __out.setstate(ios_base::badbit); 2441: else 2441: __ostream_insert(__out, __s, 2441: static_cast(_Traits::length(__s))); 2441: return __out; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits> & 2441: operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); 2441: 2441: 2441: template 2441: inline basic_ostream& 2441: operator<<(basic_ostream& __out, const char* __s) 2441: { 2441: if (!__s) 2441: __out.setstate(ios_base::badbit); 2441: else 2441: __ostream_insert(__out, __s, 2441: static_cast(_Traits::length(__s))); 2441: return __out; 2441: } 2441: 2441: 2441: template 2441: inline basic_ostream& 2441: operator<<(basic_ostream& __out, const signed char* __s) 2441: { return (__out << reinterpret_cast(__s)); } 2441: 2441: template 2441: inline basic_ostream & 2441: operator<<(basic_ostream& __out, const unsigned char* __s) 2441: { return (__out << reinterpret_cast(__s)); } 2441: # 588 "/usr/include/c++/8/ostream" 3 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: endl(basic_ostream<_CharT, _Traits>& __os) 2441: { return flush(__os.put(__os.widen('\n'))); } 2441: # 600 "/usr/include/c++/8/ostream" 3 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: ends(basic_ostream<_CharT, _Traits>& __os) 2441: { return __os.put(_CharT()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: flush(basic_ostream<_CharT, _Traits>& __os) 2441: { return __os.flush(); } 2441: 2441: 2441: template 2441: basic_ostream<_Ch, _Up>& 2441: __is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*); 2441: 2441: template 2441: struct __is_convertible_to_basic_ostream_impl 2441: { 2441: using __ostream_type = void; 2441: }; 2441: 2441: template 2441: using __do_is_convertible_to_basic_ostream_impl = 2441: decltype(__is_convertible_to_basic_ostream_test 2441: (declval::type*>())); 2441: 2441: template 2441: struct __is_convertible_to_basic_ostream_impl 2441: <_Tp, 2441: __void_t<__do_is_convertible_to_basic_ostream_impl<_Tp>>> 2441: { 2441: using __ostream_type = 2441: __do_is_convertible_to_basic_ostream_impl<_Tp>; 2441: }; 2441: 2441: template 2441: struct __is_convertible_to_basic_ostream 2441: : __is_convertible_to_basic_ostream_impl<_Tp> 2441: { 2441: public: 2441: using type = __not_::__ostream_type>>; 2441: constexpr static bool value = type::value; 2441: }; 2441: 2441: template 2441: struct __is_insertable : false_type {}; 2441: 2441: template 2441: struct __is_insertable<_Ostream, _Tp, 2441: __void_t() 2441: << declval())>> 2441: : true_type {}; 2441: 2441: template 2441: using __rvalue_ostream_type = 2441: typename __is_convertible_to_basic_ostream< 2441: _Ostream>::__ostream_type; 2441: # 674 "/usr/include/c++/8/ostream" 3 2441: template 2441: inline 2441: typename enable_if<__and_<__not_>, 2441: __is_convertible_to_basic_ostream<_Ostream>, 2441: __is_insertable< 2441: __rvalue_ostream_type<_Ostream>, 2441: const _Tp&>>::value, 2441: __rvalue_ostream_type<_Ostream>>::type 2441: operator<<(_Ostream&& __os, const _Tp& __x) 2441: { 2441: __rvalue_ostream_type<_Ostream> __ret_os = __os; 2441: __ret_os << __x; 2441: return __ret_os; 2441: } 2441: 2441: 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/bits/ostream.tcc" 1 3 2441: # 37 "/usr/include/c++/8/bits/ostream.tcc" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/ostream.tcc" 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>::sentry:: 2441: sentry(basic_ostream<_CharT, _Traits>& __os) 2441: : _M_ok(false), _M_os(__os) 2441: { 2441: 2441: if (__os.tie() && __os.good()) 2441: __os.tie()->flush(); 2441: 2441: if (__os.good()) 2441: _M_ok = true; 2441: else 2441: __os.setstate(ios_base::failbit); 2441: } 2441: 2441: template 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: _M_insert(_ValueT __v) 2441: { 2441: sentry __cerb(*this); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const __num_put_type& __np = __check_facet(this->_M_num_put); 2441: if (__np.put(*this, *this, this->fill(), __v).failed()) 2441: __err |= ios_base::badbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: operator<<(short __n) 2441: { 2441: 2441: 2441: const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; 2441: if (__fmt == ios_base::oct || __fmt == ios_base::hex) 2441: return _M_insert(static_cast(static_cast(__n))); 2441: else 2441: return _M_insert(static_cast(__n)); 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: operator<<(int __n) 2441: { 2441: 2441: 2441: const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; 2441: if (__fmt == ios_base::oct || __fmt == ios_base::hex) 2441: return _M_insert(static_cast(static_cast(__n))); 2441: else 2441: return _M_insert(static_cast(__n)); 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: operator<<(__streambuf_type* __sbin) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: sentry __cerb(*this); 2441: if (__cerb && __sbin) 2441: { 2441: try 2441: { 2441: if (!__copy_streambufs(__sbin, this->rdbuf())) 2441: __err |= ios_base::failbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::failbit); } 2441: } 2441: else if (!__sbin) 2441: __err |= ios_base::badbit; 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: put(char_type __c) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: sentry __cerb(*this); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const int_type __put = this->rdbuf()->sputc(__c); 2441: if (traits_type::eq_int_type(__put, traits_type::eof())) 2441: __err |= ios_base::badbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: write(const _CharT* __s, streamsize __n) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: sentry __cerb(*this); 2441: if (__cerb) 2441: { 2441: try 2441: { _M_write(__s, __n); } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: flush() 2441: { 2441: 2441: 2441: 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: if (this->rdbuf() && this->rdbuf()->pubsync() == -1) 2441: __err |= ios_base::badbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: typename basic_ostream<_CharT, _Traits>::pos_type 2441: basic_ostream<_CharT, _Traits>:: 2441: tellp() 2441: { 2441: pos_type __ret = pos_type(-1); 2441: try 2441: { 2441: if (!this->fail()) 2441: __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: return __ret; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: seekp(pos_type __pos) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: if (!this->fail()) 2441: { 2441: 2441: 2441: const pos_type __p = this->rdbuf()->pubseekpos(__pos, 2441: ios_base::out); 2441: 2441: 2441: if (__p == pos_type(off_type(-1))) 2441: __err |= ios_base::failbit; 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: basic_ostream<_CharT, _Traits>:: 2441: seekp(off_type __off, ios_base::seekdir __dir) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: if (!this->fail()) 2441: { 2441: 2441: 2441: const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, 2441: ios_base::out); 2441: 2441: 2441: if (__p == pos_type(off_type(-1))) 2441: __err |= ios_base::failbit; 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) 2441: { 2441: if (!__s) 2441: __out.setstate(ios_base::badbit); 2441: else 2441: { 2441: 2441: 2441: const size_t __clen = char_traits::length(__s); 2441: try 2441: { 2441: struct __ptr_guard 2441: { 2441: _CharT *__p; 2441: __ptr_guard (_CharT *__ip): __p(__ip) { } 2441: ~__ptr_guard() { delete[] __p; } 2441: _CharT* __get() { return __p; } 2441: } __pg (new _CharT[__clen]); 2441: 2441: _CharT *__ws = __pg.__get(); 2441: for (size_t __i = 0; __i < __clen; ++__i) 2441: __ws[__i] = __out.widen(__s[__i]); 2441: __ostream_insert(__out, __ws, __clen); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __out._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __out._M_setstate(ios_base::badbit); } 2441: } 2441: return __out; 2441: } 2441: 2441: 2441: 2441: 2441: extern template class basic_ostream; 2441: extern template ostream& endl(ostream&); 2441: extern template ostream& ends(ostream&); 2441: extern template ostream& flush(ostream&); 2441: extern template ostream& operator<<(ostream&, char); 2441: extern template ostream& operator<<(ostream&, unsigned char); 2441: extern template ostream& operator<<(ostream&, signed char); 2441: extern template ostream& operator<<(ostream&, const char*); 2441: extern template ostream& operator<<(ostream&, const unsigned char*); 2441: extern template ostream& operator<<(ostream&, const signed char*); 2441: 2441: extern template ostream& ostream::_M_insert(long); 2441: extern template ostream& ostream::_M_insert(unsigned long); 2441: extern template ostream& ostream::_M_insert(bool); 2441: 2441: extern template ostream& ostream::_M_insert(long long); 2441: extern template ostream& ostream::_M_insert(unsigned long long); 2441: 2441: extern template ostream& ostream::_M_insert(double); 2441: extern template ostream& ostream::_M_insert(long double); 2441: extern template ostream& ostream::_M_insert(const void*); 2441: 2441: 2441: extern template class basic_ostream; 2441: extern template wostream& endl(wostream&); 2441: extern template wostream& ends(wostream&); 2441: extern template wostream& flush(wostream&); 2441: extern template wostream& operator<<(wostream&, wchar_t); 2441: extern template wostream& operator<<(wostream&, char); 2441: extern template wostream& operator<<(wostream&, const wchar_t*); 2441: extern template wostream& operator<<(wostream&, const char*); 2441: 2441: extern template wostream& wostream::_M_insert(long); 2441: extern template wostream& wostream::_M_insert(unsigned long); 2441: extern template wostream& wostream::_M_insert(bool); 2441: 2441: extern template wostream& wostream::_M_insert(long long); 2441: extern template wostream& wostream::_M_insert(unsigned long long); 2441: 2441: extern template wostream& wostream::_M_insert(double); 2441: extern template wostream& wostream::_M_insert(long double); 2441: extern template wostream& wostream::_M_insert(const void*); 2441: 2441: 2441: 2441: 2441: } 2441: # 694 "/usr/include/c++/8/ostream" 2 3 2441: # 40 "/usr/include/c++/8/istream" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 57 "/usr/include/c++/8/istream" 3 2441: template 2441: class basic_istream : virtual public basic_ios<_CharT, _Traits> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef typename _Traits::int_type int_type; 2441: typedef typename _Traits::pos_type pos_type; 2441: typedef typename _Traits::off_type off_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 2441: typedef basic_ios<_CharT, _Traits> __ios_type; 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > 2441: __num_get_type; 2441: typedef ctype<_CharT> __ctype_type; 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: 2441: streamsize _M_gcount; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: basic_istream(__streambuf_type* __sb) 2441: : _M_gcount(streamsize(0)) 2441: { this->init(__sb); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual 2441: ~basic_istream() 2441: { _M_gcount = streamsize(0); } 2441: 2441: 2441: class sentry; 2441: friend class sentry; 2441: # 119 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: operator>>(__istream_type& (*__pf)(__istream_type&)) 2441: { return __pf(*this); } 2441: 2441: __istream_type& 2441: operator>>(__ios_type& (*__pf)(__ios_type&)) 2441: { 2441: __pf(*this); 2441: return *this; 2441: } 2441: 2441: __istream_type& 2441: operator>>(ios_base& (*__pf)(ios_base&)) 2441: { 2441: __pf(*this); 2441: return *this; 2441: } 2441: # 167 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: operator>>(bool& __n) 2441: { return _M_extract(__n); } 2441: 2441: __istream_type& 2441: operator>>(short& __n); 2441: 2441: __istream_type& 2441: operator>>(unsigned short& __n) 2441: { return _M_extract(__n); } 2441: 2441: __istream_type& 2441: operator>>(int& __n); 2441: 2441: __istream_type& 2441: operator>>(unsigned int& __n) 2441: { return _M_extract(__n); } 2441: 2441: __istream_type& 2441: operator>>(long& __n) 2441: { return _M_extract(__n); } 2441: 2441: __istream_type& 2441: operator>>(unsigned long& __n) 2441: { return _M_extract(__n); } 2441: 2441: 2441: __istream_type& 2441: operator>>(long long& __n) 2441: { return _M_extract(__n); } 2441: 2441: __istream_type& 2441: operator>>(unsigned long long& __n) 2441: { return _M_extract(__n); } 2441: # 213 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: operator>>(float& __f) 2441: { return _M_extract(__f); } 2441: 2441: __istream_type& 2441: operator>>(double& __f) 2441: { return _M_extract(__f); } 2441: 2441: __istream_type& 2441: operator>>(long double& __f) 2441: { return _M_extract(__f); } 2441: # 234 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: operator>>(void*& __p) 2441: { return _M_extract(__p); } 2441: # 258 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: operator>>(__streambuf_type* __sb); 2441: # 268 "/usr/include/c++/8/istream" 3 2441: streamsize 2441: gcount() const 2441: { return _M_gcount; } 2441: # 301 "/usr/include/c++/8/istream" 3 2441: int_type 2441: get(); 2441: # 315 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: get(char_type& __c); 2441: # 342 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: get(char_type* __s, streamsize __n, char_type __delim); 2441: # 353 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: get(char_type* __s, streamsize __n) 2441: { return this->get(__s, __n, this->widen('\n')); } 2441: # 376 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: get(__streambuf_type& __sb, char_type __delim); 2441: # 386 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: get(__streambuf_type& __sb) 2441: { return this->get(__sb, this->widen('\n')); } 2441: # 415 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: getline(char_type* __s, streamsize __n, char_type __delim); 2441: # 426 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: getline(char_type* __s, streamsize __n) 2441: { return this->getline(__s, __n, this->widen('\n')); } 2441: # 450 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: ignore(streamsize __n, int_type __delim); 2441: 2441: __istream_type& 2441: ignore(streamsize __n); 2441: 2441: __istream_type& 2441: ignore(); 2441: # 467 "/usr/include/c++/8/istream" 3 2441: int_type 2441: peek(); 2441: # 485 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: read(char_type* __s, streamsize __n); 2441: # 504 "/usr/include/c++/8/istream" 3 2441: streamsize 2441: readsome(char_type* __s, streamsize __n); 2441: # 521 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: putback(char_type __c); 2441: # 537 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: unget(); 2441: # 555 "/usr/include/c++/8/istream" 3 2441: int 2441: sync(); 2441: # 570 "/usr/include/c++/8/istream" 3 2441: pos_type 2441: tellg(); 2441: # 585 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: seekg(pos_type); 2441: # 601 "/usr/include/c++/8/istream" 3 2441: __istream_type& 2441: seekg(off_type, ios_base::seekdir); 2441: 2441: 2441: protected: 2441: basic_istream() 2441: : _M_gcount(streamsize(0)) 2441: { this->init(0); } 2441: 2441: 2441: basic_istream(const basic_istream&) = delete; 2441: 2441: basic_istream(basic_istream&& __rhs) 2441: : __ios_type(), _M_gcount(__rhs._M_gcount) 2441: { 2441: __ios_type::move(__rhs); 2441: __rhs._M_gcount = 0; 2441: } 2441: 2441: 2441: 2441: basic_istream& operator=(const basic_istream&) = delete; 2441: 2441: basic_istream& 2441: operator=(basic_istream&& __rhs) 2441: { 2441: swap(__rhs); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(basic_istream& __rhs) 2441: { 2441: __ios_type::swap(__rhs); 2441: std::swap(_M_gcount, __rhs._M_gcount); 2441: } 2441: 2441: 2441: template 2441: __istream_type& 2441: _M_extract(_ValueT& __v); 2441: }; 2441: 2441: 2441: template<> 2441: basic_istream& 2441: basic_istream:: 2441: getline(char_type* __s, streamsize __n, char_type __delim); 2441: 2441: template<> 2441: basic_istream& 2441: basic_istream:: 2441: ignore(streamsize __n); 2441: 2441: template<> 2441: basic_istream& 2441: basic_istream:: 2441: ignore(streamsize __n, int_type __delim); 2441: 2441: 2441: template<> 2441: basic_istream& 2441: basic_istream:: 2441: getline(char_type* __s, streamsize __n, char_type __delim); 2441: 2441: template<> 2441: basic_istream& 2441: basic_istream:: 2441: ignore(streamsize __n); 2441: 2441: template<> 2441: basic_istream& 2441: basic_istream:: 2441: ignore(streamsize __n, int_type __delim); 2441: # 685 "/usr/include/c++/8/istream" 3 2441: template 2441: class basic_istream<_CharT, _Traits>::sentry 2441: { 2441: 2441: bool _M_ok; 2441: 2441: public: 2441: 2441: typedef _Traits traits_type; 2441: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef typename __istream_type::__ctype_type __ctype_type; 2441: typedef typename _Traits::int_type __int_type; 2441: # 721 "/usr/include/c++/8/istream" 3 2441: explicit 2441: sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); 2441: # 732 "/usr/include/c++/8/istream" 3 2441: explicit 2441: 2441: operator bool() const 2441: { return _M_ok; } 2441: }; 2441: # 750 "/usr/include/c++/8/istream" 3 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); 2441: 2441: template 2441: inline basic_istream& 2441: operator>>(basic_istream& __in, unsigned char& __c) 2441: { return (__in >> reinterpret_cast(__c)); } 2441: 2441: template 2441: inline basic_istream& 2441: operator>>(basic_istream& __in, signed char& __c) 2441: { return (__in >> reinterpret_cast(__c)); } 2441: # 792 "/usr/include/c++/8/istream" 3 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); 2441: 2441: 2441: template<> 2441: basic_istream& 2441: operator>>(basic_istream& __in, char* __s); 2441: 2441: template 2441: inline basic_istream& 2441: operator>>(basic_istream& __in, unsigned char* __s) 2441: { return (__in >> reinterpret_cast(__s)); } 2441: 2441: template 2441: inline basic_istream& 2441: operator>>(basic_istream& __in, signed char* __s) 2441: { return (__in >> reinterpret_cast(__s)); } 2441: # 823 "/usr/include/c++/8/istream" 3 2441: template 2441: class basic_iostream 2441: : public basic_istream<_CharT, _Traits>, 2441: public basic_ostream<_CharT, _Traits> 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef typename _Traits::int_type int_type; 2441: typedef typename _Traits::pos_type pos_type; 2441: typedef typename _Traits::off_type off_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef basic_ostream<_CharT, _Traits> __ostream_type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) 2441: : __istream_type(__sb), __ostream_type(__sb) { } 2441: 2441: 2441: 2441: 2441: virtual 2441: ~basic_iostream() { } 2441: 2441: protected: 2441: basic_iostream() 2441: : __istream_type(), __ostream_type() { } 2441: 2441: 2441: basic_iostream(const basic_iostream&) = delete; 2441: 2441: basic_iostream(basic_iostream&& __rhs) 2441: : __istream_type(std::move(__rhs)), __ostream_type(*this) 2441: { } 2441: 2441: 2441: 2441: basic_iostream& operator=(const basic_iostream&) = delete; 2441: 2441: basic_iostream& 2441: operator=(basic_iostream&& __rhs) 2441: { 2441: swap(__rhs); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(basic_iostream& __rhs) 2441: { __istream_type::swap(__rhs); } 2441: 2441: }; 2441: # 906 "/usr/include/c++/8/istream" 3 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: ws(basic_istream<_CharT, _Traits>& __is); 2441: 2441: 2441: template 2441: basic_istream<_Ch, _Up>& 2441: __is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*); 2441: 2441: template 2441: struct __is_convertible_to_basic_istream_impl 2441: { 2441: using __istream_type = void; 2441: }; 2441: 2441: template 2441: using __do_is_convertible_to_basic_istream_impl = 2441: decltype(__is_convertible_to_basic_istream_test 2441: (declval::type*>())); 2441: 2441: template 2441: struct __is_convertible_to_basic_istream_impl 2441: <_Tp, 2441: __void_t<__do_is_convertible_to_basic_istream_impl<_Tp>>> 2441: { 2441: using __istream_type = 2441: __do_is_convertible_to_basic_istream_impl<_Tp>; 2441: }; 2441: 2441: template 2441: struct __is_convertible_to_basic_istream 2441: : __is_convertible_to_basic_istream_impl<_Tp> 2441: { 2441: public: 2441: using type = __not_::__istream_type>>; 2441: constexpr static bool value = type::value; 2441: }; 2441: 2441: template 2441: struct __is_extractable : false_type {}; 2441: 2441: template 2441: struct __is_extractable<_Istream, _Tp, 2441: __void_t() 2441: >> declval<_Tp>())>> 2441: : true_type {}; 2441: 2441: template 2441: using __rvalue_istream_type = 2441: typename __is_convertible_to_basic_istream< 2441: _Istream>::__istream_type; 2441: # 972 "/usr/include/c++/8/istream" 3 2441: template 2441: inline 2441: typename enable_if<__and_<__not_>, 2441: __is_convertible_to_basic_istream<_Istream>, 2441: __is_extractable< 2441: __rvalue_istream_type<_Istream>, 2441: _Tp&&>>::value, 2441: __rvalue_istream_type<_Istream>>::type 2441: operator>>(_Istream&& __is, _Tp&& __x) 2441: { 2441: __rvalue_istream_type<_Istream> __ret_is = __is; 2441: __ret_is >> std::forward<_Tp>(__x); 2441: return __ret_is; 2441: } 2441: 2441: 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/bits/istream.tcc" 1 3 2441: # 37 "/usr/include/c++/8/bits/istream.tcc" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/istream.tcc" 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: basic_istream<_CharT, _Traits>::sentry:: 2441: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: if (__in.good()) 2441: try 2441: { 2441: if (__in.tie()) 2441: __in.tie()->flush(); 2441: if (!__noskip && bool(__in.flags() & ios_base::skipws)) 2441: { 2441: const __int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = __in.rdbuf(); 2441: __int_type __c = __sb->sgetc(); 2441: 2441: const __ctype_type& __ct = __check_facet(__in._M_ctype); 2441: while (!traits_type::eq_int_type(__c, __eof) 2441: && __ct.is(ctype_base::space, 2441: traits_type::to_char_type(__c))) 2441: __c = __sb->snextc(); 2441: 2441: 2441: 2441: 2441: if (traits_type::eq_int_type(__c, __eof)) 2441: __err |= ios_base::eofbit; 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __in._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __in._M_setstate(ios_base::badbit); } 2441: 2441: if (__in.good() && __err == ios_base::goodbit) 2441: _M_ok = true; 2441: else 2441: { 2441: __err |= ios_base::failbit; 2441: __in.setstate(__err); 2441: } 2441: } 2441: 2441: template 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: _M_extract(_ValueT& __v) 2441: { 2441: sentry __cerb(*this, false); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const __num_get_type& __ng = __check_facet(this->_M_num_get); 2441: __ng.get(*this, 0, *this, __err, __v); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: operator>>(short& __n) 2441: { 2441: 2441: 2441: sentry __cerb(*this, false); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: long __l; 2441: const __num_get_type& __ng = __check_facet(this->_M_num_get); 2441: __ng.get(*this, 0, *this, __err, __l); 2441: 2441: 2441: 2441: if (__l < __gnu_cxx::__numeric_traits::__min) 2441: { 2441: __err |= ios_base::failbit; 2441: __n = __gnu_cxx::__numeric_traits::__min; 2441: } 2441: else if (__l > __gnu_cxx::__numeric_traits::__max) 2441: { 2441: __err |= ios_base::failbit; 2441: __n = __gnu_cxx::__numeric_traits::__max; 2441: } 2441: else 2441: __n = short(__l); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: operator>>(int& __n) 2441: { 2441: 2441: 2441: sentry __cerb(*this, false); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: long __l; 2441: const __num_get_type& __ng = __check_facet(this->_M_num_get); 2441: __ng.get(*this, 0, *this, __err, __l); 2441: 2441: 2441: 2441: if (__l < __gnu_cxx::__numeric_traits::__min) 2441: { 2441: __err |= ios_base::failbit; 2441: __n = __gnu_cxx::__numeric_traits::__min; 2441: } 2441: else if (__l > __gnu_cxx::__numeric_traits::__max) 2441: { 2441: __err |= ios_base::failbit; 2441: __n = __gnu_cxx::__numeric_traits::__max; 2441: } 2441: else 2441: __n = int(__l); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: operator>>(__streambuf_type* __sbout) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: sentry __cerb(*this, false); 2441: if (__cerb && __sbout) 2441: { 2441: try 2441: { 2441: bool __ineof; 2441: if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) 2441: __err |= ios_base::failbit; 2441: if (__ineof) 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::failbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::failbit); } 2441: } 2441: else if (!__sbout) 2441: __err |= ios_base::failbit; 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: typename basic_istream<_CharT, _Traits>::int_type 2441: basic_istream<_CharT, _Traits>:: 2441: get(void) 2441: { 2441: const int_type __eof = traits_type::eof(); 2441: int_type __c = __eof; 2441: _M_gcount = 0; 2441: ios_base::iostate __err = ios_base::goodbit; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: __c = this->rdbuf()->sbumpc(); 2441: 2441: if (!traits_type::eq_int_type(__c, __eof)) 2441: _M_gcount = 1; 2441: else 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: } 2441: if (!_M_gcount) 2441: __err |= ios_base::failbit; 2441: if (__err) 2441: this->setstate(__err); 2441: return __c; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: get(char_type& __c) 2441: { 2441: _M_gcount = 0; 2441: ios_base::iostate __err = ios_base::goodbit; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: const int_type __cb = this->rdbuf()->sbumpc(); 2441: 2441: if (!traits_type::eq_int_type(__cb, traits_type::eof())) 2441: { 2441: _M_gcount = 1; 2441: __c = traits_type::to_char_type(__cb); 2441: } 2441: else 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: } 2441: if (!_M_gcount) 2441: __err |= ios_base::failbit; 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: get(char_type* __s, streamsize __n, char_type __delim) 2441: { 2441: _M_gcount = 0; 2441: ios_base::iostate __err = ios_base::goodbit; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: const int_type __idelim = traits_type::to_int_type(__delim); 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = this->rdbuf(); 2441: int_type __c = __sb->sgetc(); 2441: 2441: while (_M_gcount + 1 < __n 2441: && !traits_type::eq_int_type(__c, __eof) 2441: && !traits_type::eq_int_type(__c, __idelim)) 2441: { 2441: *__s++ = traits_type::to_char_type(__c); 2441: ++_M_gcount; 2441: __c = __sb->snextc(); 2441: } 2441: if (traits_type::eq_int_type(__c, __eof)) 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: } 2441: 2441: 2441: if (__n > 0) 2441: *__s = char_type(); 2441: if (!_M_gcount) 2441: __err |= ios_base::failbit; 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: get(__streambuf_type& __sb, char_type __delim) 2441: { 2441: _M_gcount = 0; 2441: ios_base::iostate __err = ios_base::goodbit; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: const int_type __idelim = traits_type::to_int_type(__delim); 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __this_sb = this->rdbuf(); 2441: int_type __c = __this_sb->sgetc(); 2441: char_type __c2 = traits_type::to_char_type(__c); 2441: 2441: while (!traits_type::eq_int_type(__c, __eof) 2441: && !traits_type::eq_int_type(__c, __idelim) 2441: && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) 2441: { 2441: ++_M_gcount; 2441: __c = __this_sb->snextc(); 2441: __c2 = traits_type::to_char_type(__c); 2441: } 2441: if (traits_type::eq_int_type(__c, __eof)) 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: } 2441: if (!_M_gcount) 2441: __err |= ios_base::failbit; 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: getline(char_type* __s, streamsize __n, char_type __delim) 2441: { 2441: _M_gcount = 0; 2441: ios_base::iostate __err = ios_base::goodbit; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: const int_type __idelim = traits_type::to_int_type(__delim); 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = this->rdbuf(); 2441: int_type __c = __sb->sgetc(); 2441: 2441: while (_M_gcount + 1 < __n 2441: && !traits_type::eq_int_type(__c, __eof) 2441: && !traits_type::eq_int_type(__c, __idelim)) 2441: { 2441: *__s++ = traits_type::to_char_type(__c); 2441: __c = __sb->snextc(); 2441: ++_M_gcount; 2441: } 2441: if (traits_type::eq_int_type(__c, __eof)) 2441: __err |= ios_base::eofbit; 2441: else 2441: { 2441: if (traits_type::eq_int_type(__c, __idelim)) 2441: { 2441: __sb->sbumpc(); 2441: ++_M_gcount; 2441: } 2441: else 2441: __err |= ios_base::failbit; 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: } 2441: 2441: 2441: if (__n > 0) 2441: *__s = char_type(); 2441: if (!_M_gcount) 2441: __err |= ios_base::failbit; 2441: if (__err) 2441: this->setstate(__err); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: ignore(void) 2441: { 2441: _M_gcount = 0; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = this->rdbuf(); 2441: 2441: if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) 2441: __err |= ios_base::eofbit; 2441: else 2441: _M_gcount = 1; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: ignore(streamsize __n) 2441: { 2441: _M_gcount = 0; 2441: sentry __cerb(*this, true); 2441: if (__cerb && __n > 0) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = this->rdbuf(); 2441: int_type __c = __sb->sgetc(); 2441: # 521 "/usr/include/c++/8/bits/istream.tcc" 3 2441: bool __large_ignore = false; 2441: while (true) 2441: { 2441: while (_M_gcount < __n 2441: && !traits_type::eq_int_type(__c, __eof)) 2441: { 2441: ++_M_gcount; 2441: __c = __sb->snextc(); 2441: } 2441: if (__n == __gnu_cxx::__numeric_traits::__max 2441: && !traits_type::eq_int_type(__c, __eof)) 2441: { 2441: _M_gcount = 2441: __gnu_cxx::__numeric_traits::__min; 2441: __large_ignore = true; 2441: } 2441: else 2441: break; 2441: } 2441: 2441: if (__large_ignore) 2441: _M_gcount = __gnu_cxx::__numeric_traits::__max; 2441: 2441: if (traits_type::eq_int_type(__c, __eof)) 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: ignore(streamsize __n, int_type __delim) 2441: { 2441: _M_gcount = 0; 2441: sentry __cerb(*this, true); 2441: if (__cerb && __n > 0) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = this->rdbuf(); 2441: int_type __c = __sb->sgetc(); 2441: 2441: 2441: bool __large_ignore = false; 2441: while (true) 2441: { 2441: while (_M_gcount < __n 2441: && !traits_type::eq_int_type(__c, __eof) 2441: && !traits_type::eq_int_type(__c, __delim)) 2441: { 2441: ++_M_gcount; 2441: __c = __sb->snextc(); 2441: } 2441: if (__n == __gnu_cxx::__numeric_traits::__max 2441: && !traits_type::eq_int_type(__c, __eof) 2441: && !traits_type::eq_int_type(__c, __delim)) 2441: { 2441: _M_gcount = 2441: __gnu_cxx::__numeric_traits::__min; 2441: __large_ignore = true; 2441: } 2441: else 2441: break; 2441: } 2441: 2441: if (__large_ignore) 2441: _M_gcount = __gnu_cxx::__numeric_traits::__max; 2441: 2441: if (traits_type::eq_int_type(__c, __eof)) 2441: __err |= ios_base::eofbit; 2441: else if (traits_type::eq_int_type(__c, __delim)) 2441: { 2441: if (_M_gcount 2441: < __gnu_cxx::__numeric_traits::__max) 2441: ++_M_gcount; 2441: __sb->sbumpc(); 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: typename basic_istream<_CharT, _Traits>::int_type 2441: basic_istream<_CharT, _Traits>:: 2441: peek(void) 2441: { 2441: int_type __c = traits_type::eof(); 2441: _M_gcount = 0; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: __c = this->rdbuf()->sgetc(); 2441: if (traits_type::eq_int_type(__c, traits_type::eof())) 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return __c; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: read(char_type* __s, streamsize __n) 2441: { 2441: _M_gcount = 0; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: _M_gcount = this->rdbuf()->sgetn(__s, __n); 2441: if (_M_gcount != __n) 2441: __err |= (ios_base::eofbit | ios_base::failbit); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: streamsize 2441: basic_istream<_CharT, _Traits>:: 2441: readsome(char_type* __s, streamsize __n) 2441: { 2441: _M_gcount = 0; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: 2441: const streamsize __num = this->rdbuf()->in_avail(); 2441: if (__num > 0) 2441: _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); 2441: else if (__num == -1) 2441: __err |= ios_base::eofbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return _M_gcount; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: putback(char_type __c) 2441: { 2441: 2441: 2441: _M_gcount = 0; 2441: 2441: this->clear(this->rdstate() & ~ios_base::eofbit); 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = this->rdbuf(); 2441: if (!__sb 2441: || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) 2441: __err |= ios_base::badbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: unget(void) 2441: { 2441: 2441: 2441: _M_gcount = 0; 2441: 2441: this->clear(this->rdstate() & ~ios_base::eofbit); 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const int_type __eof = traits_type::eof(); 2441: __streambuf_type* __sb = this->rdbuf(); 2441: if (!__sb 2441: || traits_type::eq_int_type(__sb->sungetc(), __eof)) 2441: __err |= ios_base::badbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: int 2441: basic_istream<_CharT, _Traits>:: 2441: sync(void) 2441: { 2441: 2441: 2441: int __ret = -1; 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: __streambuf_type* __sb = this->rdbuf(); 2441: if (__sb) 2441: { 2441: if (__sb->pubsync() == -1) 2441: __err |= ios_base::badbit; 2441: else 2441: __ret = 0; 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: typename basic_istream<_CharT, _Traits>::pos_type 2441: basic_istream<_CharT, _Traits>:: 2441: tellg(void) 2441: { 2441: 2441: 2441: pos_type __ret = pos_type(-1); 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: if (!this->fail()) 2441: __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, 2441: ios_base::in); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: seekg(pos_type __pos) 2441: { 2441: 2441: 2441: 2441: this->clear(this->rdstate() & ~ios_base::eofbit); 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: if (!this->fail()) 2441: { 2441: 2441: const pos_type __p = this->rdbuf()->pubseekpos(__pos, 2441: ios_base::in); 2441: 2441: 2441: if (__p == pos_type(off_type(-1))) 2441: __err |= ios_base::failbit; 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: basic_istream<_CharT, _Traits>:: 2441: seekg(off_type __off, ios_base::seekdir __dir) 2441: { 2441: 2441: 2441: 2441: this->clear(this->rdstate() & ~ios_base::eofbit); 2441: sentry __cerb(*this, true); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: if (!this->fail()) 2441: { 2441: 2441: const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, 2441: ios_base::in); 2441: 2441: 2441: if (__p == pos_type(off_type(-1))) 2441: __err |= ios_base::failbit; 2441: } 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: this->_M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { this->_M_setstate(ios_base::badbit); } 2441: if (__err) 2441: this->setstate(__err); 2441: } 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) 2441: { 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef typename __istream_type::int_type __int_type; 2441: 2441: typename __istream_type::sentry __cerb(__in, false); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: const __int_type __cb = __in.rdbuf()->sbumpc(); 2441: if (!_Traits::eq_int_type(__cb, _Traits::eof())) 2441: __c = _Traits::to_char_type(__cb); 2441: else 2441: __err |= (ios_base::eofbit | ios_base::failbit); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __in._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __in._M_setstate(ios_base::badbit); } 2441: if (__err) 2441: __in.setstate(__err); 2441: } 2441: return __in; 2441: } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) 2441: { 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 2441: typedef typename _Traits::int_type int_type; 2441: typedef _CharT char_type; 2441: typedef ctype<_CharT> __ctype_type; 2441: 2441: streamsize __extracted = 0; 2441: ios_base::iostate __err = ios_base::goodbit; 2441: typename __istream_type::sentry __cerb(__in, false); 2441: if (__cerb) 2441: { 2441: try 2441: { 2441: 2441: streamsize __num = __in.width(); 2441: if (__num <= 0) 2441: __num = __gnu_cxx::__numeric_traits::__max; 2441: 2441: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 2441: 2441: const int_type __eof = _Traits::eof(); 2441: __streambuf_type* __sb = __in.rdbuf(); 2441: int_type __c = __sb->sgetc(); 2441: 2441: while (__extracted < __num - 1 2441: && !_Traits::eq_int_type(__c, __eof) 2441: && !__ct.is(ctype_base::space, 2441: _Traits::to_char_type(__c))) 2441: { 2441: *__s++ = _Traits::to_char_type(__c); 2441: ++__extracted; 2441: __c = __sb->snextc(); 2441: } 2441: if (_Traits::eq_int_type(__c, __eof)) 2441: __err |= ios_base::eofbit; 2441: 2441: 2441: 2441: *__s = char_type(); 2441: __in.width(0); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __in._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __in._M_setstate(ios_base::badbit); } 2441: } 2441: if (!__extracted) 2441: __err |= ios_base::failbit; 2441: if (__err) 2441: __in.setstate(__err); 2441: return __in; 2441: } 2441: 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: ws(basic_istream<_CharT, _Traits>& __in) 2441: { 2441: typedef basic_istream<_CharT, _Traits> __istream_type; 2441: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 2441: typedef typename __istream_type::int_type __int_type; 2441: typedef ctype<_CharT> __ctype_type; 2441: 2441: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 2441: const __int_type __eof = _Traits::eof(); 2441: __streambuf_type* __sb = __in.rdbuf(); 2441: __int_type __c = __sb->sgetc(); 2441: 2441: while (!_Traits::eq_int_type(__c, __eof) 2441: && __ct.is(ctype_base::space, _Traits::to_char_type(__c))) 2441: __c = __sb->snextc(); 2441: 2441: if (_Traits::eq_int_type(__c, __eof)) 2441: __in.setstate(ios_base::eofbit); 2441: return __in; 2441: } 2441: 2441: 2441: 2441: 2441: extern template class basic_istream; 2441: extern template istream& ws(istream&); 2441: extern template istream& operator>>(istream&, char&); 2441: extern template istream& operator>>(istream&, char*); 2441: extern template istream& operator>>(istream&, unsigned char&); 2441: extern template istream& operator>>(istream&, signed char&); 2441: extern template istream& operator>>(istream&, unsigned char*); 2441: extern template istream& operator>>(istream&, signed char*); 2441: 2441: extern template istream& istream::_M_extract(unsigned short&); 2441: extern template istream& istream::_M_extract(unsigned int&); 2441: extern template istream& istream::_M_extract(long&); 2441: extern template istream& istream::_M_extract(unsigned long&); 2441: extern template istream& istream::_M_extract(bool&); 2441: 2441: extern template istream& istream::_M_extract(long long&); 2441: extern template istream& istream::_M_extract(unsigned long long&); 2441: 2441: extern template istream& istream::_M_extract(float&); 2441: extern template istream& istream::_M_extract(double&); 2441: extern template istream& istream::_M_extract(long double&); 2441: extern template istream& istream::_M_extract(void*&); 2441: 2441: extern template class basic_iostream; 2441: 2441: 2441: extern template class basic_istream; 2441: extern template wistream& ws(wistream&); 2441: extern template wistream& operator>>(wistream&, wchar_t&); 2441: extern template wistream& operator>>(wistream&, wchar_t*); 2441: 2441: extern template wistream& wistream::_M_extract(unsigned short&); 2441: extern template wistream& wistream::_M_extract(unsigned int&); 2441: extern template wistream& wistream::_M_extract(long&); 2441: extern template wistream& wistream::_M_extract(unsigned long&); 2441: extern template wistream& wistream::_M_extract(bool&); 2441: 2441: extern template wistream& wistream::_M_extract(long long&); 2441: extern template wistream& wistream::_M_extract(unsigned long long&); 2441: 2441: extern template wistream& wistream::_M_extract(float&); 2441: extern template wistream& wistream::_M_extract(double&); 2441: extern template wistream& wistream::_M_extract(long double&); 2441: extern template wistream& wistream::_M_extract(void*&); 2441: 2441: extern template class basic_iostream; 2441: 2441: 2441: 2441: 2441: } 2441: # 992 "/usr/include/c++/8/istream" 2 3 2441: # 31 "../../src/globals_inlines.hh" 2 2441: 2441: # 1 "/usr/include/c++/8/cctype" 1 3 2441: # 39 "/usr/include/c++/8/cctype" 3 2441: 2441: # 40 "/usr/include/c++/8/cctype" 3 2441: # 33 "../../src/globals_inlines.hh" 2 2441: 2441: 2441: 2441: # 35 "../../src/globals_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline dimension_type 2441: not_a_dimension() { 2441: return std::numeric_limits::max(); 2441: } 2441: 2441: inline int32_t 2441: hash_code_from_dimension(dimension_type dim) { 2441: const dimension_type divisor = 1U << (32 - 1); 2441: dim = dim % divisor; 2441: return static_cast(dim); 2441: } 2441: 2441: inline const Weightwatch_Traits::Threshold& 2441: Weightwatch_Traits::get() { 2441: return weight; 2441: } 2441: 2441: inline bool 2441: Weightwatch_Traits::less_than(const Threshold& a, const Threshold& b) { 2441: return b - a < (1ULL << (((sizeof(Threshold)) * static_cast(8)) - 1)); 2441: } 2441: 2441: inline Weightwatch_Traits::Delta 2441: Weightwatch_Traits::compute_delta(unsigned long unscaled, unsigned scale) { 2441: if ((std::numeric_limits::max() >> scale) < unscaled) { 2441: throw std::invalid_argument("PPL::Weightwatch_Traits::" 2441: "compute_delta(u, s):\n" 2441: "values of u and s cause wrap around."); 2441: } 2441: return static_cast(unscaled) << scale; 2441: } 2441: 2441: inline void 2441: Weightwatch_Traits::from_delta(Threshold& threshold, const Delta& delta) { 2441: threshold = weight + delta; 2441: } 2441: 2441: inline void 2441: maybe_abandon() { 2441: 2441: 2441: 2441: 2441: 2441: if (Weightwatch_Traits::check_function != 0) { 2441: Weightwatch_Traits::check_function(); 2441: } 2441: if (const Throwable* const p = abandon_expensive_computations) { 2441: p->throw_me(); 2441: } 2441: } 2441: 2441: inline dimension_type 2441: compute_capacity(const dimension_type requested_size, 2441: const dimension_type maximum_size) { 2441: 2441: # 92 "../../src/globals_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 92 "../../src/globals_inlines.hh" 2441: ; 2441: 2441: return (requested_size < maximum_size/2) 2441: ? (2*(requested_size + 1)) 2441: : maximum_size; 2441: 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: inline typename 2441: Enable_If::value, memory_size_type>::type 2441: external_memory_in_bytes(const T&) { 2441: return 0; 2441: } 2441: 2441: template 2441: inline typename 2441: Enable_If::value, memory_size_type>::type 2441: total_memory_in_bytes(const T&) { 2441: return sizeof(T); 2441: } 2441: 2441: inline memory_size_type 2441: external_memory_in_bytes(const mpz_class& x) { 2441: return static_cast(x.get_mpz_t()[0]._mp_alloc) 2441: * 4; 2441: } 2441: 2441: inline memory_size_type 2441: total_memory_in_bytes(const mpz_class& x) { 2441: return sizeof(x) + external_memory_in_bytes(x); 2441: } 2441: 2441: inline memory_size_type 2441: external_memory_in_bytes(const mpq_class& x) { 2441: return external_memory_in_bytes(x.get_num()) 2441: + external_memory_in_bytes(x.get_den()); 2441: } 2441: 2441: inline memory_size_type 2441: total_memory_in_bytes(const mpq_class& x) { 2441: return sizeof(x) + external_memory_in_bytes(x); 2441: } 2441: 2441: inline void 2441: ascii_dump(std::ostream& s, Representation r) { 2441: if (r == DENSE) { 2441: s << "DENSE"; 2441: } 2441: else { 2441: s << "SPARSE"; 2441: } 2441: } 2441: 2441: inline bool 2441: ascii_load(std::istream& is, Representation& r) { 2441: std::string s; 2441: if (!(is >> s)) { 2441: return false; 2441: } 2441: 2441: if (s == "DENSE") { 2441: r = DENSE; 2441: return true; 2441: } 2441: if (s == "SPARSE") { 2441: r = SPARSE; 2441: return true; 2441: } 2441: return false; 2441: } 2441: 2441: inline bool 2441: is_space(char c) { 2441: return isspace(c) != 0; 2441: } 2441: 2441: template 2441: inline typename RA_Container::iterator 2441: nth_iter(RA_Container& cont, dimension_type n) { 2441: typedef typename RA_Container::difference_type diff_t; 2441: return cont.begin() + static_cast(n); 2441: } 2441: 2441: template 2441: inline typename RA_Container::const_iterator 2441: nth_iter(const RA_Container& cont, dimension_type n) { 2441: typedef typename RA_Container::difference_type diff_t; 2441: return cont.begin() + static_cast(n); 2441: } 2441: 2441: inline dimension_type 2441: least_significant_one_mask(const dimension_type i) { 2441: return i & (~i + 1U); 2441: } 2441: 2441: } 2441: # 570 "../../src/globals_defs.hh" 2 2441: # 28 "../../src/Variable_inlines.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline dimension_type 2441: Variable::max_space_dimension() { 2441: return not_a_dimension() - 1; 2441: } 2441: 2441: inline 2441: Variable::Variable(dimension_type i) 2441: : varid((i < max_space_dimension()) 2441: ? i 2441: : (throw std::length_error("PPL::Variable::Variable(i):\n" 2441: "i exceeds the maximum allowed " 2441: "variable identifier."), i)) { 2441: } 2441: 2441: inline dimension_type 2441: Variable::id() const { 2441: return varid; 2441: } 2441: 2441: inline dimension_type 2441: Variable::space_dimension() const { 2441: return varid + 1; 2441: } 2441: 2441: inline memory_size_type 2441: Variable::external_memory_in_bytes() const { 2441: return 0; 2441: } 2441: 2441: inline memory_size_type 2441: Variable::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline void 2441: Variable::set_output_function(output_function_type* p) { 2441: current_output_function = p; 2441: } 2441: 2441: inline Variable::output_function_type* 2441: Variable::get_output_function() { 2441: return current_output_function; 2441: } 2441: 2441: 2441: inline bool 2441: less(const Variable v, const Variable w) { 2441: return v.id() < w.id(); 2441: } 2441: 2441: inline bool 2441: Variable::Compare::operator()(const Variable x, const Variable y) const { 2441: return less(x, y); 2441: } 2441: 2441: inline void 2441: Variable::m_swap(Variable& v) { 2441: using std::swap; 2441: swap(varid, v.varid); 2441: } 2441: 2441: inline void 2441: swap(Variable& x, Variable& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 156 "../../src/Variable_defs.hh" 2 2441: # 28 "../../src/Float_inlines.hh" 2 2441: # 1 "../../src/Linear_Form_defs.hh" 1 2441: # 28 "../../src/Linear_Form_defs.hh" 2441: # 1 "../../src/Linear_Expression_types.hh" 1 2441: # 16 "../../src/Linear_Expression_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Linear_Expression; 2441: 2441: } 2441: # 29 "../../src/Linear_Form_defs.hh" 2 2441: 2441: # 1 "../../src/Box_types.hh" 1 2441: # 16 "../../src/Box_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Box; 2441: 2441: class Box_Helpers; 2441: 2441: } 2441: # 31 "../../src/Linear_Form_defs.hh" 2 2441: # 1 "../../src/Float_defs.hh" 1 2441: # 32 "../../src/Linear_Form_defs.hh" 2 2441: # 1 "/usr/include/c++/8/vector" 1 3 2441: # 58 "/usr/include/c++/8/vector" 3 2441: 2441: # 59 "/usr/include/c++/8/vector" 3 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/stl_uninitialized.h" 1 3 2441: # 67 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: 2441: # 67 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: struct __uninitialized_copy 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_copy(_InputIterator __first, _InputIterator __last, 2441: _ForwardIterator __result) 2441: { 2441: _ForwardIterator __cur = __result; 2441: try 2441: { 2441: for (; __first != __last; ++__first, (void)++__cur) 2441: std::_Construct(std::__addressof(*__cur), *__first); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__result, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_copy 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_copy(_InputIterator __first, _InputIterator __last, 2441: _ForwardIterator __result) 2441: { return std::copy(__first, __last, __result); } 2441: }; 2441: # 113 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: template 2441: inline _ForwardIterator 2441: uninitialized_copy(_InputIterator __first, _InputIterator __last, 2441: _ForwardIterator __result) 2441: { 2441: typedef typename iterator_traits<_InputIterator>::value_type 2441: _ValueType1; 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType2; 2441: 2441: 2441: 2441: 2441: typedef typename iterator_traits<_InputIterator>::reference _RefType1; 2441: typedef typename iterator_traits<_ForwardIterator>::reference _RefType2; 2441: const bool __assignable = is_assignable<_RefType2, _RefType1>::value; 2441: 2441: 2441: return std::__uninitialized_copy<__is_trivial(_ValueType1) 2441: && __is_trivial(_ValueType2) 2441: && __assignable>:: 2441: __uninit_copy(__first, __last, __result); 2441: } 2441: 2441: 2441: template 2441: struct __uninitialized_fill 2441: { 2441: template 2441: static void 2441: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __x) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: for (; __cur != __last; ++__cur) 2441: std::_Construct(std::__addressof(*__cur), __x); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_fill 2441: { 2441: template 2441: static void 2441: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __x) 2441: { std::fill(__first, __last, __x); } 2441: }; 2441: # 179 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: template 2441: inline void 2441: uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __x) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: 2441: 2441: 2441: const bool __assignable = is_copy_assignable<_ValueType>::value; 2441: 2441: 2441: std::__uninitialized_fill<__is_trivial(_ValueType) && __assignable>:: 2441: __uninit_fill(__first, __last, __x); 2441: } 2441: 2441: 2441: template 2441: struct __uninitialized_fill_n 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_fill_n(_ForwardIterator __first, _Size __n, 2441: const _Tp& __x) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: for (; __n > 0; --__n, (void) ++__cur) 2441: std::_Construct(std::__addressof(*__cur), __x); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_fill_n 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_fill_n(_ForwardIterator __first, _Size __n, 2441: const _Tp& __x) 2441: { return std::fill_n(__first, __n, __x); } 2441: }; 2441: # 242 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: template 2441: inline _ForwardIterator 2441: uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: 2441: 2441: 2441: const bool __assignable = is_copy_assignable<_ValueType>::value; 2441: 2441: return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>:: 2441: __uninit_fill_n(__first, __n, __x); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _ForwardIterator 2441: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 2441: _ForwardIterator __result, _Allocator& __alloc) 2441: { 2441: _ForwardIterator __cur = __result; 2441: try 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 2441: for (; __first != __last; ++__first, (void)++__cur) 2441: __traits::construct(__alloc, std::__addressof(*__cur), *__first); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__result, __cur, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 2441: _ForwardIterator __result, allocator<_Tp>&) 2441: { return std::uninitialized_copy(__first, __last, __result); } 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_move_a(_InputIterator __first, _InputIterator __last, 2441: _ForwardIterator __result, _Allocator& __alloc) 2441: { 2441: return std::__uninitialized_copy_a(std::make_move_iterator(__first), 2441: std::make_move_iterator(__last), 2441: __result, __alloc); 2441: } 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_move_if_noexcept_a(_InputIterator __first, 2441: _InputIterator __last, 2441: _ForwardIterator __result, 2441: _Allocator& __alloc) 2441: { 2441: return std::__uninitialized_copy_a 2441: (std::__make_move_if_noexcept_iterator(__first), 2441: std::__make_move_if_noexcept_iterator(__last), __result, __alloc); 2441: } 2441: 2441: template 2441: void 2441: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __x, _Allocator& __alloc) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 2441: for (; __cur != __last; ++__cur) 2441: __traits::construct(__alloc, std::__addressof(*__cur), __x); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 2441: const _Tp& __x, allocator<_Tp2>&) 2441: { std::uninitialized_fill(__first, __last, __x); } 2441: 2441: template 2441: _ForwardIterator 2441: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 2441: const _Tp& __x, _Allocator& __alloc) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 2441: for (; __n > 0; --__n, (void) ++__cur) 2441: __traits::construct(__alloc, std::__addressof(*__cur), __x); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 2441: const _Tp& __x, allocator<_Tp2>&) 2441: { return std::uninitialized_fill_n(__first, __n, __x); } 2441: # 378 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_copy_move(_InputIterator1 __first1, 2441: _InputIterator1 __last1, 2441: _InputIterator2 __first2, 2441: _InputIterator2 __last2, 2441: _ForwardIterator __result, 2441: _Allocator& __alloc) 2441: { 2441: _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, 2441: __result, 2441: __alloc); 2441: try 2441: { 2441: return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__result, __mid, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_move_copy(_InputIterator1 __first1, 2441: _InputIterator1 __last1, 2441: _InputIterator2 __first2, 2441: _InputIterator2 __last2, 2441: _ForwardIterator __result, 2441: _Allocator& __alloc) 2441: { 2441: _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, 2441: __result, 2441: __alloc); 2441: try 2441: { 2441: return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__result, __mid, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, 2441: const _Tp& __x, _InputIterator __first, 2441: _InputIterator __last, _Allocator& __alloc) 2441: { 2441: std::__uninitialized_fill_a(__result, __mid, __x, __alloc); 2441: try 2441: { 2441: return std::__uninitialized_move_a(__first, __last, __mid, __alloc); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__result, __mid, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, 2441: _ForwardIterator __first2, 2441: _ForwardIterator __last2, const _Tp& __x, 2441: _Allocator& __alloc) 2441: { 2441: _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, 2441: __first2, 2441: __alloc); 2441: try 2441: { 2441: std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first2, __mid2, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __uninitialized_default_1 2441: { 2441: template 2441: static void 2441: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: for (; __cur != __last; ++__cur) 2441: std::_Construct(std::__addressof(*__cur)); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_default_1 2441: { 2441: template 2441: static void 2441: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: std::fill(__first, __last, _ValueType()); 2441: } 2441: }; 2441: 2441: template 2441: struct __uninitialized_default_n_1 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_default_n(_ForwardIterator __first, _Size __n) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: for (; __n > 0; --__n, (void) ++__cur) 2441: std::_Construct(std::__addressof(*__cur)); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_default_n_1 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_default_n(_ForwardIterator __first, _Size __n) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: return std::fill_n(__first, __n, _ValueType()); 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: __uninitialized_default(_ForwardIterator __first, 2441: _ForwardIterator __last) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: const bool __assignable = is_copy_assignable<_ValueType>::value; 2441: 2441: std::__uninitialized_default_1<__is_trivial(_ValueType) 2441: && __assignable>:: 2441: __uninit_default(__first, __last); 2441: } 2441: 2441: 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_default_n(_ForwardIterator __first, _Size __n) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: const bool __assignable = is_copy_assignable<_ValueType>::value; 2441: 2441: return __uninitialized_default_n_1<__is_trivial(_ValueType) 2441: && __assignable>:: 2441: __uninit_default_n(__first, __n); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: __uninitialized_default_a(_ForwardIterator __first, 2441: _ForwardIterator __last, 2441: _Allocator& __alloc) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 2441: for (; __cur != __last; ++__cur) 2441: __traits::construct(__alloc, std::__addressof(*__cur)); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: __uninitialized_default_a(_ForwardIterator __first, 2441: _ForwardIterator __last, 2441: allocator<_Tp>&) 2441: { std::__uninitialized_default(__first, __last); } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: _ForwardIterator 2441: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 2441: _Allocator& __alloc) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 2441: for (; __n > 0; --__n, (void) ++__cur) 2441: __traits::construct(__alloc, std::__addressof(*__cur)); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur, __alloc); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 2441: allocator<_Tp>&) 2441: { return std::__uninitialized_default_n(__first, __n); } 2441: 2441: template 2441: struct __uninitialized_default_novalue_1 2441: { 2441: template 2441: static void 2441: __uninit_default_novalue(_ForwardIterator __first, 2441: _ForwardIterator __last) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: for (; __cur != __last; ++__cur) 2441: std::_Construct_novalue(std::__addressof(*__cur)); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_default_novalue_1 2441: { 2441: template 2441: static void 2441: __uninit_default_novalue(_ForwardIterator __first, 2441: _ForwardIterator __last) 2441: { 2441: } 2441: }; 2441: 2441: template 2441: struct __uninitialized_default_novalue_n_1 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 2441: { 2441: _ForwardIterator __cur = __first; 2441: try 2441: { 2441: for (; __n > 0; --__n, (void) ++__cur) 2441: std::_Construct_novalue(std::__addressof(*__cur)); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__first, __cur); 2441: throw; 2441: } 2441: } 2441: }; 2441: 2441: template<> 2441: struct __uninitialized_default_novalue_n_1 2441: { 2441: template 2441: static _ForwardIterator 2441: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 2441: { return std::next(__first, __n); } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: __uninitialized_default_novalue(_ForwardIterator __first, 2441: _ForwardIterator __last) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: std::__uninitialized_default_novalue_1< 2441: is_trivially_default_constructible<_ValueType>::value>:: 2441: __uninit_default_novalue(__first, __last); 2441: } 2441: 2441: 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) 2441: { 2441: typedef typename iterator_traits<_ForwardIterator>::value_type 2441: _ValueType; 2441: 2441: return __uninitialized_default_novalue_n_1< 2441: is_trivially_default_constructible<_ValueType>::value>:: 2441: __uninit_default_novalue_n(__first, __n); 2441: } 2441: 2441: template 2441: _ForwardIterator 2441: __uninitialized_copy_n(_InputIterator __first, _Size __n, 2441: _ForwardIterator __result, input_iterator_tag) 2441: { 2441: _ForwardIterator __cur = __result; 2441: try 2441: { 2441: for (; __n > 0; --__n, (void) ++__first, ++__cur) 2441: std::_Construct(std::__addressof(*__cur), *__first); 2441: return __cur; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__result, __cur); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: inline _ForwardIterator 2441: __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n, 2441: _ForwardIterator __result, 2441: random_access_iterator_tag) 2441: { return std::uninitialized_copy(__first, __first + __n, __result); } 2441: 2441: template 2441: pair<_InputIterator, _ForwardIterator> 2441: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 2441: _ForwardIterator __result, input_iterator_tag) 2441: { 2441: _ForwardIterator __cur = __result; 2441: try 2441: { 2441: for (; __n > 0; --__n, (void) ++__first, ++__cur) 2441: std::_Construct(std::__addressof(*__cur), *__first); 2441: return {__first, __cur}; 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__result, __cur); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: inline pair<_RandomAccessIterator, _ForwardIterator> 2441: __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n, 2441: _ForwardIterator __result, 2441: random_access_iterator_tag) 2441: { 2441: auto __second_res = uninitialized_copy(__first, __first + __n, __result); 2441: auto __first_res = std::next(__first, __n); 2441: return {__first_res, __second_res}; 2441: } 2441: # 810 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: template 2441: inline _ForwardIterator 2441: uninitialized_copy_n(_InputIterator __first, _Size __n, 2441: _ForwardIterator __result) 2441: { return std::__uninitialized_copy_n(__first, __n, __result, 2441: std::__iterator_category(__first)); } 2441: 2441: template 2441: inline pair<_InputIterator, _ForwardIterator> 2441: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 2441: _ForwardIterator __result) 2441: { 2441: return 2441: std::__uninitialized_copy_n_pair(__first, __n, __result, 2441: std::__iterator_category(__first)); 2441: } 2441: # 882 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 2441: 2441: } 2441: # 64 "/usr/include/c++/8/vector" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_vector.h" 1 3 2441: # 74 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: template 2441: struct _Vector_base 2441: { 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind<_Tp>::other _Tp_alloc_type; 2441: typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer 2441: pointer; 2441: 2441: struct _Vector_impl 2441: : public _Tp_alloc_type 2441: { 2441: pointer _M_start; 2441: pointer _M_finish; 2441: pointer _M_end_of_storage; 2441: 2441: _Vector_impl() 2441: : _Tp_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage() 2441: { } 2441: 2441: _Vector_impl(_Tp_alloc_type const& __a) noexcept 2441: : _Tp_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage() 2441: { } 2441: 2441: 2441: _Vector_impl(_Tp_alloc_type&& __a) noexcept 2441: : _Tp_alloc_type(std::move(__a)), 2441: _M_start(), _M_finish(), _M_end_of_storage() 2441: { } 2441: 2441: 2441: void _M_swap_data(_Vector_impl& __x) noexcept 2441: { 2441: std::swap(_M_start, __x._M_start); 2441: std::swap(_M_finish, __x._M_finish); 2441: std::swap(_M_end_of_storage, __x._M_end_of_storage); 2441: } 2441: # 231 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: }; 2441: 2441: public: 2441: typedef _Alloc allocator_type; 2441: 2441: _Tp_alloc_type& 2441: _M_get_Tp_allocator() noexcept 2441: { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } 2441: 2441: const _Tp_alloc_type& 2441: _M_get_Tp_allocator() const noexcept 2441: { return *static_cast(&this->_M_impl); } 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_get_Tp_allocator()); } 2441: 2441: _Vector_base() 2441: : _M_impl() { } 2441: 2441: _Vector_base(const allocator_type& __a) noexcept 2441: : _M_impl(__a) { } 2441: 2441: _Vector_base(size_t __n) 2441: : _M_impl() 2441: { _M_create_storage(__n); } 2441: 2441: _Vector_base(size_t __n, const allocator_type& __a) 2441: : _M_impl(__a) 2441: { _M_create_storage(__n); } 2441: 2441: 2441: _Vector_base(_Tp_alloc_type&& __a) noexcept 2441: : _M_impl(std::move(__a)) { } 2441: 2441: _Vector_base(_Vector_base&& __x) noexcept 2441: : _M_impl(std::move(__x._M_get_Tp_allocator())) 2441: { this->_M_impl._M_swap_data(__x._M_impl); } 2441: 2441: _Vector_base(_Vector_base&& __x, const allocator_type& __a) 2441: : _M_impl(__a) 2441: { 2441: if (__x.get_allocator() == __a) 2441: this->_M_impl._M_swap_data(__x._M_impl); 2441: else 2441: { 2441: size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start; 2441: _M_create_storage(__n); 2441: } 2441: } 2441: 2441: 2441: ~_Vector_base() noexcept 2441: { 2441: _M_deallocate(_M_impl._M_start, 2441: _M_impl._M_end_of_storage - _M_impl._M_start); 2441: } 2441: 2441: public: 2441: _Vector_impl _M_impl; 2441: 2441: pointer 2441: _M_allocate(size_t __n) 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 2441: return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer(); 2441: } 2441: 2441: void 2441: _M_deallocate(pointer __p, size_t __n) 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 2441: if (__p) 2441: _Tr::deallocate(_M_impl, __p, __n); 2441: } 2441: 2441: private: 2441: void 2441: _M_create_storage(size_t __n) 2441: { 2441: this->_M_impl._M_start = this->_M_allocate(__n); 2441: this->_M_impl._M_finish = this->_M_impl._M_start; 2441: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 2441: } 2441: }; 2441: # 338 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template > 2441: class vector : protected _Vector_base<_Tp, _Alloc> 2441: { 2441: # 351 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: static_assert(is_same::type, _Tp>::value, 2441: "std::vector must have a non-const, non-volatile value_type"); 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef _Vector_base<_Tp, _Alloc> _Base; 2441: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 2441: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; 2441: 2441: public: 2441: typedef _Tp value_type; 2441: typedef typename _Base::pointer pointer; 2441: typedef typename _Alloc_traits::const_pointer const_pointer; 2441: typedef typename _Alloc_traits::reference reference; 2441: typedef typename _Alloc_traits::const_reference const_reference; 2441: typedef __gnu_cxx::__normal_iterator iterator; 2441: typedef __gnu_cxx::__normal_iterator 2441: const_iterator; 2441: typedef std::reverse_iterator const_reverse_iterator; 2441: typedef std::reverse_iterator reverse_iterator; 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Alloc allocator_type; 2441: 2441: protected: 2441: using _Base::_M_allocate; 2441: using _Base::_M_deallocate; 2441: using _Base::_M_impl; 2441: using _Base::_M_get_Tp_allocator; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: vector() 2441: 2441: noexcept(is_nothrow_default_constructible<_Alloc>::value) 2441: 2441: : _Base() { } 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: vector(const allocator_type& __a) noexcept 2441: : _Base(__a) { } 2441: # 414 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: explicit 2441: vector(size_type __n, const allocator_type& __a = allocator_type()) 2441: : _Base(__n, __a) 2441: { _M_default_initialize(__n); } 2441: # 427 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: vector(size_type __n, const value_type& __value, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__n, __a) 2441: { _M_fill_initialize(__n, __value); } 2441: # 458 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: vector(const vector& __x) 2441: : _Base(__x.size(), 2441: _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator())) 2441: { 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_copy_a(__x.begin(), __x.end(), 2441: this->_M_impl._M_start, 2441: _M_get_Tp_allocator()); 2441: } 2441: # 476 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: vector(vector&& __x) noexcept 2441: : _Base(std::move(__x)) { } 2441: 2441: 2441: vector(const vector& __x, const allocator_type& __a) 2441: : _Base(__x.size(), __a) 2441: { 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_copy_a(__x.begin(), __x.end(), 2441: this->_M_impl._M_start, 2441: _M_get_Tp_allocator()); 2441: } 2441: 2441: 2441: vector(vector&& __rv, const allocator_type& __m) 2441: noexcept(_Alloc_traits::_S_always_equal()) 2441: : _Base(std::move(__rv), __m) 2441: { 2441: if (__rv.get_allocator() != __m) 2441: { 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_move_a(__rv.begin(), __rv.end(), 2441: this->_M_impl._M_start, 2441: _M_get_Tp_allocator()); 2441: __rv.clear(); 2441: } 2441: } 2441: # 515 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: vector(initializer_list __l, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__a) 2441: { 2441: _M_range_initialize(__l.begin(), __l.end(), 2441: random_access_iterator_tag()); 2441: } 2441: # 541 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template> 2441: vector(_InputIterator __first, _InputIterator __last, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__a) 2441: { _M_initialize_dispatch(__first, __last, __false_type()); } 2441: # 565 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: ~vector() noexcept 2441: { 2441: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: ; 2441: } 2441: # 581 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: vector& 2441: operator=(const vector& __x); 2441: # 595 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: vector& 2441: operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) 2441: { 2441: constexpr bool __move_storage = 2441: _Alloc_traits::_S_propagate_on_move_assign() 2441: || _Alloc_traits::_S_always_equal(); 2441: _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); 2441: return *this; 2441: } 2441: # 616 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: vector& 2441: operator=(initializer_list __l) 2441: { 2441: this->_M_assign_aux(__l.begin(), __l.end(), 2441: random_access_iterator_tag()); 2441: return *this; 2441: } 2441: # 635 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: assign(size_type __n, const value_type& __val) 2441: { _M_fill_assign(__n, __val); } 2441: # 652 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template> 2441: void 2441: assign(_InputIterator __first, _InputIterator __last) 2441: { _M_assign_dispatch(__first, __last, __false_type()); } 2441: # 680 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: assign(initializer_list __l) 2441: { 2441: this->_M_assign_aux(__l.begin(), __l.end(), 2441: random_access_iterator_tag()); 2441: } 2441: 2441: 2441: 2441: using _Base::get_allocator; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: begin() noexcept 2441: { return iterator(this->_M_impl._M_start); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return const_iterator(this->_M_impl._M_start); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: end() noexcept 2441: { return iterator(this->_M_impl._M_finish); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return const_iterator(this->_M_impl._M_finish); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return reverse_iterator(end()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return const_reverse_iterator(end()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return reverse_iterator(begin()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return const_reverse_iterator(begin()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cbegin() const noexcept 2441: { return const_iterator(this->_M_impl._M_start); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cend() const noexcept 2441: { return const_iterator(this->_M_impl._M_finish); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crbegin() const noexcept 2441: { return const_reverse_iterator(end()); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crend() const noexcept 2441: { return const_reverse_iterator(begin()); } 2441: 2441: 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } 2441: 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return _Alloc_traits::max_size(_M_get_Tp_allocator()); } 2441: # 823 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: resize(size_type __new_size) 2441: { 2441: if (__new_size > size()) 2441: _M_default_append(__new_size - size()); 2441: else if (__new_size < size()) 2441: _M_erase_at_end(this->_M_impl._M_start + __new_size); 2441: } 2441: # 843 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: resize(size_type __new_size, const value_type& __x) 2441: { 2441: if (__new_size > size()) 2441: _M_fill_insert(end(), __new_size - size(), __x); 2441: else if (__new_size < size()) 2441: _M_erase_at_end(this->_M_impl._M_start + __new_size); 2441: } 2441: # 875 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: shrink_to_fit() 2441: { _M_shrink_to_fit(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: size_type 2441: capacity() const noexcept 2441: { return size_type(this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); } 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: empty() const noexcept 2441: { return begin() == end(); } 2441: # 914 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: reserve(size_type __n); 2441: # 929 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: reference 2441: operator[](size_type __n) noexcept 2441: { 2441: ; 2441: return *(this->_M_impl._M_start + __n); 2441: } 2441: # 947 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: const_reference 2441: operator[](size_type __n) const noexcept 2441: { 2441: ; 2441: return *(this->_M_impl._M_start + __n); 2441: } 2441: 2441: protected: 2441: 2441: void 2441: _M_range_check(size_type __n) const 2441: { 2441: if (__n >= this->size()) 2441: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 2441: 2441: , 2441: __n, this->size()); 2441: } 2441: 2441: public: 2441: # 978 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: reference 2441: at(size_type __n) 2441: { 2441: _M_range_check(__n); 2441: return (*this)[__n]; 2441: } 2441: # 996 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: const_reference 2441: at(size_type __n) const 2441: { 2441: _M_range_check(__n); 2441: return (*this)[__n]; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: reference 2441: front() noexcept 2441: { 2441: ; 2441: return *begin(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const_reference 2441: front() const noexcept 2441: { 2441: ; 2441: return *begin(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: reference 2441: back() noexcept 2441: { 2441: ; 2441: return *(end() - 1); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const_reference 2441: back() const noexcept 2441: { 2441: ; 2441: return *(end() - 1); 2441: } 2441: # 1054 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: _Tp* 2441: data() noexcept 2441: { return _M_data_ptr(this->_M_impl._M_start); } 2441: 2441: const _Tp* 2441: data() const noexcept 2441: { return _M_data_ptr(this->_M_impl._M_start); } 2441: # 1073 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: push_back(const value_type& __x) 2441: { 2441: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 2441: { 2441: ; 2441: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 2441: __x); 2441: ++this->_M_impl._M_finish; 2441: ; 2441: } 2441: else 2441: _M_realloc_insert(end(), __x); 2441: } 2441: 2441: 2441: void 2441: push_back(value_type&& __x) 2441: { emplace_back(std::move(__x)); } 2441: 2441: template 2441: 2441: 2441: 2441: void 2441: 2441: emplace_back(_Args&&... __args); 2441: # 1111 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: pop_back() noexcept 2441: { 2441: ; 2441: --this->_M_impl._M_finish; 2441: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 2441: ; 2441: } 2441: # 1133 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template 2441: iterator 2441: emplace(const_iterator __position, _Args&&... __args) 2441: { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); } 2441: # 1149 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: iterator 2441: insert(const_iterator __position, const value_type& __x); 2441: # 1179 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: iterator 2441: insert(const_iterator __position, value_type&& __x) 2441: { return _M_insert_rval(__position, std::move(__x)); } 2441: # 1196 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: iterator 2441: insert(const_iterator __position, initializer_list __l) 2441: { 2441: auto __offset = __position - cbegin(); 2441: _M_range_insert(begin() + __offset, __l.begin(), __l.end(), 2441: std::random_access_iterator_tag()); 2441: return begin() + __offset; 2441: } 2441: # 1221 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: iterator 2441: insert(const_iterator __position, size_type __n, const value_type& __x) 2441: { 2441: difference_type __offset = __position - cbegin(); 2441: _M_fill_insert(begin() + __offset, __n, __x); 2441: return begin() + __offset; 2441: } 2441: # 1263 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template> 2441: iterator 2441: insert(const_iterator __position, _InputIterator __first, 2441: _InputIterator __last) 2441: { 2441: difference_type __offset = __position - cbegin(); 2441: _M_insert_dispatch(begin() + __offset, 2441: __first, __last, __false_type()); 2441: return begin() + __offset; 2441: } 2441: # 1315 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: iterator 2441: 2441: erase(const_iterator __position) 2441: { return _M_erase(begin() + (__position - cbegin())); } 2441: # 1342 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: iterator 2441: 2441: erase(const_iterator __first, const_iterator __last) 2441: { 2441: const auto __beg = begin(); 2441: const auto __cbeg = cbegin(); 2441: return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); 2441: } 2441: # 1366 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: void 2441: swap(vector& __x) noexcept 2441: { 2441: 2441: 2441: ; 2441: 2441: this->_M_impl._M_swap_data(__x._M_impl); 2441: _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), 2441: __x._M_get_Tp_allocator()); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: clear() noexcept 2441: { _M_erase_at_end(this->_M_impl._M_start); } 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: template 2441: pointer 2441: _M_allocate_and_copy(size_type __n, 2441: _ForwardIterator __first, _ForwardIterator __last) 2441: { 2441: pointer __result = this->_M_allocate(__n); 2441: try 2441: { 2441: std::__uninitialized_copy_a(__first, __last, __result, 2441: _M_get_Tp_allocator()); 2441: return __result; 2441: } 2441: catch(...) 2441: { 2441: _M_deallocate(__result, __n); 2441: throw; 2441: } 2441: } 2441: # 1419 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template 2441: void 2441: _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) 2441: { 2441: this->_M_impl._M_start = _M_allocate(static_cast(__n)); 2441: this->_M_impl._M_end_of_storage = 2441: this->_M_impl._M_start + static_cast(__n); 2441: _M_fill_initialize(static_cast(__n), __value); 2441: } 2441: 2441: 2441: template 2441: void 2441: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 2441: __false_type) 2441: { 2441: typedef typename std::iterator_traits<_InputIterator>:: 2441: iterator_category _IterCategory; 2441: _M_range_initialize(__first, __last, _IterCategory()); 2441: } 2441: 2441: 2441: template 2441: void 2441: _M_range_initialize(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag) 2441: { 2441: try { 2441: for (; __first != __last; ++__first) 2441: 2441: emplace_back(*__first); 2441: 2441: 2441: 2441: } catch(...) { 2441: clear(); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: template 2441: void 2441: _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag) 2441: { 2441: const size_type __n = std::distance(__first, __last); 2441: this->_M_impl._M_start = this->_M_allocate(__n); 2441: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_copy_a(__first, __last, 2441: this->_M_impl._M_start, 2441: _M_get_Tp_allocator()); 2441: } 2441: 2441: 2441: 2441: void 2441: _M_fill_initialize(size_type __n, const value_type& __value) 2441: { 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, 2441: _M_get_Tp_allocator()); 2441: } 2441: 2441: 2441: 2441: void 2441: _M_default_initialize(size_type __n) 2441: { 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_default_n_a(this->_M_impl._M_start, __n, 2441: _M_get_Tp_allocator()); 2441: } 2441: # 1502 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template 2441: void 2441: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 2441: { _M_fill_assign(__n, __val); } 2441: 2441: 2441: template 2441: void 2441: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 2441: __false_type) 2441: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 2441: 2441: 2441: template 2441: void 2441: _M_assign_aux(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag); 2441: 2441: 2441: template 2441: void 2441: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag); 2441: 2441: 2441: 2441: void 2441: _M_fill_assign(size_type __n, const value_type& __val); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, 2441: __true_type) 2441: { _M_fill_insert(__pos, __n, __val); } 2441: 2441: 2441: template 2441: void 2441: _M_insert_dispatch(iterator __pos, _InputIterator __first, 2441: _InputIterator __last, __false_type) 2441: { 2441: _M_range_insert(__pos, __first, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: 2441: template 2441: void 2441: _M_range_insert(iterator __pos, _InputIterator __first, 2441: _InputIterator __last, std::input_iterator_tag); 2441: 2441: 2441: template 2441: void 2441: _M_range_insert(iterator __pos, _ForwardIterator __first, 2441: _ForwardIterator __last, std::forward_iterator_tag); 2441: 2441: 2441: 2441: void 2441: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); 2441: 2441: 2441: 2441: void 2441: _M_default_append(size_type __n); 2441: 2441: bool 2441: _M_shrink_to_fit(); 2441: # 1589 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: struct _Temporary_value 2441: { 2441: template 2441: explicit 2441: _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec) 2441: { 2441: _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(), 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: ~_Temporary_value() 2441: { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); } 2441: 2441: value_type& 2441: _M_val() { return *reinterpret_cast<_Tp*>(&__buf); } 2441: 2441: private: 2441: pointer 2441: _M_ptr() { return pointer_traits::pointer_to(_M_val()); } 2441: 2441: vector* _M_this; 2441: typename aligned_storage::type __buf; 2441: }; 2441: 2441: 2441: 2441: template 2441: void 2441: _M_insert_aux(iterator __position, _Arg&& __arg); 2441: 2441: template 2441: void 2441: _M_realloc_insert(iterator __position, _Args&&... __args); 2441: 2441: 2441: iterator 2441: _M_insert_rval(const_iterator __position, value_type&& __v); 2441: 2441: 2441: template 2441: iterator 2441: _M_emplace_aux(const_iterator __position, _Args&&... __args); 2441: 2441: 2441: iterator 2441: _M_emplace_aux(const_iterator __position, value_type&& __v) 2441: { return _M_insert_rval(__position, std::move(__v)); } 2441: 2441: 2441: 2441: size_type 2441: _M_check_len(size_type __n, const char* __s) const 2441: { 2441: if (max_size() - size() < __n) 2441: __throw_length_error((__s)); 2441: 2441: const size_type __len = size() + std::max(size(), __n); 2441: return (__len < size() || __len > max_size()) ? max_size() : __len; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: void 2441: _M_erase_at_end(pointer __pos) noexcept 2441: { 2441: if (size_type __n = this->_M_impl._M_finish - __pos) 2441: { 2441: std::_Destroy(__pos, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __pos; 2441: ; 2441: } 2441: } 2441: 2441: iterator 2441: _M_erase(iterator __position); 2441: 2441: iterator 2441: _M_erase(iterator __first, iterator __last); 2441: 2441: 2441: private: 2441: 2441: 2441: 2441: void 2441: _M_move_assign(vector&& __x, std::true_type) noexcept 2441: { 2441: vector __tmp(get_allocator()); 2441: this->_M_impl._M_swap_data(__tmp._M_impl); 2441: this->_M_impl._M_swap_data(__x._M_impl); 2441: std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); 2441: } 2441: 2441: 2441: 2441: void 2441: _M_move_assign(vector&& __x, std::false_type) 2441: { 2441: if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) 2441: _M_move_assign(std::move(__x), std::true_type()); 2441: else 2441: { 2441: 2441: 2441: this->assign(std::__make_move_if_noexcept_iterator(__x.begin()), 2441: std::__make_move_if_noexcept_iterator(__x.end())); 2441: __x.clear(); 2441: } 2441: } 2441: 2441: 2441: template 2441: _Up* 2441: _M_data_ptr(_Up* __ptr) const noexcept 2441: { return __ptr; } 2441: 2441: 2441: template 2441: typename std::pointer_traits<_Ptr>::element_type* 2441: _M_data_ptr(_Ptr __ptr) const 2441: { return empty() ? nullptr : std::__to_address(__ptr); } 2441: # 1729 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: }; 2441: # 1751 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template 2441: inline bool 2441: operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 2441: { return (__x.size() == __y.size() 2441: && std::equal(__x.begin(), __x.end(), __y.begin())); } 2441: # 1768 "/usr/include/c++/8/bits/stl_vector.h" 3 2441: template 2441: inline bool 2441: operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 2441: { return std::lexicographical_compare(__x.begin(), __x.end(), 2441: __y.begin(), __y.end()); } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 2441: { return !(__x == __y); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 2441: { return __y < __x; } 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 2441: { return !(__y < __x); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: 2441: } 2441: # 65 "/usr/include/c++/8/vector" 2 3 2441: # 1 "/usr/include/c++/8/bits/stl_bvector.h" 1 3 2441: # 64 "/usr/include/c++/8/bits/stl_bvector.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: typedef unsigned long _Bit_type; 2441: enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; 2441: 2441: struct _Bit_reference 2441: { 2441: _Bit_type * _M_p; 2441: _Bit_type _M_mask; 2441: 2441: _Bit_reference(_Bit_type * __x, _Bit_type __y) 2441: : _M_p(__x), _M_mask(__y) { } 2441: 2441: _Bit_reference() noexcept : _M_p(0), _M_mask(0) { } 2441: 2441: operator bool() const noexcept 2441: { return !!(*_M_p & _M_mask); } 2441: 2441: _Bit_reference& 2441: operator=(bool __x) noexcept 2441: { 2441: if (__x) 2441: *_M_p |= _M_mask; 2441: else 2441: *_M_p &= ~_M_mask; 2441: return *this; 2441: } 2441: 2441: _Bit_reference& 2441: operator=(const _Bit_reference& __x) noexcept 2441: { return *this = bool(__x); } 2441: 2441: bool 2441: operator==(const _Bit_reference& __x) const 2441: { return bool(*this) == bool(__x); } 2441: 2441: bool 2441: operator<(const _Bit_reference& __x) const 2441: { return !bool(*this) && bool(__x); } 2441: 2441: void 2441: flip() noexcept 2441: { *_M_p ^= _M_mask; } 2441: }; 2441: 2441: 2441: inline void 2441: swap(_Bit_reference __x, _Bit_reference __y) noexcept 2441: { 2441: bool __tmp = __x; 2441: __x = __y; 2441: __y = __tmp; 2441: } 2441: 2441: inline void 2441: swap(_Bit_reference __x, bool& __y) noexcept 2441: { 2441: bool __tmp = __x; 2441: __x = __y; 2441: __y = __tmp; 2441: } 2441: 2441: inline void 2441: swap(bool& __x, _Bit_reference __y) noexcept 2441: { 2441: bool __tmp = __x; 2441: __x = __y; 2441: __y = __tmp; 2441: } 2441: 2441: 2441: struct _Bit_iterator_base 2441: : public std::iterator 2441: { 2441: _Bit_type * _M_p; 2441: unsigned int _M_offset; 2441: 2441: _Bit_iterator_base(_Bit_type * __x, unsigned int __y) 2441: : _M_p(__x), _M_offset(__y) { } 2441: 2441: void 2441: _M_bump_up() 2441: { 2441: if (_M_offset++ == int(_S_word_bit) - 1) 2441: { 2441: _M_offset = 0; 2441: ++_M_p; 2441: } 2441: } 2441: 2441: void 2441: _M_bump_down() 2441: { 2441: if (_M_offset-- == 0) 2441: { 2441: _M_offset = int(_S_word_bit) - 1; 2441: --_M_p; 2441: } 2441: } 2441: 2441: void 2441: _M_incr(ptrdiff_t __i) 2441: { 2441: difference_type __n = __i + _M_offset; 2441: _M_p += __n / int(_S_word_bit); 2441: __n = __n % int(_S_word_bit); 2441: if (__n < 0) 2441: { 2441: __n += int(_S_word_bit); 2441: --_M_p; 2441: } 2441: _M_offset = static_cast(__n); 2441: } 2441: 2441: bool 2441: operator==(const _Bit_iterator_base& __i) const 2441: { return _M_p == __i._M_p && _M_offset == __i._M_offset; } 2441: 2441: bool 2441: operator<(const _Bit_iterator_base& __i) const 2441: { 2441: return _M_p < __i._M_p 2441: || (_M_p == __i._M_p && _M_offset < __i._M_offset); 2441: } 2441: 2441: bool 2441: operator!=(const _Bit_iterator_base& __i) const 2441: { return !(*this == __i); } 2441: 2441: bool 2441: operator>(const _Bit_iterator_base& __i) const 2441: { return __i < *this; } 2441: 2441: bool 2441: operator<=(const _Bit_iterator_base& __i) const 2441: { return !(__i < *this); } 2441: 2441: bool 2441: operator>=(const _Bit_iterator_base& __i) const 2441: { return !(*this < __i); } 2441: }; 2441: 2441: inline ptrdiff_t 2441: operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 2441: { 2441: return (int(_S_word_bit) * (__x._M_p - __y._M_p) 2441: + __x._M_offset - __y._M_offset); 2441: } 2441: 2441: struct _Bit_iterator : public _Bit_iterator_base 2441: { 2441: typedef _Bit_reference reference; 2441: typedef _Bit_reference* pointer; 2441: typedef _Bit_iterator iterator; 2441: 2441: _Bit_iterator() : _Bit_iterator_base(0, 0) { } 2441: 2441: _Bit_iterator(_Bit_type * __x, unsigned int __y) 2441: : _Bit_iterator_base(__x, __y) { } 2441: 2441: iterator 2441: _M_const_cast() const 2441: { return *this; } 2441: 2441: reference 2441: operator*() const 2441: { return reference(_M_p, 1UL << _M_offset); } 2441: 2441: iterator& 2441: operator++() 2441: { 2441: _M_bump_up(); 2441: return *this; 2441: } 2441: 2441: iterator 2441: operator++(int) 2441: { 2441: iterator __tmp = *this; 2441: _M_bump_up(); 2441: return __tmp; 2441: } 2441: 2441: iterator& 2441: operator--() 2441: { 2441: _M_bump_down(); 2441: return *this; 2441: } 2441: 2441: iterator 2441: operator--(int) 2441: { 2441: iterator __tmp = *this; 2441: _M_bump_down(); 2441: return __tmp; 2441: } 2441: 2441: iterator& 2441: operator+=(difference_type __i) 2441: { 2441: _M_incr(__i); 2441: return *this; 2441: } 2441: 2441: iterator& 2441: operator-=(difference_type __i) 2441: { 2441: *this += -__i; 2441: return *this; 2441: } 2441: 2441: iterator 2441: operator+(difference_type __i) const 2441: { 2441: iterator __tmp = *this; 2441: return __tmp += __i; 2441: } 2441: 2441: iterator 2441: operator-(difference_type __i) const 2441: { 2441: iterator __tmp = *this; 2441: return __tmp -= __i; 2441: } 2441: 2441: reference 2441: operator[](difference_type __i) const 2441: { return *(*this + __i); } 2441: }; 2441: 2441: inline _Bit_iterator 2441: operator+(ptrdiff_t __n, const _Bit_iterator& __x) 2441: { return __x + __n; } 2441: 2441: struct _Bit_const_iterator : public _Bit_iterator_base 2441: { 2441: typedef bool reference; 2441: typedef bool const_reference; 2441: typedef const bool* pointer; 2441: typedef _Bit_const_iterator const_iterator; 2441: 2441: _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } 2441: 2441: _Bit_const_iterator(_Bit_type * __x, unsigned int __y) 2441: : _Bit_iterator_base(__x, __y) { } 2441: 2441: _Bit_const_iterator(const _Bit_iterator& __x) 2441: : _Bit_iterator_base(__x._M_p, __x._M_offset) { } 2441: 2441: _Bit_iterator 2441: _M_const_cast() const 2441: { return _Bit_iterator(_M_p, _M_offset); } 2441: 2441: const_reference 2441: operator*() const 2441: { return _Bit_reference(_M_p, 1UL << _M_offset); } 2441: 2441: const_iterator& 2441: operator++() 2441: { 2441: _M_bump_up(); 2441: return *this; 2441: } 2441: 2441: const_iterator 2441: operator++(int) 2441: { 2441: const_iterator __tmp = *this; 2441: _M_bump_up(); 2441: return __tmp; 2441: } 2441: 2441: const_iterator& 2441: operator--() 2441: { 2441: _M_bump_down(); 2441: return *this; 2441: } 2441: 2441: const_iterator 2441: operator--(int) 2441: { 2441: const_iterator __tmp = *this; 2441: _M_bump_down(); 2441: return __tmp; 2441: } 2441: 2441: const_iterator& 2441: operator+=(difference_type __i) 2441: { 2441: _M_incr(__i); 2441: return *this; 2441: } 2441: 2441: const_iterator& 2441: operator-=(difference_type __i) 2441: { 2441: *this += -__i; 2441: return *this; 2441: } 2441: 2441: const_iterator 2441: operator+(difference_type __i) const 2441: { 2441: const_iterator __tmp = *this; 2441: return __tmp += __i; 2441: } 2441: 2441: const_iterator 2441: operator-(difference_type __i) const 2441: { 2441: const_iterator __tmp = *this; 2441: return __tmp -= __i; 2441: } 2441: 2441: const_reference 2441: operator[](difference_type __i) const 2441: { return *(*this + __i); } 2441: }; 2441: 2441: inline _Bit_const_iterator 2441: operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) 2441: { return __x + __n; } 2441: 2441: inline void 2441: __fill_bvector(_Bit_type * __v, 2441: unsigned int __first, unsigned int __last, bool __x) 2441: { 2441: const _Bit_type __fmask = ~0ul << __first; 2441: const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last); 2441: const _Bit_type __mask = __fmask & __lmask; 2441: 2441: if (__x) 2441: *__v |= __mask; 2441: else 2441: *__v &= ~__mask; 2441: } 2441: 2441: inline void 2441: fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) 2441: { 2441: if (__first._M_p != __last._M_p) 2441: { 2441: _Bit_type* __first_p = __first._M_p; 2441: if (__first._M_offset != 0) 2441: __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x); 2441: 2441: __builtin_memset(__first_p, __x ? ~0 : 0, 2441: (__last._M_p - __first_p) * sizeof(_Bit_type)); 2441: 2441: if (__last._M_offset != 0) 2441: __fill_bvector(__last._M_p, 0, __last._M_offset, __x); 2441: } 2441: else if (__first._M_offset != __last._M_offset) 2441: __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x); 2441: } 2441: 2441: template 2441: struct _Bvector_base 2441: { 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind<_Bit_type>::other _Bit_alloc_type; 2441: typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type> 2441: _Bit_alloc_traits; 2441: typedef typename _Bit_alloc_traits::pointer _Bit_pointer; 2441: 2441: struct _Bvector_impl_data 2441: { 2441: _Bit_iterator _M_start; 2441: _Bit_iterator _M_finish; 2441: _Bit_pointer _M_end_of_storage; 2441: 2441: _Bvector_impl_data() noexcept 2441: : _M_start(), _M_finish(), _M_end_of_storage() 2441: { } 2441: 2441: 2441: _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept 2441: : _M_start(__x._M_start), _M_finish(__x._M_finish) 2441: , _M_end_of_storage(__x._M_end_of_storage) 2441: { __x._M_reset(); } 2441: 2441: void 2441: _M_move_data(_Bvector_impl_data&& __x) noexcept 2441: { 2441: this->_M_start = __x._M_start; 2441: this->_M_finish = __x._M_finish; 2441: this->_M_end_of_storage = __x._M_end_of_storage; 2441: __x._M_reset(); 2441: } 2441: 2441: 2441: void 2441: _M_reset() noexcept 2441: { 2441: _M_start = _M_finish = _Bit_iterator(); 2441: _M_end_of_storage = _Bit_pointer(); 2441: } 2441: }; 2441: 2441: struct _Bvector_impl 2441: : public _Bit_alloc_type, public _Bvector_impl_data 2441: { 2441: public: 2441: _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value) 2441: 2441: : _Bit_alloc_type() 2441: { } 2441: 2441: _Bvector_impl(const _Bit_alloc_type& __a) noexcept 2441: : _Bit_alloc_type(__a) 2441: { } 2441: 2441: 2441: _Bvector_impl(_Bvector_impl&&) = default; 2441: 2441: 2441: _Bit_type* 2441: _M_end_addr() const noexcept 2441: { 2441: if (this->_M_end_of_storage) 2441: return std::__addressof(this->_M_end_of_storage[-1]) + 1; 2441: return 0; 2441: } 2441: }; 2441: 2441: public: 2441: typedef _Alloc allocator_type; 2441: 2441: _Bit_alloc_type& 2441: _M_get_Bit_allocator() noexcept 2441: { return this->_M_impl; } 2441: 2441: const _Bit_alloc_type& 2441: _M_get_Bit_allocator() const noexcept 2441: { return this->_M_impl; } 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_get_Bit_allocator()); } 2441: 2441: 2441: _Bvector_base() = default; 2441: 2441: 2441: 2441: 2441: _Bvector_base(const allocator_type& __a) 2441: : _M_impl(__a) { } 2441: 2441: 2441: _Bvector_base(_Bvector_base&&) = default; 2441: 2441: 2441: ~_Bvector_base() 2441: { this->_M_deallocate(); } 2441: 2441: protected: 2441: _Bvector_impl _M_impl; 2441: 2441: _Bit_pointer 2441: _M_allocate(size_t __n) 2441: { return _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); } 2441: 2441: void 2441: _M_deallocate() 2441: { 2441: if (_M_impl._M_start._M_p) 2441: { 2441: const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p; 2441: _Bit_alloc_traits::deallocate(_M_impl, 2441: _M_impl._M_end_of_storage - __n, 2441: __n); 2441: _M_impl._M_reset(); 2441: } 2441: } 2441: 2441: 2441: void 2441: _M_move_data(_Bvector_base&& __x) noexcept 2441: { _M_impl._M_move_data(std::move(__x._M_impl)); } 2441: 2441: 2441: static size_t 2441: _S_nword(size_t __n) 2441: { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } 2441: }; 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: # 587 "/usr/include/c++/8/bits/stl_bvector.h" 3 2441: template 2441: class vector : protected _Bvector_base<_Alloc> 2441: { 2441: typedef _Bvector_base<_Alloc> _Base; 2441: typedef typename _Base::_Bit_pointer _Bit_pointer; 2441: typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits; 2441: 2441: 2441: friend struct std::hash; 2441: 2441: 2441: public: 2441: typedef bool value_type; 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Bit_reference reference; 2441: typedef bool const_reference; 2441: typedef _Bit_reference* pointer; 2441: typedef const bool* const_pointer; 2441: typedef _Bit_iterator iterator; 2441: typedef _Bit_const_iterator const_iterator; 2441: typedef std::reverse_iterator const_reverse_iterator; 2441: typedef std::reverse_iterator reverse_iterator; 2441: typedef _Alloc allocator_type; 2441: 2441: allocator_type 2441: get_allocator() const 2441: { return _Base::get_allocator(); } 2441: 2441: protected: 2441: using _Base::_M_allocate; 2441: using _Base::_M_deallocate; 2441: using _Base::_S_nword; 2441: using _Base::_M_get_Bit_allocator; 2441: 2441: public: 2441: 2441: vector() = default; 2441: 2441: 2441: 2441: 2441: explicit 2441: vector(const allocator_type& __a) 2441: : _Base(__a) { } 2441: 2441: 2441: explicit 2441: vector(size_type __n, const allocator_type& __a = allocator_type()) 2441: : vector(__n, false, __a) 2441: { } 2441: 2441: vector(size_type __n, const bool& __value, 2441: const allocator_type& __a = allocator_type()) 2441: 2441: 2441: 2441: 2441: 2441: : _Base(__a) 2441: { 2441: _M_initialize(__n); 2441: _M_initialize_value(__value); 2441: } 2441: 2441: vector(const vector& __x) 2441: : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator())) 2441: { 2441: _M_initialize(__x.size()); 2441: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 2441: } 2441: 2441: 2441: vector(vector&&) = default; 2441: 2441: vector(vector&& __x, const allocator_type& __a) 2441: noexcept(_Bit_alloc_traits::_S_always_equal()) 2441: : _Base(__a) 2441: { 2441: if (__x.get_allocator() == __a) 2441: this->_M_move_data(std::move(__x)); 2441: else 2441: { 2441: _M_initialize(__x.size()); 2441: _M_copy_aligned(__x.begin(), __x.end(), begin()); 2441: __x.clear(); 2441: } 2441: } 2441: 2441: vector(const vector& __x, const allocator_type& __a) 2441: : _Base(__a) 2441: { 2441: _M_initialize(__x.size()); 2441: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 2441: } 2441: 2441: vector(initializer_list __l, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__a) 2441: { 2441: _M_initialize_range(__l.begin(), __l.end(), 2441: random_access_iterator_tag()); 2441: } 2441: 2441: 2441: 2441: template> 2441: vector(_InputIterator __first, _InputIterator __last, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__a) 2441: { _M_initialize_dispatch(__first, __last, __false_type()); } 2441: # 710 "/usr/include/c++/8/bits/stl_bvector.h" 3 2441: ~vector() noexcept { } 2441: 2441: vector& 2441: operator=(const vector& __x) 2441: { 2441: if (&__x == this) 2441: return *this; 2441: 2441: if (_Bit_alloc_traits::_S_propagate_on_copy_assign()) 2441: { 2441: if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator()) 2441: { 2441: this->_M_deallocate(); 2441: std::__alloc_on_copy(_M_get_Bit_allocator(), 2441: __x._M_get_Bit_allocator()); 2441: _M_initialize(__x.size()); 2441: } 2441: else 2441: std::__alloc_on_copy(_M_get_Bit_allocator(), 2441: __x._M_get_Bit_allocator()); 2441: } 2441: 2441: if (__x.size() > capacity()) 2441: { 2441: this->_M_deallocate(); 2441: _M_initialize(__x.size()); 2441: } 2441: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 2441: begin()); 2441: return *this; 2441: } 2441: 2441: 2441: vector& 2441: operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move()) 2441: { 2441: if (_Bit_alloc_traits::_S_propagate_on_move_assign() 2441: || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator()) 2441: { 2441: this->_M_deallocate(); 2441: this->_M_move_data(std::move(__x)); 2441: std::__alloc_on_move(_M_get_Bit_allocator(), 2441: __x._M_get_Bit_allocator()); 2441: } 2441: else 2441: { 2441: if (__x.size() > capacity()) 2441: { 2441: this->_M_deallocate(); 2441: _M_initialize(__x.size()); 2441: } 2441: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 2441: begin()); 2441: __x.clear(); 2441: } 2441: return *this; 2441: } 2441: 2441: vector& 2441: operator=(initializer_list __l) 2441: { 2441: this->assign (__l.begin(), __l.end()); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: assign(size_type __n, const bool& __x) 2441: { _M_fill_assign(__n, __x); } 2441: 2441: 2441: template> 2441: void 2441: assign(_InputIterator __first, _InputIterator __last) 2441: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 2441: # 801 "/usr/include/c++/8/bits/stl_bvector.h" 3 2441: void 2441: assign(initializer_list __l) 2441: { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 2441: 2441: 2441: iterator 2441: begin() noexcept 2441: { return this->_M_impl._M_start; } 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return this->_M_impl._M_start; } 2441: 2441: iterator 2441: end() noexcept 2441: { return this->_M_impl._M_finish; } 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return this->_M_impl._M_finish; } 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return reverse_iterator(end()); } 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return const_reverse_iterator(end()); } 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return reverse_iterator(begin()); } 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return const_reverse_iterator(begin()); } 2441: 2441: 2441: const_iterator 2441: cbegin() const noexcept 2441: { return this->_M_impl._M_start; } 2441: 2441: const_iterator 2441: cend() const noexcept 2441: { return this->_M_impl._M_finish; } 2441: 2441: const_reverse_iterator 2441: crbegin() const noexcept 2441: { return const_reverse_iterator(end()); } 2441: 2441: const_reverse_iterator 2441: crend() const noexcept 2441: { return const_reverse_iterator(begin()); } 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return size_type(end() - begin()); } 2441: 2441: size_type 2441: max_size() const noexcept 2441: { 2441: const size_type __isize = 2441: __gnu_cxx::__numeric_traits::__max 2441: - int(_S_word_bit) + 1; 2441: const size_type __asize 2441: = _Bit_alloc_traits::max_size(_M_get_Bit_allocator()); 2441: return (__asize <= __isize / int(_S_word_bit) 2441: ? __asize * int(_S_word_bit) : __isize); 2441: } 2441: 2441: size_type 2441: capacity() const noexcept 2441: { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0) 2441: - begin()); } 2441: 2441: bool 2441: empty() const noexcept 2441: { return begin() == end(); } 2441: 2441: reference 2441: operator[](size_type __n) 2441: { 2441: return *iterator(this->_M_impl._M_start._M_p 2441: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 2441: } 2441: 2441: const_reference 2441: operator[](size_type __n) const 2441: { 2441: return *const_iterator(this->_M_impl._M_start._M_p 2441: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 2441: } 2441: 2441: protected: 2441: void 2441: _M_range_check(size_type __n) const 2441: { 2441: if (__n >= this->size()) 2441: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 2441: 2441: , 2441: __n, this->size()); 2441: } 2441: 2441: public: 2441: reference 2441: at(size_type __n) 2441: { _M_range_check(__n); return (*this)[__n]; } 2441: 2441: const_reference 2441: at(size_type __n) const 2441: { _M_range_check(__n); return (*this)[__n]; } 2441: 2441: void 2441: reserve(size_type __n) 2441: { 2441: if (__n > max_size()) 2441: __throw_length_error(("vector::reserve")); 2441: if (capacity() < __n) 2441: _M_reallocate(__n); 2441: } 2441: 2441: reference 2441: front() 2441: { return *begin(); } 2441: 2441: const_reference 2441: front() const 2441: { return *begin(); } 2441: 2441: reference 2441: back() 2441: { return *(end() - 1); } 2441: 2441: const_reference 2441: back() const 2441: { return *(end() - 1); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: data() noexcept { } 2441: 2441: void 2441: push_back(bool __x) 2441: { 2441: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 2441: *this->_M_impl._M_finish++ = __x; 2441: else 2441: _M_insert_aux(end(), __x); 2441: } 2441: 2441: void 2441: swap(vector& __x) noexcept 2441: { 2441: std::swap(this->_M_impl._M_start, __x._M_impl._M_start); 2441: std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); 2441: std::swap(this->_M_impl._M_end_of_storage, 2441: __x._M_impl._M_end_of_storage); 2441: _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(), 2441: __x._M_get_Bit_allocator()); 2441: } 2441: 2441: 2441: static void 2441: swap(reference __x, reference __y) noexcept 2441: { 2441: bool __tmp = __x; 2441: __x = __y; 2441: __y = __tmp; 2441: } 2441: 2441: iterator 2441: 2441: insert(const_iterator __position, const bool& __x = bool()) 2441: 2441: 2441: 2441: { 2441: const difference_type __n = __position - begin(); 2441: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr() 2441: && __position == end()) 2441: *this->_M_impl._M_finish++ = __x; 2441: else 2441: _M_insert_aux(__position._M_const_cast(), __x); 2441: return begin() + __n; 2441: } 2441: 2441: 2441: template> 2441: iterator 2441: insert(const_iterator __position, 2441: _InputIterator __first, _InputIterator __last) 2441: { 2441: difference_type __offset = __position - cbegin(); 2441: _M_insert_dispatch(__position._M_const_cast(), 2441: __first, __last, __false_type()); 2441: return begin() + __offset; 2441: } 2441: # 1017 "/usr/include/c++/8/bits/stl_bvector.h" 3 2441: iterator 2441: insert(const_iterator __position, size_type __n, const bool& __x) 2441: { 2441: difference_type __offset = __position - cbegin(); 2441: _M_fill_insert(__position._M_const_cast(), __n, __x); 2441: return begin() + __offset; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: insert(const_iterator __p, initializer_list __l) 2441: { return this->insert(__p, __l.begin(), __l.end()); } 2441: 2441: 2441: void 2441: pop_back() 2441: { --this->_M_impl._M_finish; } 2441: 2441: iterator 2441: 2441: erase(const_iterator __position) 2441: 2441: 2441: 2441: { return _M_erase(__position._M_const_cast()); } 2441: 2441: iterator 2441: 2441: erase(const_iterator __first, const_iterator __last) 2441: 2441: 2441: 2441: { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } 2441: 2441: void 2441: resize(size_type __new_size, bool __x = bool()) 2441: { 2441: if (__new_size < size()) 2441: _M_erase_at_end(begin() + difference_type(__new_size)); 2441: else 2441: insert(end(), __new_size - size(), __x); 2441: } 2441: 2441: 2441: void 2441: shrink_to_fit() 2441: { _M_shrink_to_fit(); } 2441: 2441: 2441: void 2441: flip() noexcept 2441: { 2441: _Bit_type * const __end = this->_M_impl._M_end_addr(); 2441: for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p) 2441: *__p = ~*__p; 2441: } 2441: 2441: void 2441: clear() noexcept 2441: { _M_erase_at_end(begin()); } 2441: 2441: 2441: template 2441: 2441: 2441: 2441: void 2441: 2441: emplace_back(_Args&&... __args) 2441: { 2441: push_back(bool(__args...)); 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: iterator 2441: emplace(const_iterator __pos, _Args&&... __args) 2441: { return insert(__pos, bool(__args...)); } 2441: 2441: 2441: protected: 2441: 2441: iterator 2441: _M_copy_aligned(const_iterator __first, const_iterator __last, 2441: iterator __result) 2441: { 2441: _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); 2441: return std::copy(const_iterator(__last._M_p, 0), __last, 2441: iterator(__q, 0)); 2441: } 2441: 2441: void 2441: _M_initialize(size_type __n) 2441: { 2441: if (__n) 2441: { 2441: _Bit_pointer __q = this->_M_allocate(__n); 2441: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 2441: this->_M_impl._M_start = iterator(std::__addressof(*__q), 0); 2441: } 2441: else 2441: { 2441: this->_M_impl._M_end_of_storage = _Bit_pointer(); 2441: this->_M_impl._M_start = iterator(0, 0); 2441: } 2441: this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); 2441: 2441: } 2441: 2441: void 2441: _M_initialize_value(bool __x) 2441: { 2441: if (_Bit_type* __p = this->_M_impl._M_start._M_p) 2441: __builtin_memset(__p, __x ? ~0 : 0, 2441: (this->_M_impl._M_end_addr() - __p) 2441: * sizeof(_Bit_type)); 2441: } 2441: 2441: void 2441: _M_reallocate(size_type __n); 2441: 2441: 2441: bool 2441: _M_shrink_to_fit(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 2441: { 2441: _M_initialize(static_cast(__n)); 2441: _M_initialize_value(__x); 2441: } 2441: 2441: template 2441: void 2441: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 2441: __false_type) 2441: { _M_initialize_range(__first, __last, 2441: std::__iterator_category(__first)); } 2441: 2441: template 2441: void 2441: _M_initialize_range(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag) 2441: { 2441: for (; __first != __last; ++__first) 2441: push_back(*__first); 2441: } 2441: 2441: template 2441: void 2441: _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag) 2441: { 2441: const size_type __n = std::distance(__first, __last); 2441: _M_initialize(__n); 2441: std::copy(__first, __last, this->_M_impl._M_start); 2441: } 2441: # 1203 "/usr/include/c++/8/bits/stl_bvector.h" 3 2441: void 2441: _M_fill_assign(size_t __n, bool __x) 2441: { 2441: if (__n > size()) 2441: { 2441: _M_initialize_value(__x); 2441: insert(end(), __n - size(), __x); 2441: } 2441: else 2441: { 2441: _M_erase_at_end(begin() + __n); 2441: _M_initialize_value(__x); 2441: } 2441: } 2441: 2441: template 2441: void 2441: _M_assign_aux(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag) 2441: { 2441: iterator __cur = begin(); 2441: for (; __first != __last && __cur != end(); ++__cur, ++__first) 2441: *__cur = *__first; 2441: if (__first == __last) 2441: _M_erase_at_end(__cur); 2441: else 2441: insert(end(), __first, __last); 2441: } 2441: 2441: template 2441: void 2441: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag) 2441: { 2441: const size_type __len = std::distance(__first, __last); 2441: if (__len < size()) 2441: _M_erase_at_end(std::copy(__first, __last, begin())); 2441: else 2441: { 2441: _ForwardIterator __mid = __first; 2441: std::advance(__mid, size()); 2441: std::copy(__first, __mid, begin()); 2441: insert(end(), __mid, __last); 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, 2441: __true_type) 2441: { _M_fill_insert(__pos, __n, __x); } 2441: 2441: template 2441: void 2441: _M_insert_dispatch(iterator __pos, 2441: _InputIterator __first, _InputIterator __last, 2441: __false_type) 2441: { _M_insert_range(__pos, __first, __last, 2441: std::__iterator_category(__first)); } 2441: 2441: void 2441: _M_fill_insert(iterator __position, size_type __n, bool __x); 2441: 2441: template 2441: void 2441: _M_insert_range(iterator __pos, _InputIterator __first, 2441: _InputIterator __last, std::input_iterator_tag) 2441: { 2441: for (; __first != __last; ++__first) 2441: { 2441: __pos = insert(__pos, *__first); 2441: ++__pos; 2441: } 2441: } 2441: 2441: template 2441: void 2441: _M_insert_range(iterator __position, _ForwardIterator __first, 2441: _ForwardIterator __last, std::forward_iterator_tag); 2441: 2441: void 2441: _M_insert_aux(iterator __position, bool __x); 2441: 2441: size_type 2441: _M_check_len(size_type __n, const char* __s) const 2441: { 2441: if (max_size() - size() < __n) 2441: __throw_length_error((__s)); 2441: 2441: const size_type __len = size() + std::max(size(), __n); 2441: return (__len < size() || __len > max_size()) ? max_size() : __len; 2441: } 2441: 2441: void 2441: _M_erase_at_end(iterator __pos) 2441: { this->_M_impl._M_finish = __pos; } 2441: 2441: iterator 2441: _M_erase(iterator __pos); 2441: 2441: iterator 2441: _M_erase(iterator __first, iterator __last); 2441: }; 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: template 2441: struct hash> 2441: : public __hash_base> 2441: { 2441: size_t 2441: operator()(const std::vector&) const noexcept; 2441: }; 2441: 2441: 2441: } 2441: # 66 "/usr/include/c++/8/vector" 2 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/vector.tcc" 1 3 2441: # 59 "/usr/include/c++/8/bits/vector.tcc" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: reserve(size_type __n) 2441: { 2441: if (__n > this->max_size()) 2441: __throw_length_error(("vector::reserve")); 2441: if (this->capacity() < __n) 2441: { 2441: const size_type __old_size = size(); 2441: pointer __tmp = _M_allocate_and_copy(__n, 2441: std::__make_move_if_noexcept_iterator(this->_M_impl._M_start), 2441: std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish)); 2441: ; 2441: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(this->_M_impl._M_start, 2441: this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); 2441: this->_M_impl._M_start = __tmp; 2441: this->_M_impl._M_finish = __tmp + __old_size; 2441: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 2441: } 2441: } 2441: 2441: 2441: template 2441: template 2441: 2441: 2441: 2441: void 2441: 2441: vector<_Tp, _Alloc>:: 2441: emplace_back(_Args&&... __args) 2441: { 2441: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 2441: { 2441: ; 2441: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 2441: std::forward<_Args>(__args)...); 2441: ++this->_M_impl._M_finish; 2441: ; 2441: } 2441: else 2441: _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: template 2441: typename vector<_Tp, _Alloc>::iterator 2441: vector<_Tp, _Alloc>:: 2441: 2441: insert(const_iterator __position, const value_type& __x) 2441: 2441: 2441: 2441: { 2441: const size_type __n = __position - begin(); 2441: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 2441: if (__position == end()) 2441: { 2441: ; 2441: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 2441: __x); 2441: ++this->_M_impl._M_finish; 2441: ; 2441: } 2441: else 2441: { 2441: 2441: const auto __pos = begin() + (__position - cbegin()); 2441: 2441: 2441: _Temporary_value __x_copy(this, __x); 2441: _M_insert_aux(__pos, std::move(__x_copy._M_val())); 2441: 2441: 2441: 2441: } 2441: else 2441: 2441: _M_realloc_insert(begin() + (__position - cbegin()), __x); 2441: 2441: 2441: 2441: 2441: return iterator(this->_M_impl._M_start + __n); 2441: } 2441: 2441: template 2441: typename vector<_Tp, _Alloc>::iterator 2441: vector<_Tp, _Alloc>:: 2441: _M_erase(iterator __position) 2441: { 2441: if (__position + 1 != end()) 2441: std::move(__position + 1, end(), __position); 2441: --this->_M_impl._M_finish; 2441: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 2441: ; 2441: return __position; 2441: } 2441: 2441: template 2441: typename vector<_Tp, _Alloc>::iterator 2441: vector<_Tp, _Alloc>:: 2441: _M_erase(iterator __first, iterator __last) 2441: { 2441: if (__first != __last) 2441: { 2441: if (__last != end()) 2441: std::move(__last, end(), __first); 2441: _M_erase_at_end(__first.base() + (end() - __last)); 2441: } 2441: return __first; 2441: } 2441: 2441: template 2441: vector<_Tp, _Alloc>& 2441: vector<_Tp, _Alloc>:: 2441: operator=(const vector<_Tp, _Alloc>& __x) 2441: { 2441: if (&__x != this) 2441: { 2441: ; 2441: 2441: if (_Alloc_traits::_S_propagate_on_copy_assign()) 2441: { 2441: if (!_Alloc_traits::_S_always_equal() 2441: && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) 2441: { 2441: 2441: this->clear(); 2441: _M_deallocate(this->_M_impl._M_start, 2441: this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); 2441: this->_M_impl._M_start = nullptr; 2441: this->_M_impl._M_finish = nullptr; 2441: this->_M_impl._M_end_of_storage = nullptr; 2441: } 2441: std::__alloc_on_copy(_M_get_Tp_allocator(), 2441: __x._M_get_Tp_allocator()); 2441: } 2441: 2441: const size_type __xlen = __x.size(); 2441: if (__xlen > capacity()) 2441: { 2441: pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), 2441: __x.end()); 2441: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(this->_M_impl._M_start, 2441: this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); 2441: this->_M_impl._M_start = __tmp; 2441: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; 2441: } 2441: else if (size() >= __xlen) 2441: { 2441: std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), 2441: end(), _M_get_Tp_allocator()); 2441: } 2441: else 2441: { 2441: std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), 2441: this->_M_impl._M_start); 2441: std::__uninitialized_copy_a(__x._M_impl._M_start + size(), 2441: __x._M_impl._M_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: } 2441: this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_fill_assign(size_t __n, const value_type& __val) 2441: { 2441: if (__n > capacity()) 2441: { 2441: vector __tmp(__n, __val, _M_get_Tp_allocator()); 2441: __tmp._M_impl._M_swap_data(this->_M_impl); 2441: } 2441: else if (__n > size()) 2441: { 2441: std::fill(begin(), end(), __val); 2441: const size_type __add = __n - size(); 2441: ; 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 2441: __add, __val, _M_get_Tp_allocator()); 2441: ; 2441: } 2441: else 2441: _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); 2441: } 2441: 2441: template 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_assign_aux(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag) 2441: { 2441: pointer __cur(this->_M_impl._M_start); 2441: for (; __first != __last && __cur != this->_M_impl._M_finish; 2441: ++__cur, ++__first) 2441: *__cur = *__first; 2441: if (__first == __last) 2441: _M_erase_at_end(__cur); 2441: else 2441: _M_range_insert(end(), __first, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: template 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag) 2441: { 2441: const size_type __len = std::distance(__first, __last); 2441: 2441: if (__len > capacity()) 2441: { 2441: pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); 2441: ; 2441: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(this->_M_impl._M_start, 2441: this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); 2441: this->_M_impl._M_start = __tmp; 2441: this->_M_impl._M_finish = this->_M_impl._M_start + __len; 2441: this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; 2441: } 2441: else if (size() >= __len) 2441: _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); 2441: else 2441: { 2441: _ForwardIterator __mid = __first; 2441: std::advance(__mid, size()); 2441: std::copy(__first, __mid, this->_M_impl._M_start); 2441: const size_type __attribute__((__unused__)) __n = __len - size(); 2441: ; 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_copy_a(__mid, __last, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: ; 2441: } 2441: } 2441: 2441: 2441: template 2441: auto 2441: vector<_Tp, _Alloc>:: 2441: _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator 2441: { 2441: const auto __n = __position - cbegin(); 2441: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 2441: if (__position == cend()) 2441: { 2441: ; 2441: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 2441: std::move(__v)); 2441: ++this->_M_impl._M_finish; 2441: ; 2441: } 2441: else 2441: _M_insert_aux(begin() + __n, std::move(__v)); 2441: else 2441: _M_realloc_insert(begin() + __n, std::move(__v)); 2441: 2441: return iterator(this->_M_impl._M_start + __n); 2441: } 2441: 2441: template 2441: template 2441: auto 2441: vector<_Tp, _Alloc>:: 2441: _M_emplace_aux(const_iterator __position, _Args&&... __args) 2441: -> iterator 2441: { 2441: const auto __n = __position - cbegin(); 2441: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 2441: if (__position == cend()) 2441: { 2441: ; 2441: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 2441: std::forward<_Args>(__args)...); 2441: ++this->_M_impl._M_finish; 2441: ; 2441: } 2441: else 2441: { 2441: 2441: 2441: 2441: _Temporary_value __tmp(this, std::forward<_Args>(__args)...); 2441: _M_insert_aux(begin() + __n, std::move(__tmp._M_val())); 2441: } 2441: else 2441: _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...); 2441: 2441: return iterator(this->_M_impl._M_start + __n); 2441: } 2441: 2441: template 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_insert_aux(iterator __position, _Arg&& __arg) 2441: 2441: 2441: 2441: 2441: 2441: 2441: { 2441: ; 2441: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 2441: std::move(*(this->_M_impl._M_finish - 1))); 2441: ++this->_M_impl._M_finish; 2441: ; 2441: 2441: 2441: 2441: std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1) 2441: 2441: ; 2441: 2441: 2441: 2441: *__position = std::forward<_Arg>(__arg); 2441: 2441: } 2441: 2441: 2441: template 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_realloc_insert(iterator __position, _Args&&... __args) 2441: 2441: 2441: 2441: 2441: 2441: 2441: { 2441: const size_type __len = 2441: _M_check_len(size_type(1), "vector::_M_realloc_insert"); 2441: pointer __old_start = this->_M_impl._M_start; 2441: pointer __old_finish = this->_M_impl._M_finish; 2441: const size_type __elems_before = __position - begin(); 2441: pointer __new_start(this->_M_allocate(__len)); 2441: pointer __new_finish(__new_start); 2441: try 2441: { 2441: 2441: 2441: 2441: 2441: 2441: _Alloc_traits::construct(this->_M_impl, 2441: __new_start + __elems_before, 2441: 2441: std::forward<_Args>(__args)...); 2441: 2441: 2441: 2441: __new_finish = pointer(); 2441: 2441: __new_finish 2441: = std::__uninitialized_move_if_noexcept_a 2441: (__old_start, __position.base(), 2441: __new_start, _M_get_Tp_allocator()); 2441: 2441: ++__new_finish; 2441: 2441: __new_finish 2441: = std::__uninitialized_move_if_noexcept_a 2441: (__position.base(), __old_finish, 2441: __new_finish, _M_get_Tp_allocator()); 2441: } 2441: catch(...) 2441: { 2441: if (!__new_finish) 2441: _Alloc_traits::destroy(this->_M_impl, 2441: __new_start + __elems_before); 2441: else 2441: std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); 2441: _M_deallocate(__new_start, __len); 2441: throw; 2441: } 2441: ; 2441: std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator()); 2441: _M_deallocate(__old_start, 2441: this->_M_impl._M_end_of_storage - __old_start); 2441: this->_M_impl._M_start = __new_start; 2441: this->_M_impl._M_finish = __new_finish; 2441: this->_M_impl._M_end_of_storage = __new_start + __len; 2441: } 2441: 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_fill_insert(iterator __position, size_type __n, const value_type& __x) 2441: { 2441: if (__n != 0) 2441: { 2441: if (size_type(this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_finish) >= __n) 2441: { 2441: 2441: 2441: 2441: _Temporary_value __tmp(this, __x); 2441: value_type& __x_copy = __tmp._M_val(); 2441: 2441: const size_type __elems_after = end() - __position; 2441: pointer __old_finish(this->_M_impl._M_finish); 2441: if (__elems_after > __n) 2441: { 2441: ; 2441: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 2441: this->_M_impl._M_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish += __n; 2441: ; 2441: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 2441: ; 2441: std::fill(__position.base(), __position.base() + __n, 2441: __x_copy); 2441: } 2441: else 2441: { 2441: ; 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 2441: __n - __elems_after, 2441: __x_copy, 2441: _M_get_Tp_allocator()); 2441: ; 2441: std::__uninitialized_move_a(__position.base(), __old_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish += __elems_after; 2441: ; 2441: std::fill(__position.base(), __old_finish, __x_copy); 2441: } 2441: } 2441: else 2441: { 2441: const size_type __len = 2441: _M_check_len(__n, "vector::_M_fill_insert"); 2441: const size_type __elems_before = __position - begin(); 2441: pointer __new_start(this->_M_allocate(__len)); 2441: pointer __new_finish(__new_start); 2441: try 2441: { 2441: 2441: std::__uninitialized_fill_n_a(__new_start + __elems_before, 2441: __n, __x, 2441: _M_get_Tp_allocator()); 2441: __new_finish = pointer(); 2441: 2441: __new_finish 2441: = std::__uninitialized_move_if_noexcept_a 2441: (this->_M_impl._M_start, __position.base(), 2441: __new_start, _M_get_Tp_allocator()); 2441: 2441: __new_finish += __n; 2441: 2441: __new_finish 2441: = std::__uninitialized_move_if_noexcept_a 2441: (__position.base(), this->_M_impl._M_finish, 2441: __new_finish, _M_get_Tp_allocator()); 2441: } 2441: catch(...) 2441: { 2441: if (!__new_finish) 2441: std::_Destroy(__new_start + __elems_before, 2441: __new_start + __elems_before + __n, 2441: _M_get_Tp_allocator()); 2441: else 2441: std::_Destroy(__new_start, __new_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(__new_start, __len); 2441: throw; 2441: } 2441: ; 2441: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(this->_M_impl._M_start, 2441: this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); 2441: this->_M_impl._M_start = __new_start; 2441: this->_M_impl._M_finish = __new_finish; 2441: this->_M_impl._M_end_of_storage = __new_start + __len; 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_default_append(size_type __n) 2441: { 2441: if (__n != 0) 2441: { 2441: const size_type __size = size(); 2441: size_type __navail = size_type(this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_finish); 2441: 2441: if (__size > max_size() || __navail > max_size() - __size) 2441: __builtin_unreachable(); 2441: 2441: if (__navail >= __n) 2441: { 2441: ; 2441: this->_M_impl._M_finish = 2441: std::__uninitialized_default_n_a(this->_M_impl._M_finish, 2441: __n, _M_get_Tp_allocator()); 2441: ; 2441: } 2441: else 2441: { 2441: const size_type __len = 2441: _M_check_len(__n, "vector::_M_default_append"); 2441: pointer __new_start(this->_M_allocate(__len)); 2441: pointer __destroy_from = pointer(); 2441: try 2441: { 2441: std::__uninitialized_default_n_a(__new_start + __size, 2441: __n, _M_get_Tp_allocator()); 2441: __destroy_from = __new_start + __size; 2441: std::__uninitialized_move_if_noexcept_a( 2441: this->_M_impl._M_start, this->_M_impl._M_finish, 2441: __new_start, _M_get_Tp_allocator()); 2441: } 2441: catch(...) 2441: { 2441: if (__destroy_from) 2441: std::_Destroy(__destroy_from, __destroy_from + __n, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(__new_start, __len); 2441: throw; 2441: } 2441: ; 2441: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(this->_M_impl._M_start, 2441: this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); 2441: this->_M_impl._M_start = __new_start; 2441: this->_M_impl._M_finish = __new_start + __size + __n; 2441: this->_M_impl._M_end_of_storage = __new_start + __len; 2441: } 2441: } 2441: } 2441: 2441: template 2441: bool 2441: vector<_Tp, _Alloc>:: 2441: _M_shrink_to_fit() 2441: { 2441: if (capacity() == size()) 2441: return false; 2441: ; 2441: return std::__shrink_to_fit_aux::_S_do_it(*this); 2441: } 2441: 2441: 2441: template 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_range_insert(iterator __pos, _InputIterator __first, 2441: _InputIterator __last, std::input_iterator_tag) 2441: { 2441: if (__pos == end()) 2441: { 2441: for (; __first != __last; ++__first) 2441: insert(end(), *__first); 2441: } 2441: else if (__first != __last) 2441: { 2441: vector __tmp(__first, __last, _M_get_Tp_allocator()); 2441: insert(__pos, 2441: std::make_move_iterator(__tmp.begin()), 2441: std::make_move_iterator(__tmp.end())); 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: vector<_Tp, _Alloc>:: 2441: _M_range_insert(iterator __position, _ForwardIterator __first, 2441: _ForwardIterator __last, std::forward_iterator_tag) 2441: { 2441: if (__first != __last) 2441: { 2441: const size_type __n = std::distance(__first, __last); 2441: if (size_type(this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_finish) >= __n) 2441: { 2441: const size_type __elems_after = end() - __position; 2441: pointer __old_finish(this->_M_impl._M_finish); 2441: if (__elems_after > __n) 2441: { 2441: ; 2441: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 2441: this->_M_impl._M_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish += __n; 2441: ; 2441: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 2441: ; 2441: std::copy(__first, __last, __position); 2441: } 2441: else 2441: { 2441: _ForwardIterator __mid = __first; 2441: std::advance(__mid, __elems_after); 2441: ; 2441: std::__uninitialized_copy_a(__mid, __last, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish += __n - __elems_after; 2441: ; 2441: std::__uninitialized_move_a(__position.base(), 2441: __old_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish += __elems_after; 2441: ; 2441: std::copy(__first, __mid, __position); 2441: } 2441: } 2441: else 2441: { 2441: const size_type __len = 2441: _M_check_len(__n, "vector::_M_range_insert"); 2441: pointer __new_start(this->_M_allocate(__len)); 2441: pointer __new_finish(__new_start); 2441: try 2441: { 2441: __new_finish 2441: = std::__uninitialized_move_if_noexcept_a 2441: (this->_M_impl._M_start, __position.base(), 2441: __new_start, _M_get_Tp_allocator()); 2441: __new_finish 2441: = std::__uninitialized_copy_a(__first, __last, 2441: __new_finish, 2441: _M_get_Tp_allocator()); 2441: __new_finish 2441: = std::__uninitialized_move_if_noexcept_a 2441: (__position.base(), this->_M_impl._M_finish, 2441: __new_finish, _M_get_Tp_allocator()); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(__new_start, __new_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(__new_start, __len); 2441: throw; 2441: } 2441: ; 2441: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: _M_deallocate(this->_M_impl._M_start, 2441: this->_M_impl._M_end_of_storage 2441: - this->_M_impl._M_start); 2441: this->_M_impl._M_start = __new_start; 2441: this->_M_impl._M_finish = __new_finish; 2441: this->_M_impl._M_end_of_storage = __new_start + __len; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: template 2441: void 2441: vector:: 2441: _M_reallocate(size_type __n) 2441: { 2441: _Bit_pointer __q = this->_M_allocate(__n); 2441: iterator __start(std::__addressof(*__q), 0); 2441: iterator __finish(_M_copy_aligned(begin(), end(), __start)); 2441: this->_M_deallocate(); 2441: this->_M_impl._M_start = __start; 2441: this->_M_impl._M_finish = __finish; 2441: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 2441: } 2441: 2441: template 2441: void 2441: vector:: 2441: _M_fill_insert(iterator __position, size_type __n, bool __x) 2441: { 2441: if (__n == 0) 2441: return; 2441: if (capacity() - size() >= __n) 2441: { 2441: std::copy_backward(__position, end(), 2441: this->_M_impl._M_finish + difference_type(__n)); 2441: std::fill(__position, __position + difference_type(__n), __x); 2441: this->_M_impl._M_finish += difference_type(__n); 2441: } 2441: else 2441: { 2441: const size_type __len = 2441: _M_check_len(__n, "vector::_M_fill_insert"); 2441: _Bit_pointer __q = this->_M_allocate(__len); 2441: iterator __start(std::__addressof(*__q), 0); 2441: iterator __i = _M_copy_aligned(begin(), __position, __start); 2441: std::fill(__i, __i + difference_type(__n), __x); 2441: iterator __finish = std::copy(__position, end(), 2441: __i + difference_type(__n)); 2441: this->_M_deallocate(); 2441: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 2441: this->_M_impl._M_start = __start; 2441: this->_M_impl._M_finish = __finish; 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: vector:: 2441: _M_insert_range(iterator __position, _ForwardIterator __first, 2441: _ForwardIterator __last, std::forward_iterator_tag) 2441: { 2441: if (__first != __last) 2441: { 2441: size_type __n = std::distance(__first, __last); 2441: if (capacity() - size() >= __n) 2441: { 2441: std::copy_backward(__position, end(), 2441: this->_M_impl._M_finish 2441: + difference_type(__n)); 2441: std::copy(__first, __last, __position); 2441: this->_M_impl._M_finish += difference_type(__n); 2441: } 2441: else 2441: { 2441: const size_type __len = 2441: _M_check_len(__n, "vector::_M_insert_range"); 2441: _Bit_pointer __q = this->_M_allocate(__len); 2441: iterator __start(std::__addressof(*__q), 0); 2441: iterator __i = _M_copy_aligned(begin(), __position, __start); 2441: __i = std::copy(__first, __last, __i); 2441: iterator __finish = std::copy(__position, end(), __i); 2441: this->_M_deallocate(); 2441: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 2441: this->_M_impl._M_start = __start; 2441: this->_M_impl._M_finish = __finish; 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: vector:: 2441: _M_insert_aux(iterator __position, bool __x) 2441: { 2441: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 2441: { 2441: std::copy_backward(__position, this->_M_impl._M_finish, 2441: this->_M_impl._M_finish + 1); 2441: *__position = __x; 2441: ++this->_M_impl._M_finish; 2441: } 2441: else 2441: { 2441: const size_type __len = 2441: _M_check_len(size_type(1), "vector::_M_insert_aux"); 2441: _Bit_pointer __q = this->_M_allocate(__len); 2441: iterator __start(std::__addressof(*__q), 0); 2441: iterator __i = _M_copy_aligned(begin(), __position, __start); 2441: *__i++ = __x; 2441: iterator __finish = std::copy(__position, end(), __i); 2441: this->_M_deallocate(); 2441: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 2441: this->_M_impl._M_start = __start; 2441: this->_M_impl._M_finish = __finish; 2441: } 2441: } 2441: 2441: template 2441: typename vector::iterator 2441: vector:: 2441: _M_erase(iterator __position) 2441: { 2441: if (__position + 1 != end()) 2441: std::copy(__position + 1, end(), __position); 2441: --this->_M_impl._M_finish; 2441: return __position; 2441: } 2441: 2441: template 2441: typename vector::iterator 2441: vector:: 2441: _M_erase(iterator __first, iterator __last) 2441: { 2441: if (__first != __last) 2441: _M_erase_at_end(std::copy(__last, end(), __first)); 2441: return __first; 2441: } 2441: 2441: 2441: template 2441: bool 2441: vector:: 2441: _M_shrink_to_fit() 2441: { 2441: if (capacity() - size() < int(_S_word_bit)) 2441: return false; 2441: try 2441: { 2441: _M_reallocate(size()); 2441: return true; 2441: } 2441: catch(...) 2441: { return false; } 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: size_t 2441: hash>:: 2441: operator()(const std::vector& __b) const noexcept 2441: { 2441: size_t __hash = 0; 2441: using std::_S_word_bit; 2441: using std::_Bit_type; 2441: 2441: const size_t __words = __b.size() / _S_word_bit; 2441: if (__words) 2441: { 2441: const size_t __clength = __words * sizeof(_Bit_type); 2441: __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength); 2441: } 2441: 2441: const size_t __extrabits = __b.size() % _S_word_bit; 2441: if (__extrabits) 2441: { 2441: _Bit_type __hiword = *__b._M_impl._M_finish._M_p; 2441: __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits); 2441: 2441: const size_t __clength 2441: = (__extrabits + 8 - 1) / 8; 2441: if (__words) 2441: __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash); 2441: else 2441: __hash = std::_Hash_impl::hash(&__hiword, __clength); 2441: } 2441: 2441: return __hash; 2441: } 2441: 2441: 2441: } 2441: # 70 "/usr/include/c++/8/vector" 2 3 2441: # 33 "../../src/Linear_Form_defs.hh" 2 2441: 2441: 2441: # 34 "../../src/Linear_Form_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: template 2441: void swap(Linear_Form& x, Linear_Form& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const Linear_Form& f1, const Linear_Form& f2); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(Variable v, const Linear_Form& f); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const Linear_Form& f, Variable v); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const C& n, const Linear_Form& f); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const Linear_Form& f, const C& n); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const Linear_Form& f); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Linear_Form& f); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Linear_Form& f1, const Linear_Form& f2); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(Variable v, const Linear_Form& f); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Linear_Form& f, Variable v); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const C& n, const Linear_Form& f); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Linear_Form& f, const C& n); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator*(const C& n, const Linear_Form& f); 2441: 2441: 2441: 2441: template 2441: Linear_Form 2441: operator*(const Linear_Form& f, const C& n); 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator+=(Linear_Form& f1, const Linear_Form& f2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator+=(Linear_Form& f, Variable v); 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator+=(Linear_Form& f, const C& n); 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator-=(Linear_Form& f1, const Linear_Form& f2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator-=(Linear_Form& f, Variable v); 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator-=(Linear_Form& f, const C& n); 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator*=(Linear_Form& f, const C& n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator/=(Linear_Form& f, const C& n); 2441: 2441: 2441: 2441: template 2441: bool 2441: operator==(const Linear_Form& x, const Linear_Form& y); 2441: 2441: 2441: 2441: template 2441: bool 2441: operator!=(const Linear_Form& x, const Linear_Form& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: template 2441: std::ostream& operator<<(std::ostream& s, const Linear_Form& f); 2441: 2441: } 2441: 2441: } 2441: # 260 "../../src/Linear_Form_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Linear_Form { 2441: public: 2441: 2441: Linear_Form(); 2441: 2441: 2441: Linear_Form(const Linear_Form& f); 2441: 2441: 2441: ~Linear_Form(); 2441: 2441: 2441: explicit Linear_Form(const C& n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Form(Variable v); 2441: 2441: 2441: Linear_Form(const Linear_Expression& e); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: const C& coefficient(Variable v) const; 2441: 2441: 2441: const C& inhomogeneous_term() const; 2441: 2441: 2441: void negate(); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: bool OK() const; 2441: 2441: 2441: void m_swap(Linear_Form& y); 2441: # 336 "../../src/Linear_Form_defs.hh" 2441: bool overflows() const; 2441: # 365 "../../src/Linear_Form_defs.hh" 2441: void relative_error(Floating_Point_Format analyzed_format, 2441: Linear_Form& result) const; 2441: # 398 "../../src/Linear_Form_defs.hh" 2441: template 2441: bool intervalize(const FP_Oracle& oracle, C& result) const; 2441: 2441: private: 2441: 2441: static C zero; 2441: 2441: 2441: typedef std::vector vec_type; 2441: 2441: 2441: vec_type vec; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Form(dimension_type sz, bool); 2441: # 426 "../../src/Linear_Form_defs.hh" 2441: Linear_Form(Variable v, Variable w); 2441: 2441: 2441: dimension_type size() const; 2441: 2441: 2441: void extend(dimension_type sz); 2441: 2441: 2441: C& operator[](dimension_type i); 2441: 2441: 2441: const C& operator[](dimension_type i) const; 2441: 2441: friend Linear_Form 2441: operator+(const Linear_Form& f1, const Linear_Form& f2); 2441: friend Linear_Form 2441: operator+(const C& n, const Linear_Form& f); 2441: friend Linear_Form 2441: operator+(const Linear_Form& f, const C& n); 2441: friend Linear_Form 2441: operator+(Variable v, const Linear_Form& f); 2441: 2441: friend Linear_Form 2441: operator-(const Linear_Form& f); 2441: 2441: friend Linear_Form 2441: operator-(const Linear_Form& f1, const Linear_Form& f2); 2441: friend Linear_Form 2441: operator-(const C& n, const Linear_Form& f); 2441: friend Linear_Form 2441: operator-(const Linear_Form& f, const C& n); 2441: friend Linear_Form 2441: operator-(Variable v, const Linear_Form& f); 2441: friend Linear_Form 2441: operator-(const Linear_Form& f, Variable v); 2441: 2441: friend Linear_Form 2441: operator*(const C& n, const Linear_Form& f); 2441: friend Linear_Form 2441: operator*(const Linear_Form& f, const C& n); 2441: 2441: friend Linear_Form& 2441: operator+=(Linear_Form& f1, const Linear_Form& f2); 2441: friend Linear_Form& 2441: operator+=(Linear_Form& f, Variable v); 2441: friend Linear_Form& 2441: operator+=(Linear_Form& f, const C& n); 2441: 2441: friend Linear_Form& 2441: operator-=(Linear_Form& f1, const Linear_Form& f2); 2441: friend Linear_Form& 2441: operator-=(Linear_Form& f, Variable v); 2441: friend Linear_Form& 2441: operator-=(Linear_Form& f, const C& n); 2441: 2441: friend Linear_Form& 2441: operator*=(Linear_Form& f, const C& n); 2441: 2441: friend Linear_Form& 2441: operator/=(Linear_Form& f, const C& n); 2441: 2441: friend bool 2441: operator==(const Linear_Form& x, const Linear_Form& y); 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library::IO_Operators 2441: ::operator<<(std::ostream& s, const Linear_Form& f); 2441: }; 2441: 2441: # 1 "../../src/Linear_Form_inlines.hh" 1 2441: # 28 "../../src/Linear_Form_inlines.hh" 2441: # 1 "/usr/include/c++/8/iostream" 1 3 2441: # 36 "/usr/include/c++/8/iostream" 3 2441: 2441: # 37 "/usr/include/c++/8/iostream" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 42 "/usr/include/c++/8/iostream" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 60 "/usr/include/c++/8/iostream" 3 2441: extern istream cin; 2441: extern ostream cout; 2441: extern ostream cerr; 2441: extern ostream clog; 2441: 2441: 2441: extern wistream wcin; 2441: extern wostream wcout; 2441: extern wostream wcerr; 2441: extern wostream wclog; 2441: 2441: 2441: 2441: 2441: static ios_base::Init __ioinit; 2441: 2441: 2441: } 2441: # 29 "../../src/Linear_Form_inlines.hh" 2 2441: 2441: 2441: 2441: # 31 "../../src/Linear_Form_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline dimension_type 2441: Linear_Form::max_space_dimension() { 2441: return vec_type().max_size() - 1; 2441: } 2441: 2441: template 2441: inline 2441: Linear_Form::Linear_Form() 2441: : vec(1, zero) { 2441: vec.reserve(compute_capacity(1, vec_type().max_size())); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Form::Linear_Form(dimension_type sz, bool) 2441: : vec(sz, zero) { 2441: vec.reserve(compute_capacity(sz, vec_type().max_size())); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Form::Linear_Form(const Linear_Form& f) 2441: : vec(f.vec) { 2441: } 2441: 2441: template 2441: inline 2441: Linear_Form::~Linear_Form() { 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_Form::size() const { 2441: return vec.size(); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Form::extend(dimension_type sz) { 2441: 2441: # 73 "../../src/Linear_Form_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 73 "../../src/Linear_Form_inlines.hh" 2441: ; 2441: vec.reserve(compute_capacity(sz, vec_type().max_size())); 2441: vec.resize(sz, zero); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Form::Linear_Form(const C& n) 2441: : vec(1, n) { 2441: vec.reserve(compute_capacity(1, vec_type().max_size())); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_Form::space_dimension() const { 2441: return size() - 1; 2441: } 2441: 2441: template 2441: inline const C& 2441: Linear_Form::coefficient(Variable v) const { 2441: if (v.space_dimension() > space_dimension()) { 2441: return zero; 2441: } 2441: return vec[v.id()+1]; 2441: } 2441: 2441: template 2441: inline C& 2441: Linear_Form::operator[](dimension_type i) { 2441: 2441: # 103 "../../src/Linear_Form_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 103 "../../src/Linear_Form_inlines.hh" 2441: ; 2441: return vec[i]; 2441: } 2441: 2441: template 2441: inline const C& 2441: Linear_Form::operator[](dimension_type i) const { 2441: 2441: # 110 "../../src/Linear_Form_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 110 "../../src/Linear_Form_inlines.hh" 2441: ; 2441: return vec[i]; 2441: } 2441: 2441: template 2441: inline const C& 2441: Linear_Form::inhomogeneous_term() const { 2441: return vec[0]; 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Linear_Form::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form 2441: operator+(const Linear_Form& f) { 2441: return f; 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form 2441: operator+(const Linear_Form& f, const C& n) { 2441: return n + f; 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form 2441: operator+(const Linear_Form& f, const Variable v) { 2441: return v + f; 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form 2441: operator-(const Linear_Form& f, const C& n) { 2441: return -n + f; 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form 2441: operator-(const Variable v, const Variable w) { 2441: return Linear_Form(v, w); 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form 2441: operator*(const Linear_Form& f, const C& n) { 2441: return n * f; 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form& 2441: operator+=(Linear_Form& f, const C& n) { 2441: f[0] += n; 2441: return f; 2441: } 2441: 2441: 2441: template 2441: inline Linear_Form& 2441: operator-=(Linear_Form& f, const C& n) { 2441: f[0] -= n; 2441: return f; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const Linear_Form& x, const Linear_Form& y) { 2441: return !(x == y); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Form::m_swap(Linear_Form& y) { 2441: using std::swap; 2441: swap(vec, y.vec); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Form::ascii_dump(std::ostream& s) const { 2441: using namespace IO_Operators; 2441: dimension_type space_dim = space_dimension(); 2441: s << space_dim << "\n"; 2441: for (dimension_type i = 0; i <= space_dim; ++i) { 2441: const char separator = ' '; 2441: s << vec[i] << separator; 2441: } 2441: s << "\n"; 2441: } 2441: 2441: template 2441: inline bool 2441: Linear_Form::ascii_load(std::istream& s) { 2441: using namespace IO_Operators; 2441: dimension_type new_dim; 2441: if (!(s >> new_dim)) { 2441: return false; 2441: } 2441: 2441: vec.resize(new_dim + 1, zero); 2441: for (dimension_type i = 0; i <= new_dim; ++i) { 2441: if (!(s >> vec[i])) { 2441: return false; 2441: } 2441: } 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: Linear_Form::overflows() const { 2441: if (!inhomogeneous_term().is_bounded()) { 2441: return true; 2441: } 2441: for (dimension_type i = space_dimension(); i-- > 0; ) { 2441: if (!coefficient(Variable(i)).is_bounded()) { 2441: return true; 2441: } 2441: } 2441: 2441: return false; 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(Linear_Form& x, Linear_Form& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 497 "../../src/Linear_Form_defs.hh" 2 2441: # 29 "../../src/Float_inlines.hh" 2 2441: 2441: # 1 "/usr/include/c++/8/climits" 1 3 2441: # 39 "/usr/include/c++/8/climits" 3 2441: 2441: # 40 "/usr/include/c++/8/climits" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 43 "/usr/include/c++/8/climits" 2 3 2441: # 31 "../../src/Float_inlines.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline int 2441: float_ieee754_half::inf_sign() const { 2441: if (word == NEG_INF) { 2441: return -1; 2441: } 2441: if (word == POS_INF) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline bool 2441: float_ieee754_half::is_nan() const { 2441: return (word & ~SGN_MASK) > POS_INF; 2441: } 2441: 2441: inline int 2441: float_ieee754_half::zero_sign() const { 2441: if (word == NEG_ZERO) { 2441: return -1; 2441: } 2441: if (word == POS_ZERO) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_half::negate() { 2441: word ^= SGN_MASK; 2441: } 2441: 2441: inline bool 2441: float_ieee754_half::sign_bit() const { 2441: return (word & SGN_MASK) != 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_half::dec() { 2441: --word; 2441: } 2441: 2441: inline void 2441: float_ieee754_half::inc() { 2441: ++word; 2441: } 2441: 2441: inline void 2441: float_ieee754_half::set_max(bool negative) { 2441: word = WRD_MAX; 2441: if (negative) { 2441: word |= SGN_MASK; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_half::build(bool negative, mpz_t mantissa, int exponent) { 2441: word = static_cast( 2441: # 91 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_get_ui 2441: # 91 "../../src/Float_inlines.hh" 2441: (mantissa) 2441: & ((1UL << MANTISSA_BITS) - 1)); 2441: if (negative) { 2441: word |= SGN_MASK; 2441: } 2441: const int exponent_repr = exponent + EXPONENT_BIAS; 2441: ((void) 0); 2441: word |= static_cast(exponent_repr) << MANTISSA_BITS; 2441: } 2441: 2441: inline int 2441: float_ieee754_single::inf_sign() const { 2441: if (word == NEG_INF) { 2441: return -1; 2441: } 2441: if (word == POS_INF) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline bool 2441: float_ieee754_single::is_nan() const { 2441: return (word & ~SGN_MASK) > POS_INF; 2441: } 2441: 2441: inline int 2441: float_ieee754_single::zero_sign() const { 2441: if (word == NEG_ZERO) { 2441: return -1; 2441: } 2441: if (word == POS_ZERO) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_single::negate() { 2441: word ^= SGN_MASK; 2441: } 2441: 2441: inline bool 2441: float_ieee754_single::sign_bit() const { 2441: return (word & SGN_MASK) != 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_single::dec() { 2441: --word; 2441: } 2441: 2441: inline void 2441: float_ieee754_single::inc() { 2441: ++word; 2441: } 2441: 2441: inline void 2441: float_ieee754_single::set_max(bool negative) { 2441: word = WRD_MAX; 2441: if (negative) { 2441: word |= SGN_MASK; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_single::build(bool negative, mpz_t mantissa, int exponent) { 2441: word = static_cast( 2441: # 158 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_get_ui 2441: # 158 "../../src/Float_inlines.hh" 2441: (mantissa) 2441: & ((1UL << MANTISSA_BITS) - 1)); 2441: if (negative) { 2441: word |= SGN_MASK; 2441: } 2441: const int exponent_repr = exponent + EXPONENT_BIAS; 2441: ((void) 0); 2441: word |= static_cast(exponent_repr) << MANTISSA_BITS; 2441: } 2441: 2441: inline int 2441: float_ieee754_double::inf_sign() const { 2441: if (lsp != LSP_INF) { 2441: return 0; 2441: } 2441: if (msp == MSP_NEG_INF) { 2441: return -1; 2441: } 2441: if (msp == MSP_POS_INF) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline bool 2441: float_ieee754_double::is_nan() const { 2441: const uint32_t a = msp & ~MSP_SGN_MASK; 2441: return a > MSP_POS_INF || (a == MSP_POS_INF && lsp != LSP_INF); 2441: } 2441: 2441: inline int 2441: float_ieee754_double::zero_sign() const { 2441: if (lsp != LSP_ZERO) { 2441: return 0; 2441: } 2441: if (msp == MSP_NEG_ZERO) { 2441: return -1; 2441: } 2441: if (msp == MSP_POS_ZERO) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_double::negate() { 2441: msp ^= MSP_SGN_MASK; 2441: } 2441: 2441: inline bool 2441: float_ieee754_double::sign_bit() const { 2441: return (msp & MSP_SGN_MASK) != 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_double::dec() { 2441: if (lsp == 0) { 2441: --msp; 2441: lsp = LSP_MAX; 2441: } 2441: else { 2441: --lsp; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_double::inc() { 2441: if (lsp == LSP_MAX) { 2441: ++msp; 2441: lsp = 0; 2441: } 2441: else { 2441: ++lsp; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_double::set_max(bool negative) { 2441: msp = MSP_MAX; 2441: lsp = LSP_MAX; 2441: if (negative) { 2441: msp |= MSP_SGN_MASK; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) { 2441: unsigned long m; 2441: 2441: lsp = 2441: # 247 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_get_ui 2441: # 247 "../../src/Float_inlines.hh" 2441: (mantissa); 2441: 2441: # 248 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_tdiv_q_2exp 2441: # 248 "../../src/Float_inlines.hh" 2441: (mantissa, mantissa, 32); 2441: m = 2441: # 249 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_get_ui 2441: # 249 "../../src/Float_inlines.hh" 2441: (mantissa); 2441: 2441: 2441: 2441: 2441: 2441: msp = static_cast(m & ((1UL << (MANTISSA_BITS - 32)) - 1)); 2441: if (negative) { 2441: msp |= MSP_SGN_MASK; 2441: } 2441: const int exponent_repr = exponent + EXPONENT_BIAS; 2441: ((void) 0); 2441: msp |= static_cast(exponent_repr) << (MANTISSA_BITS - 32); 2441: } 2441: 2441: inline int 2441: float_ibm_single::inf_sign() const { 2441: if (word == NEG_INF) { 2441: return -1; 2441: } 2441: if (word == POS_INF) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline bool 2441: float_ibm_single::is_nan() const { 2441: return (word & ~SGN_MASK) > POS_INF; 2441: } 2441: 2441: inline int 2441: float_ibm_single::zero_sign() const { 2441: if (word == NEG_ZERO) { 2441: return -1; 2441: } 2441: if (word == POS_ZERO) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline void 2441: float_ibm_single::negate() { 2441: word ^= SGN_MASK; 2441: } 2441: 2441: inline bool 2441: float_ibm_single::sign_bit() const { 2441: return (word & SGN_MASK) != 0; 2441: } 2441: 2441: inline void 2441: float_ibm_single::dec() { 2441: --word; 2441: } 2441: 2441: inline void 2441: float_ibm_single::inc() { 2441: ++word; 2441: } 2441: 2441: inline void 2441: float_ibm_single::set_max(bool negative) { 2441: word = WRD_MAX; 2441: if (negative) { 2441: word |= SGN_MASK; 2441: } 2441: } 2441: 2441: inline void 2441: float_ibm_single::build(bool negative, mpz_t mantissa, int exponent) { 2441: word = static_cast( 2441: # 321 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_get_ui 2441: # 321 "../../src/Float_inlines.hh" 2441: (mantissa) 2441: & ((1UL << MANTISSA_BITS) - 1)); 2441: if (negative) { 2441: word |= SGN_MASK; 2441: } 2441: const int exponent_repr = exponent + EXPONENT_BIAS; 2441: ((void) 0); 2441: word |= static_cast(exponent_repr) << MANTISSA_BITS; 2441: } 2441: 2441: inline int 2441: float_intel_double_extended::inf_sign() const { 2441: if (lsp != LSP_INF) { 2441: return 0; 2441: } 2441: const uint32_t a = msp & MSP_NEG_INF; 2441: if (a == MSP_NEG_INF) { 2441: return -1; 2441: } 2441: if (a == MSP_POS_INF) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline bool 2441: float_intel_double_extended::is_nan() const { 2441: return (msp & MSP_POS_INF) == MSP_POS_INF 2441: && lsp != LSP_INF; 2441: } 2441: 2441: inline int 2441: float_intel_double_extended::zero_sign() const { 2441: if (lsp != LSP_ZERO) { 2441: return 0; 2441: } 2441: const uint32_t a = msp & MSP_NEG_INF; 2441: if (a == MSP_NEG_ZERO) { 2441: return -1; 2441: } 2441: if (a == MSP_POS_ZERO) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline void 2441: float_intel_double_extended::negate() { 2441: msp ^= MSP_SGN_MASK; 2441: } 2441: 2441: inline bool 2441: float_intel_double_extended::sign_bit() const { 2441: return (msp & MSP_SGN_MASK) != 0; 2441: } 2441: 2441: inline void 2441: float_intel_double_extended::dec() { 2441: if ((lsp & LSP_DMAX) == 0) { 2441: --msp; 2441: lsp = ((msp & MSP_NEG_INF) == 0) ? LSP_DMAX : LSP_NMAX; 2441: } 2441: else { 2441: --lsp; 2441: } 2441: } 2441: 2441: inline void 2441: float_intel_double_extended::inc() { 2441: if ((lsp & LSP_DMAX) == LSP_DMAX) { 2441: ++msp; 2441: lsp = LSP_DMAX + 1; 2441: } 2441: else { 2441: ++lsp; 2441: } 2441: } 2441: 2441: inline void 2441: float_intel_double_extended::set_max(bool negative) { 2441: msp = MSP_MAX; 2441: lsp = LSP_NMAX; 2441: if (negative) { 2441: msp |= MSP_SGN_MASK; 2441: } 2441: } 2441: 2441: inline void 2441: float_intel_double_extended::build(bool negative, 2441: mpz_t mantissa, int exponent) { 2441: 2441: 2441: # 412 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_export 2441: # 412 "../../src/Float_inlines.hh" 2441: (&lsp, 0, -1, sizeof(lsp), 0, 0, mantissa); 2441: 2441: 2441: 2441: msp = (negative ? MSP_SGN_MASK : 0); 2441: const int exponent_repr = exponent + EXPONENT_BIAS; 2441: ((void) 0); 2441: msp |= static_cast(exponent_repr); 2441: } 2441: 2441: inline int 2441: float_ieee754_quad::inf_sign() const { 2441: if (lsp != LSP_INF) { 2441: return 0; 2441: } 2441: if (msp == MSP_NEG_INF) { 2441: return -1; 2441: } 2441: if (msp == MSP_POS_INF) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline bool 2441: float_ieee754_quad::is_nan() const { 2441: return (msp & ~MSP_SGN_MASK) == MSP_POS_INF 2441: && lsp != LSP_INF; 2441: } 2441: 2441: inline int 2441: float_ieee754_quad::zero_sign() const { 2441: if (lsp != LSP_ZERO) { 2441: return 0; 2441: } 2441: if (msp == MSP_NEG_ZERO) { 2441: return -1; 2441: } 2441: if (msp == MSP_POS_ZERO) { 2441: return 1; 2441: } 2441: return 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_quad::negate() { 2441: msp ^= MSP_SGN_MASK; 2441: } 2441: 2441: inline bool 2441: float_ieee754_quad::sign_bit() const { 2441: return (msp & MSP_SGN_MASK) != 0; 2441: } 2441: 2441: inline void 2441: float_ieee754_quad::dec() { 2441: if (lsp == 0) { 2441: --msp; 2441: lsp = LSP_MAX; 2441: } 2441: else { 2441: --lsp; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_quad::inc() { 2441: if (lsp == LSP_MAX) { 2441: ++msp; 2441: lsp = 0; 2441: } 2441: else { 2441: ++lsp; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_quad::set_max(bool negative) { 2441: msp = MSP_MAX; 2441: lsp = LSP_MAX; 2441: if (negative) { 2441: msp |= MSP_SGN_MASK; 2441: } 2441: } 2441: 2441: inline void 2441: float_ieee754_quad::build(bool negative, mpz_t mantissa, int exponent) { 2441: uint64_t parts[2]; 2441: 2441: # 500 "../../src/Float_inlines.hh" 3 4 2441: __gmpz_export 2441: # 500 "../../src/Float_inlines.hh" 2441: (parts, 0, -1, sizeof(parts[0]), 0, 0, mantissa); 2441: lsp = parts[0]; 2441: msp = parts[1]; 2441: msp &= ((static_cast(1) << (MANTISSA_BITS - 64)) - 1); 2441: if (negative) { 2441: msp |= MSP_SGN_MASK; 2441: } 2441: const int exponent_repr = exponent + EXPONENT_BIAS; 2441: ((void) 0); 2441: msp |= static_cast(exponent_repr) << (MANTISSA_BITS - 64); 2441: } 2441: 2441: inline bool 2441: is_less_precise_than(Floating_Point_Format f1, Floating_Point_Format f2) { 2441: return f1 < f2; 2441: } 2441: 2441: inline unsigned int 2441: msb_position(unsigned long long v) { 2441: return static_cast(((sizeof(v)) * static_cast(8))) - 1U - clz(v); 2441: } 2441: 2441: template 2441: inline void 2441: affine_form_image(std::map >& lf_store, 2441: const Variable var, 2441: const Linear_Form& lf) { 2441: 2441: lf_store[var.id()] = lf; 2441: 2441: discard_occurrences(lf_store, var); 2441: } 2441: 2441: 2441: inline 2441: Float::Float() { 2441: } 2441: 2441: inline 2441: Float::Float(float v) { 2441: u.number = v; 2441: } 2441: 2441: inline float 2441: Float::value() { 2441: return u.number; 2441: } 2441: 2441: 2441: 2441: inline 2441: Float::Float() { 2441: } 2441: 2441: inline 2441: Float::Float(double v) { 2441: u.number = v; 2441: } 2441: 2441: inline double 2441: Float::value() { 2441: return u.number; 2441: } 2441: 2441: 2441: 2441: inline 2441: Float::Float() { 2441: } 2441: 2441: inline 2441: Float::Float(long double v) { 2441: u.number = v; 2441: } 2441: 2441: inline long double 2441: Float::value() { 2441: return u.number; 2441: } 2441: 2441: 2441: } 2441: # 520 "../../src/Float_defs.hh" 2 2441: # 1 "../../src/Float_templates.hh" 1 2441: # 30 "../../src/Float_templates.hh" 2441: # 1 "/usr/include/c++/8/cmath" 1 3 2441: # 39 "/usr/include/c++/8/cmath" 3 2441: 2441: # 40 "/usr/include/c++/8/cmath" 3 2441: # 31 "../../src/Float_templates.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: const FP_Interval_Type& compute_absolute_error( 2441: const Floating_Point_Format analyzed_format) { 2441: typedef typename FP_Interval_Type::boundary_type analyzer_format; 2441: 2441: 2441: static const FP_Interval_Type ZERO_INTERVAL = FP_Interval_Type(0); 2441: 2441: static FP_Interval_Type ieee754_half_result = ZERO_INTERVAL; 2441: static FP_Interval_Type ieee754_single_result = ZERO_INTERVAL; 2441: static FP_Interval_Type ieee754_double_result = ZERO_INTERVAL; 2441: static FP_Interval_Type ibm_single_result = ZERO_INTERVAL; 2441: static FP_Interval_Type ieee754_quad_result = ZERO_INTERVAL; 2441: static FP_Interval_Type intel_double_extended_result = ZERO_INTERVAL; 2441: 2441: FP_Interval_Type* to_compute = 2441: # 49 "../../src/Float_templates.hh" 3 4 2441: __null 2441: # 49 "../../src/Float_templates.hh" 2441: ; 2441: 2441: unsigned int f_base; 2441: int f_exponent_bias; 2441: unsigned int f_mantissa_bits; 2441: switch (analyzed_format) { 2441: case IEEE754_HALF: 2441: if (ieee754_half_result != ZERO_INTERVAL) { 2441: return ieee754_half_result; 2441: } 2441: to_compute = &ieee754_half_result; 2441: f_base = float_ieee754_half::BASE; 2441: f_exponent_bias = float_ieee754_half::EXPONENT_BIAS; 2441: f_mantissa_bits = float_ieee754_half::MANTISSA_BITS; 2441: break; 2441: case IEEE754_SINGLE: 2441: if (ieee754_single_result != ZERO_INTERVAL) { 2441: return ieee754_single_result; 2441: } 2441: 2441: to_compute = &ieee754_single_result; 2441: f_base = float_ieee754_single::BASE; 2441: f_exponent_bias = float_ieee754_single::EXPONENT_BIAS; 2441: f_mantissa_bits = float_ieee754_single::MANTISSA_BITS; 2441: break; 2441: case IEEE754_DOUBLE: 2441: if (ieee754_double_result != ZERO_INTERVAL) { 2441: return ieee754_double_result; 2441: } 2441: 2441: to_compute = &ieee754_double_result; 2441: f_base = float_ieee754_double::BASE; 2441: f_exponent_bias = float_ieee754_double::EXPONENT_BIAS; 2441: f_mantissa_bits = float_ieee754_double::MANTISSA_BITS; 2441: break; 2441: case IBM_SINGLE: 2441: if (ibm_single_result != ZERO_INTERVAL) { 2441: return ibm_single_result; 2441: } 2441: 2441: to_compute = &ibm_single_result; 2441: f_base = float_ibm_single::BASE; 2441: f_exponent_bias = float_ibm_single::EXPONENT_BIAS; 2441: f_mantissa_bits = float_ibm_single::MANTISSA_BITS; 2441: break; 2441: case IEEE754_QUAD: 2441: if (ieee754_quad_result != ZERO_INTERVAL) { 2441: return ieee754_quad_result; 2441: } 2441: 2441: to_compute = &ieee754_quad_result; 2441: f_base = float_ieee754_quad::BASE; 2441: f_exponent_bias = float_ieee754_quad::EXPONENT_BIAS; 2441: f_mantissa_bits = float_ieee754_quad::MANTISSA_BITS; 2441: break; 2441: case INTEL_DOUBLE_EXTENDED: 2441: if (intel_double_extended_result != ZERO_INTERVAL) { 2441: return intel_double_extended_result; 2441: } 2441: 2441: to_compute = &intel_double_extended_result; 2441: f_base = float_intel_double_extended::BASE; 2441: f_exponent_bias = float_intel_double_extended::EXPONENT_BIAS; 2441: f_mantissa_bits = float_intel_double_extended::MANTISSA_BITS; 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: analyzer_format omega; 2441: int power = static_cast(msb_position(f_base)) 2441: * ((1 - f_exponent_bias) - static_cast(f_mantissa_bits)); 2441: omega = std::max(static_cast(ldexp(1.0, power)), 2441: std::numeric_limits::denorm_min()); 2441: 2441: to_compute->build(i_constraint(GREATER_OR_EQUAL, -omega), 2441: i_constraint(LESS_OR_EQUAL, omega)); 2441: return *to_compute; 2441: } 2441: 2441: template 2441: void 2441: discard_occurrences(std::map >& lf_store, 2441: Variable var) { 2441: typedef Linear_Form FP_Linear_Form; 2441: typedef typename std::map::iterator Iter; 2441: for (Iter i = lf_store.begin(); i != lf_store.end(); ) { 2441: if ((i->second).coefficient(var) != 0) { 2441: i = lf_store.erase(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: template 2441: void upper_bound_assign(std::map >& ls1, 2441: const std::map >& ls2) { 2441: typedef Linear_Form FP_Linear_Form; 2441: typedef typename std::map::iterator Iter; 2441: typedef typename std::map::const_iterator Const_Iter; 2441: 2441: Const_Iter i2_end = ls2.end(); 2441: for (Iter i1 = ls1.begin(), i1_end = ls1.end(); i1 != i1_end; ) { 2441: Const_Iter i2 = ls2.find(i1->first); 2441: if ((i2 == i2_end) || (i1->second != i2->second)) { 2441: i1 = ls1.erase(i1); 2441: } 2441: else { 2441: ++i1; 2441: } 2441: } 2441: } 2441: 2441: } 2441: # 521 "../../src/Float_defs.hh" 2 2441: # 32 "../../src/checked_defs.hh" 2 2441: # 1 "/usr/include/c++/8/cassert" 1 3 2441: # 41 "/usr/include/c++/8/cassert" 3 2441: 2441: # 42 "/usr/include/c++/8/cassert" 3 2441: 2441: 2441: # 1 "/usr/include/assert.h" 1 3 4 2441: # 44 "/usr/include/c++/8/cassert" 2 3 2441: # 33 "../../src/checked_defs.hh" 2 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Checked { 2441: # 471 "../../src/checked_defs.hh" 2441: template struct copy_function_struct; template inline void copy( Type1& arg1, const Type2& arg2) { return copy_function_struct::function(arg1, arg2); } 2441: 2441: template struct sgn_function_struct; template inline Result_Relation sgn(const From& arg) { return sgn_function_struct::function(arg); } 2441: 2441: template struct cmp_function_struct; template inline Result_Relation cmp(const Type1& arg1, const Type2& arg2) { return cmp_function_struct::function(arg1, arg2); } 2441: 2441: template struct classify_function_struct; template inline Result classify(const Type& arg, bool a1, bool a2, bool a3) { return classify_function_struct::function(arg, a1, a2, a3); } 2441: 2441: template struct is_nan_function_struct; template inline bool is_nan(const Type& arg) { return is_nan_function_struct::function(arg); } 2441: 2441: template struct is_minf_function_struct; template inline bool is_minf(const Type& arg) { return is_minf_function_struct::function(arg); } 2441: 2441: template struct is_pinf_function_struct; template inline bool is_pinf(const Type& arg) { return is_pinf_function_struct::function(arg); } 2441: 2441: template struct is_int_function_struct; template inline bool is_int(const Type& arg) { return is_int_function_struct::function(arg); } 2441: 2441: template struct assign_special_function_struct; template inline Result assign_special( Type& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_function_struct::function(arg, a1, a2); } 2441: 2441: template struct construct_special_function_struct; template inline Result construct_special( Type& arg, Result_Class a1, Rounding_Dir a2) { return construct_special_function_struct::function(arg, a1, a2); } 2441: 2441: template struct construct_function_struct; template inline Result construct( To& arg1, const From& arg2, Rounding_Dir a1) { return construct_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct assign_function_struct; template inline Result assign( To& arg1, const From& arg2, Rounding_Dir a1) { return assign_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct floor_function_struct; template inline Result floor( To& arg1, const From& arg2, Rounding_Dir a1) { return floor_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct ceil_function_struct; template inline Result ceil( To& arg1, const From& arg2, Rounding_Dir a1) { return ceil_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct trunc_function_struct; template inline Result trunc( To& arg1, const From& arg2, Rounding_Dir a1) { return trunc_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct neg_function_struct; template inline Result neg( To& arg1, const From& arg2, Rounding_Dir a1) { return neg_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct abs_function_struct; template inline Result abs( To& arg1, const From& arg2, Rounding_Dir a1) { return abs_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct sqrt_function_struct; template inline Result sqrt( To& arg1, const From& arg2, Rounding_Dir a1) { return sqrt_function_struct::function(arg1, arg2, a1); } 2441: 2441: template struct add_function_struct; template inline Result add( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return add_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct sub_function_struct; template inline Result sub( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return sub_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct mul_function_struct; template inline Result mul( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return mul_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct div_function_struct; template inline Result div( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return div_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct rem_function_struct; template inline Result rem( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return rem_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct idiv_function_struct; template inline Result idiv( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return idiv_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct add_2exp_function_struct; template inline Result add_2exp( To& arg1, const From& arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_function_struct::function(arg1, arg2, a1, a2); } 2441: 2441: 2441: template struct sub_2exp_function_struct; template inline Result sub_2exp( To& arg1, const From& arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_function_struct::function(arg1, arg2, a1, a2); } 2441: 2441: 2441: template struct mul_2exp_function_struct; template inline Result mul_2exp( To& arg1, const From& arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_function_struct::function(arg1, arg2, a1, a2); } 2441: 2441: 2441: template struct div_2exp_function_struct; template inline Result div_2exp( To& arg1, const From& arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_function_struct::function(arg1, arg2, a1, a2); } 2441: 2441: 2441: template struct smod_2exp_function_struct; template inline Result smod_2exp( To& arg1, const From& arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_function_struct::function(arg1, arg2, a1, a2); } 2441: 2441: 2441: template struct umod_2exp_function_struct; template inline Result umod_2exp( To& arg1, const From& arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_function_struct::function(arg1, arg2, a1, a2); } 2441: 2441: 2441: template struct add_mul_function_struct; template inline Result add_mul( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return add_mul_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct sub_mul_function_struct; template inline Result sub_mul( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return sub_mul_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct gcd_function_struct; template inline Result gcd( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return gcd_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct gcdext_function_struct; template inline Result gcdext( To1& arg1, To2& arg2, To3& arg3, const From1& arg4, const From2& arg5, Rounding_Dir a1) { return gcdext_function_struct ::function(arg1, arg2, arg3, arg4, arg5, a1); } 2441: 2441: 2441: template struct lcm_function_struct; template inline Result lcm( To& arg1, const From1& arg2, const From2& arg3, Rounding_Dir a1) { return lcm_function_struct ::function(arg1, arg2, arg3, a1); } 2441: 2441: 2441: template struct input_function_struct; template inline Result input( Type& arg, std::istream& a1, Rounding_Dir a2) { return input_function_struct::function(arg, a1, a2); } 2441: 2441: template struct output_function_struct; template inline Result output(std::ostream& b1, const Type& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_function_struct::function(b1, arg, a1, a2); } 2441: # 577 "../../src/checked_defs.hh" 2441: template 2441: Result round(To& to, Result r, Rounding_Dir dir); 2441: 2441: Result input_mpq(mpq_class& to, std::istream& is); 2441: 2441: std::string float_mpq_to_string(mpq_class& q); 2441: 2441: } 2441: 2441: struct Minus_Infinity { 2441: static const Result_Class vclass = VC_MINUS_INFINITY; 2441: }; 2441: struct Plus_Infinity { 2441: static const Result_Class vclass = VC_PLUS_INFINITY; 2441: }; 2441: struct Not_A_Number { 2441: static const Result_Class vclass = VC_NAN; 2441: }; 2441: 2441: template 2441: struct Is_Special : public False { }; 2441: 2441: template <> 2441: struct Is_Special : public True {}; 2441: 2441: template <> 2441: struct Is_Special : public True {}; 2441: 2441: template <> 2441: struct Is_Special : public True {}; 2441: 2441: extern Minus_Infinity MINUS_INFINITY; 2441: extern Plus_Infinity PLUS_INFINITY; 2441: extern Not_A_Number NOT_A_NUMBER; 2441: 2441: 2441: 2441: 2441: template 2441: struct Checked_Number_Transparent_Policy { 2441: 2441: enum const_bool_value_check_overflow { check_overflow = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_add_inf { check_inf_add_inf = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_sub_inf { check_inf_sub_inf = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_mul_zero { check_inf_mul_zero = (false) }; 2441: 2441: 2441: enum const_bool_value_check_div_zero { check_div_zero = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_div_inf { check_inf_div_inf = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_mod { check_inf_mod = (false) }; 2441: 2441: 2441: enum const_bool_value_check_sqrt_neg { check_sqrt_neg = (false) }; 2441: 2441: 2441: enum const_bool_value_has_nan { has_nan = (std::numeric_limits::has_quiet_NaN) }; 2441: 2441: 2441: enum const_bool_value_has_infinity { has_infinity = (std::numeric_limits::has_infinity) }; 2441: 2441: 2441: 2441: 2441: 2441: enum const_bool_value_convertible { convertible = (true) }; 2441: 2441: 2441: enum const_bool_value_fpu_check_inexact { fpu_check_inexact = (false) }; 2441: 2441: 2441: enum const_bool_value_fpu_check_nan_result { fpu_check_nan_result = (false) }; 2441: 2441: 2441: 2441: 2441: 2441: static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE; 2441: 2441: 2441: 2441: 2441: 2441: static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE; 2441: 2441: 2441: 2441: 2441: 2441: static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE; 2441: 2441: 2441: 2441: 2441: 2441: static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE; 2441: 2441: 2441: 2441: 2441: 2441: static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE; 2441: 2441: 2441: 2441: 2441: 2441: static void handle_result(Result r); 2441: }; 2441: 2441: } 2441: 2441: 2441: 2441: # 1 "../../src/checked_inlines.hh" 1 2441: # 41 "../../src/checked_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Checked { 2441: 2441: template 2441: struct Safe_Conversion : public False { 2441: }; 2441: template 2441: struct Safe_Conversion : public True { 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: # 174 "../../src/checked_inlines.hh" 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: template <> struct Safe_Conversion : public True { }; 2441: template <> struct Safe_Conversion : public True { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct construct_function_struct { 2441: static inline Result function(Type& to, const Type& from, Rounding_Dir) { 2441: new(&to) Type(from); 2441: return V_EQ; 2441: } 2441: }; 2441: 2441: template 2441: struct construct_function_struct { 2441: static inline Result function(To& to, const From& from, Rounding_Dir dir) { 2441: new(&to) To(); 2441: return assign(to, from, dir); 2441: } 2441: }; 2441: 2441: template 2441: struct construct_special_function_struct { 2441: static inline Result function(To& to, Result_Class r, Rounding_Dir dir) { 2441: new(&to) To(); 2441: return assign_special(to, r, dir); 2441: } 2441: }; 2441: 2441: template 2441: inline Result 2441: assign_exact(To& to, const From& from, Rounding_Dir) { 2441: to = from; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, void>::type 2441: copy_generic(Type& to, const Type& from) { 2441: to = from; 2441: } 2441: 2441: template 2441: inline Result 2441: abs_generic(To& to, const From& from, Rounding_Dir dir) { 2441: if (from < 0) { 2441: return neg(to, from, dir); 2441: } 2441: else { 2441: return assign(to, from, dir); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: gcd_exact_no_abs(To& to, const From& x, const From& y) { 2441: To w_x = x; 2441: To w_y = y; 2441: To remainder; 2441: while (w_y != 0) { 2441: 2441: 2441: 2441: rem(remainder, w_x, w_y, 2441: ROUND_NOT_NEEDED); 2441: w_x = w_y; 2441: w_y = remainder; 2441: } 2441: to = w_x; 2441: } 2441: 2441: template 2441: inline Result 2441: gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: gcd_exact_no_abs(to, x, y); 2441: return abs(to, to, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y, 2441: Rounding_Dir dir) { 2441: 2441: 2441: 2441: 2441: if (y == 0) { 2441: if (x == 0) { 2441: s = 0; 2441: t = 1; 2441: return V_EQ; 2441: } 2441: else { 2441: if (x < 0) { 2441: s = -1; 2441: } 2441: else { 2441: s = 1; 2441: } 2441: t = 0; 2441: return abs(to, x, dir); 2441: } 2441: } 2441: 2441: s = 1; 2441: t = 0; 2441: bool negative_x = x < 0; 2441: bool negative_y = y < 0; 2441: 2441: Result r; 2441: r = abs(to, x, dir); 2441: if (r != V_EQ) { 2441: return r; 2441: } 2441: 2441: From2 a_y; 2441: r = abs(a_y, y, dir); 2441: if (r != V_EQ) { 2441: return r; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (to == a_y) { 2441: goto sign_check; 2441: } 2441: 2441: 2441: { 2441: To2 v1 = 0; 2441: To3 v2 = 1; 2441: To1 v3 = static_cast(a_y); 2441: while (true) { 2441: To1 q = to / v3; 2441: 2441: To1 t3 = to - q*v3; 2441: To2 t1 = s - static_cast(q)*v1; 2441: To3 t2 = t - static_cast(q)*v2; 2441: s = v1; 2441: t = v2; 2441: to = v3; 2441: if (t3 == 0) { 2441: break; 2441: } 2441: v1 = t1; 2441: v2 = t2; 2441: v3 = t3; 2441: } 2441: } 2441: 2441: 2441: sign_check: 2441: 2441: if (negative_x) { 2441: r = neg(s, s, dir); 2441: if (r != V_EQ) { 2441: return r; 2441: } 2441: } 2441: if (negative_y) { 2441: return neg(t, t, dir); 2441: } 2441: return V_EQ; 2441: 2441: } 2441: 2441: template 2441: inline Result 2441: lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (x == 0 || y == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: To a_x; 2441: To a_y; 2441: Result r; 2441: r = abs(a_x, x, dir); 2441: if (r != V_EQ) { 2441: return r; 2441: } 2441: r = abs(a_y, y, dir); 2441: if (r != V_EQ) { 2441: return r; 2441: } 2441: To gcd; 2441: gcd_exact_no_abs(gcd, a_x, a_y); 2441: 2441: 2441: 2441: div(to, a_x, gcd, ROUND_NOT_NEEDED); 2441: return mul(to, to, a_y, dir); 2441: } 2441: 2441: template 2441: inline Result_Relation 2441: sgn_generic(const Type& x) { 2441: if (x > 0) { 2441: return VR_GT; 2441: } 2441: if (x == 0) { 2441: return VR_EQ; 2441: } 2441: return VR_LT; 2441: } 2441: 2441: template 2441: struct Safe_Int_Comparison : public False { 2441: }; 2441: 2441: template 2441: struct Safe_Int_Comparison::value && C_Integer::value)>::type> 2441: : public Bool<(C_Integer::is_signed 2441: ? (C_Integer::is_signed 2441: || sizeof(T2) < sizeof(T1) 2441: || sizeof(T2) < sizeof(int)) 2441: : (!C_Integer::is_signed 2441: || sizeof(T1) < sizeof(T2) 2441: || sizeof(T1) < sizeof(int)))> { 2441: }; 2441: 2441: 2441: template 2441: inline typename Enable_If<(Safe_Int_Comparison::value 2441: || Safe_Conversion::value 2441: || Safe_Conversion::value), bool>::type 2441: lt(const T1& x, const T2& y) { 2441: return x < y; 2441: } 2441: template 2441: inline typename Enable_If<(Safe_Int_Comparison::value 2441: || Safe_Conversion::value 2441: || Safe_Conversion::value), bool>::type 2441: le(const T1& x, const T2& y) { 2441: return x <= y; 2441: } 2441: template 2441: inline typename Enable_If<(Safe_Int_Comparison::value 2441: || Safe_Conversion::value 2441: || Safe_Conversion::value), bool>::type 2441: eq(const T1& x, const T2& y) { 2441: return x == y; 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Int_Comparison::value 2441: && C_Integer::value 2441: && C_Integer::is_signed), bool>::type 2441: lt(const S& x, const U& y) { 2441: return x < 0 || static_cast::other_type>(x) < y; 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Int_Comparison::value 2441: && C_Integer::value 2441: && C_Integer::is_signed), bool>::type 2441: lt(const U& x, const S& y) { 2441: return y >= 0 && x < static_cast::other_type>(y); 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Int_Comparison::value 2441: && C_Integer::value 2441: && C_Integer::is_signed), bool>::type 2441: le(const S& x, const U& y) { 2441: return x < 0 || static_cast::other_type>(x) <= y; 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Int_Comparison::value 2441: && C_Integer::value 2441: && C_Integer::is_signed), bool>::type 2441: le(const U& x, const S& y) { 2441: return y >= 0 && x <= static_cast::other_type>(y); 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Int_Comparison::value 2441: && C_Integer::value 2441: && C_Integer::is_signed), bool>::type 2441: eq(const S& x, const U& y) { 2441: return x >= 0 && static_cast::other_type>(x) == y; 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Int_Comparison::value 2441: && C_Integer::value 2441: && C_Integer::is_signed), bool>::type 2441: eq(const U& x, const S& y) { 2441: return y >= 0 && x == static_cast::other_type>(y); 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Conversion::value 2441: && !Safe_Conversion::value 2441: && (!C_Integer::value || !C_Integer::value)), bool>::type 2441: eq(const T1& x, const T2& y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; T1& tmp = holder_tmp.item(); 2441: Result r = assign_r(tmp, y, ROUND_CHECK); 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: return r == V_EQ && x == tmp; 2441: } 2441: 2441: template 2441: inline typename Enable_If<(!Safe_Conversion::value 2441: && !Safe_Conversion::value 2441: && (!C_Integer::value || !C_Integer::value)), bool>::type 2441: lt(const T1& x, const T2& y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; T1& tmp = holder_tmp.item(); 2441: Result r = assign_r(tmp, y, ROUND_UP); 2441: if (!result_representable(r)) { 2441: return true; 2441: } 2441: switch (result_relation(r)) { 2441: case VR_EQ: 2441: case VR_LT: 2441: case VR_LE: 2441: return x < tmp; 2441: default: 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: inline typename 2441: Enable_If<(!Safe_Conversion::value 2441: && !Safe_Conversion::value 2441: && (!C_Integer::value || !C_Integer::value)), bool>::type 2441: le(const T1& x, const T2& y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; T1& tmp = holder_tmp.item(); 2441: Result r = assign_r(tmp, y, (ROUND_UP | ROUND_STRICT_RELATION)); 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: if (!result_representable(r)) { 2441: return true; 2441: } 2441: switch (result_relation(r)) { 2441: case VR_EQ: 2441: return x <= tmp; 2441: case VR_LT: 2441: return x < tmp; 2441: case VR_LE: 2441: case VR_GE: 2441: case VR_LGE: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: default: 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: lt_p(const Type1& x, const Type2& y) { 2441: return lt(x, y); 2441: } 2441: 2441: template 2441: inline bool 2441: le_p(const Type1& x, const Type2& y) { 2441: return le(x, y); 2441: } 2441: 2441: template 2441: inline bool 2441: eq_p(const Type1& x, const Type2& y) { 2441: return eq(x, y); 2441: } 2441: 2441: template 2441: inline Result_Relation 2441: cmp_generic(const Type1& x, const Type2& y) { 2441: if (lt(y, x)) { 2441: return VR_GT; 2441: } 2441: if (lt(x, y)) { 2441: return VR_LT; 2441: } 2441: return VR_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_nan(Type& to, Result r) { 2441: assign_special(to, VC_NAN, ROUND_IGNORE); 2441: return r; 2441: } 2441: 2441: template 2441: inline Result 2441: input_generic(Type& to, std::istream& is, Rounding_Dir dir) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: Result r = input_mpq(q, is); 2441: Result_Class c = result_class(r); 2441: switch (c) { 2441: case VC_MINUS_INFINITY: 2441: case VC_PLUS_INFINITY: 2441: return assign_special(to, c, dir); 2441: case VC_NAN: 2441: return assign_nan(to, r); 2441: default: 2441: break; 2441: } 2441: ((void) 0); 2441: return assign(to, q, dir); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 701 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/checked_int_inlines.hh" 1 2441: # 28 "../../src/checked_int_inlines.hh" 2441: # 1 "/usr/include/c++/8/cerrno" 1 3 2441: # 39 "/usr/include/c++/8/cerrno" 3 2441: 2441: # 40 "/usr/include/c++/8/cerrno" 3 2441: # 29 "../../src/checked_int_inlines.hh" 2 2441: # 1 "/usr/include/c++/8/cstdlib" 1 3 2441: # 39 "/usr/include/c++/8/cstdlib" 3 2441: 2441: # 40 "/usr/include/c++/8/cstdlib" 3 2441: # 30 "../../src/checked_int_inlines.hh" 2 2441: # 1 "/usr/include/c++/8/climits" 1 3 2441: # 39 "/usr/include/c++/8/climits" 3 2441: 2441: # 40 "/usr/include/c++/8/climits" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 43 "/usr/include/c++/8/climits" 2 3 2441: # 31 "../../src/checked_int_inlines.hh" 2 2441: # 43 "../../src/checked_int_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Checked { 2441: # 71 "../../src/checked_int_inlines.hh" 2441: template 2441: struct Extended_Int { 2441: static const Type plus_infinity = C_Integer::max; 2441: static const Type minus_infinity = ((C_Integer::min >= 0) 2441: ? (C_Integer::max - 1) 2441: : C_Integer::min); 2441: static const Type not_a_number 2441: = ((C_Integer::min >= 0) 2441: ? (C_Integer::max - 2 * (Policy::has_infinity ? 1 : 0)) 2441: : (C_Integer::min + (Policy::has_infinity ? 1 : 0))); 2441: static const Type min 2441: = (C_Integer::min 2441: + ((C_Integer::min >= 0) 2441: ? 0 2441: : ((Policy::has_infinity ? 1 : 0) + (Policy::has_nan ? 1 : 0)))); 2441: static const Type max 2441: = (C_Integer::max 2441: - ((C_Integer::min >= 0) 2441: ? (2 * (Policy::has_infinity ? 1 : 0) + (Policy::has_nan ? 1 : 0)) 2441: : (Policy::has_infinity ? 1 : 0))); 2441: }; 2441: 2441: template 2441: inline Result 2441: set_neg_overflow_int(To& to, Rounding_Dir dir) { 2441: if (round_up(dir)) { 2441: to = Extended_Int::min; 2441: return V_LT_INF; 2441: } 2441: else { 2441: if (Policy::has_infinity) { 2441: to = Extended_Int::minus_infinity; 2441: return V_GT_MINUS_INFINITY; 2441: } 2441: return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: set_pos_overflow_int(To& to, Rounding_Dir dir) { 2441: if (round_down(dir)) { 2441: to = Extended_Int::max; 2441: return V_GT_SUP; 2441: } 2441: else { 2441: if (Policy::has_infinity) { 2441: to = Extended_Int::plus_infinity; 2441: return V_LT_PLUS_INFINITY; 2441: } 2441: return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: round_lt_int_no_overflow(To& to, Rounding_Dir dir) { 2441: if (round_down(dir)) { 2441: --to; 2441: return V_GT; 2441: } 2441: return V_LT; 2441: } 2441: 2441: template 2441: inline Result 2441: round_gt_int_no_overflow(To& to, Rounding_Dir dir) { 2441: if (round_up(dir)) { 2441: ++to; 2441: return V_LT; 2441: } 2441: return V_GT; 2441: } 2441: 2441: template 2441: inline Result 2441: round_lt_int(To& to, Rounding_Dir dir) { 2441: if (round_down(dir)) { 2441: if (to == Extended_Int::min) { 2441: if (Policy::has_infinity) { 2441: to = Extended_Int::minus_infinity; 2441: return V_GT_MINUS_INFINITY; 2441: } 2441: return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE; 2441: } 2441: else { 2441: --to; 2441: return V_GT; 2441: } 2441: } 2441: return V_LT; 2441: } 2441: 2441: template 2441: inline Result 2441: round_gt_int(To& to, Rounding_Dir dir) { 2441: if (round_up(dir)) { 2441: if (to == Extended_Int::max) { 2441: if (Policy::has_infinity) { 2441: to = Extended_Int::plus_infinity; 2441: return V_LT_PLUS_INFINITY; 2441: } 2441: return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE; 2441: } 2441: else { 2441: ++to; 2441: return V_LT; 2441: } 2441: } 2441: return V_GT; 2441: } 2441: 2441: template struct copy_function_struct { static inline void function( char& arg1, const char &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( signed char& arg1, const signed char &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( signed short& arg1, const signed short &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( signed int& arg1, const signed int &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( signed long& arg1, const signed long &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( signed long long& arg1, const signed long long &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( unsigned char& arg1, const unsigned char &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( unsigned short& arg1, const unsigned short &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( unsigned int& arg1, const unsigned int &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( unsigned long& arg1, const unsigned long &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct copy_function_struct { static inline void function( unsigned long long& arg1, const unsigned long long &arg2) { return copy_generic(arg1, arg2); } }; 2441: 2441: template 2441: inline Result 2441: classify_int(const Type v, bool nan, bool inf, bool sign) { 2441: if (Policy::has_nan 2441: && (nan || sign) 2441: && v == Extended_Int::not_a_number) { 2441: return V_NAN; 2441: } 2441: if (!inf && !sign) { 2441: return V_LGE; 2441: } 2441: if (Policy::has_infinity) { 2441: if (v == Extended_Int::minus_infinity) { 2441: return inf ? V_EQ_MINUS_INFINITY : V_LT; 2441: } 2441: if (v == Extended_Int::plus_infinity) { 2441: return inf ? V_EQ_PLUS_INFINITY : V_GT; 2441: } 2441: } 2441: if (sign) { 2441: if (v < 0) { 2441: return V_LT; 2441: } 2441: if (v > 0) { 2441: return V_GT; 2441: } 2441: return V_EQ; 2441: } 2441: return V_LGE; 2441: } 2441: 2441: template struct classify_function_struct { static inline Result function(const char& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const signed char& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const signed short& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const signed int& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const signed long& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const signed long long& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const unsigned char& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const unsigned short& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const unsigned int& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const unsigned long& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: template struct classify_function_struct { static inline Result function(const unsigned long long& arg, bool a1, bool a2, bool a3) { return classify_int(arg, a1, a2, a3); } }; 2441: 2441: template 2441: inline bool 2441: is_nan_int(const Type v) { 2441: return Policy::has_nan && v == Extended_Int::not_a_number; 2441: } 2441: 2441: template struct is_nan_function_struct { static inline bool function(const char& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const signed char& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const signed short& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const signed int& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const signed long& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const signed long long& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const unsigned char& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const unsigned short& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const unsigned int& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const unsigned long& arg) { return is_nan_int(arg); } }; 2441: template struct is_nan_function_struct { static inline bool function(const unsigned long long& arg) { return is_nan_int(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_minf_int(const Type v) { 2441: return Policy::has_infinity 2441: && v == Extended_Int::minus_infinity; 2441: } 2441: 2441: template struct is_minf_function_struct { static inline bool function(const char& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const signed char& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const signed short& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const signed int& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const signed long& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const signed long long& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const unsigned char& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const unsigned short& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const unsigned int& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const unsigned long& arg) { return is_minf_int(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const unsigned long long& arg) { return is_minf_int(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_pinf_int(const Type v) { 2441: return Policy::has_infinity 2441: && v == Extended_Int::plus_infinity; 2441: } 2441: 2441: template struct is_pinf_function_struct { static inline bool function(const char& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const signed char& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const signed short& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const signed int& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const signed long& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const signed long long& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const unsigned char& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const unsigned short& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const unsigned int& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const unsigned long& arg) { return is_pinf_int(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const unsigned long long& arg) { return is_pinf_int(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_int_int(const Type v) { 2441: return !is_nan(v); 2441: } 2441: 2441: template struct is_int_function_struct { static inline bool function(const char& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const signed char& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const signed short& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const signed int& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const signed long& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const signed long long& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const unsigned char& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const unsigned short& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const unsigned int& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const unsigned long& arg) { return is_int_int(arg); } }; 2441: template struct is_int_function_struct { static inline bool function(const unsigned long long& arg) { return is_int_int(arg); } }; 2441: 2441: template 2441: inline Result 2441: assign_special_int(Type& v, Result_Class c, Rounding_Dir dir) { 2441: ((void) 0); 2441: switch (c) { 2441: case VC_NAN: 2441: if (Policy::has_nan) { 2441: v = Extended_Int::not_a_number; 2441: return V_NAN; 2441: } 2441: return V_NAN | V_UNREPRESENTABLE; 2441: case VC_MINUS_INFINITY: 2441: if (Policy::has_infinity) { 2441: v = Extended_Int::minus_infinity; 2441: return V_EQ_MINUS_INFINITY; 2441: } 2441: if (round_up(dir)) { 2441: v = Extended_Int::min; 2441: return V_LT_INF; 2441: } 2441: return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE; 2441: case VC_PLUS_INFINITY: 2441: if (Policy::has_infinity) { 2441: v = Extended_Int::plus_infinity; 2441: return V_EQ_PLUS_INFINITY; 2441: } 2441: if (round_down(dir)) { 2441: v = Extended_Int::max; 2441: return V_GT_SUP; 2441: } 2441: return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN | V_UNREPRESENTABLE; 2441: } 2441: } 2441: 2441: template struct assign_special_function_struct { static inline Result function( char& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( signed char& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( signed short& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( signed int& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( signed long& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( signed long long& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( unsigned char& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( unsigned short& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( unsigned int& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( unsigned long& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: template struct assign_special_function_struct { static inline Result function( unsigned long long& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_int(arg, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: assign_signed_int_signed_int(To& to, const From from, Rounding_Dir dir) { 2441: if (sizeof(To) < sizeof(From) 2441: || (sizeof(To) == sizeof(From) 2441: && (Extended_Int::min > Extended_Int::min 2441: || Extended_Int::max < Extended_Int::max))) { 2441: if (((To_Policy::check_overflow) ? (((from) < (static_cast(Extended_Int::min)))) : ( 2441: # 368 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 368 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: 2441: ) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: if (((To_Policy::check_overflow) ? (((from) > (static_cast(Extended_Int::max)))) : ( 2441: # 373 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 373 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: 2441: ) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: to = static_cast(from); 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_signed_int_unsigned_int(To& to, const From from, Rounding_Dir dir) { 2441: if (sizeof(To) <= sizeof(From)) { 2441: if (((To_Policy::check_overflow) ? (from > static_cast(Extended_Int::max)) : ( 2441: # 387 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 387 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: ) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: to = static_cast(from); 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_unsigned_int_signed_int(To& to, const From from, Rounding_Dir dir) { 2441: if (((To_Policy::check_overflow) ? (from < 0) : ( 2441: # 399 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 399 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: if (sizeof(To) < sizeof(From)) { 2441: if (((To_Policy::check_overflow) ? (from > static_cast(Extended_Int::max)) : ( 2441: # 403 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 403 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: ) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: to = static_cast(from); 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) { 2441: if (sizeof(To) < sizeof(From) 2441: || (sizeof(To) == sizeof(From) 2441: && Extended_Int::max < Extended_Int::max)) { 2441: if (((To_Policy::check_overflow) ? (((from) > (static_cast(Extended_Int::max)))) : ( 2441: # 418 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 418 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: 2441: ) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: to = static_cast(from); 2441: return V_EQ; 2441: } 2441: # 451 "../../src/checked_int_inlines.hh" 2441: template struct assign_function_struct { static inline Result function( char& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( char& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed short& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( char& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed int& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( char& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( char& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed short& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed int& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed int& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned short& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned int& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned int& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed short& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed int& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed int& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( signed long long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned char& arg1, const char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( char& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned short& arg1, const char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( char& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned int& arg1, const char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( char& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( char& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned char& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned short& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned int& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned short& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned int& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned int& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_signed_int_unsigned_int(arg1, arg2, a1); } }; template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_int_float(To& to, const From from, Rounding_Dir dir) { 2441: if (is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(from)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(from)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: # 565 "../../src/checked_int_inlines.hh" 2441: if (((To_Policy::check_overflow) ? ((from < Extended_Int::min)) : ( 2441: # 565 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 565 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: ) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: if (((To_Policy::check_overflow) ? ((from > Extended_Int::max)) : ( 2441: # 569 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 569 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: ) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: 2441: if (round_not_requested(dir)) { 2441: to = from; 2441: return V_LGE; 2441: } 2441: From i_from = rint(from); 2441: to = i_from; 2441: if (from == i_from) { 2441: return V_EQ; 2441: } 2441: if (round_direct(ROUND_UP)) { 2441: return round_lt_int(to, dir); 2441: } 2441: if (round_direct(ROUND_DOWN)) { 2441: return round_gt_int(to, dir); 2441: } 2441: if (from < i_from) { 2441: return round_lt_int(to, dir); 2441: } 2441: ((void) 0); 2441: return round_gt_int(to, dir); 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( char& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long long& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const float &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( char& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long long& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( char& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long long& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const long double &arg2, Rounding_Dir a1) { return assign_int_float(arg1, arg2, a1); } }; 2441: # 639 "../../src/checked_int_inlines.hh" 2441: template 2441: inline Result 2441: assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) { 2441: if (sizeof(To) <= sizeof(signed long)) { 2441: if (!To_Policy::check_overflow) { 2441: to = from.get_si(); 2441: return V_EQ; 2441: } 2441: if (from.fits_slong_p()) { 2441: signed long v = from.get_si(); 2441: if (((v) < ((Extended_Int::min)))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: if (((v) > ((Extended_Int::max)))) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = v; 2441: return V_EQ; 2441: } 2441: } 2441: else { 2441: mpz_srcptr m = from.get_mpz_t(); 2441: size_t sz = 2441: # 661 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_size 2441: # 661 "../../src/checked_int_inlines.hh" 2441: (m); 2441: if (sz <= sizeof(To) / sizeof(mp_limb_t)) { 2441: if (sz == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: To v; 2441: 2441: # 668 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_export 2441: # 668 "../../src/checked_int_inlines.hh" 2441: (&v, 0, -1, sizeof(To), 0, 0, m); 2441: if (v >= 0) { 2441: if (::sgn(from) < 0) { 2441: return neg(to, v, dir); 2441: } 2441: to = v; 2441: return V_EQ; 2441: } 2441: } 2441: } 2441: return (::sgn(from) < 0) 2441: ? set_neg_overflow_int(to, dir) 2441: : set_pos_overflow_int(to, dir); 2441: } 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( char& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_signed_int_mpz(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_signed_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_signed_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_signed_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_signed_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long long& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_signed_int_mpz(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) { 2441: if (((To_Policy::check_overflow) ? (::sgn(from) < 0) : ( 2441: # 695 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 695 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: if (sizeof(To) <= sizeof(unsigned long)) { 2441: if (!To_Policy::check_overflow) { 2441: to = static_cast(from.get_ui()); 2441: return V_EQ; 2441: } 2441: if (from.fits_ulong_p()) { 2441: const unsigned long v = from.get_ui(); 2441: if (((v) > ((Extended_Int::max)))) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = static_cast(v); 2441: return V_EQ; 2441: } 2441: } 2441: else { 2441: const mpz_srcptr m = from.get_mpz_t(); 2441: const size_t sz = 2441: # 714 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_size 2441: # 714 "../../src/checked_int_inlines.hh" 2441: (m); 2441: if (sz <= sizeof(To) / sizeof(mp_limb_t)) { 2441: if (sz == 0) { 2441: to = 0; 2441: } 2441: else { 2441: 2441: # 720 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_export 2441: # 720 "../../src/checked_int_inlines.hh" 2441: (&to, 0, -1, sizeof(To), 0, 0, m); 2441: } 2441: return V_EQ; 2441: } 2441: } 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: 2441: 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_unsigned_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_unsigned_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_unsigned_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_unsigned_int_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_unsigned_int_mpz(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) { 2441: mpz_srcptr n = from.get_num().get_mpz_t(); 2441: mpz_srcptr d = from.get_den().get_mpz_t(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpz_class& q = holder_q.item(); 2441: mpz_ptr q_z = q.get_mpz_t(); 2441: if (round_not_requested(dir)) { 2441: 2441: # 745 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_tdiv_q 2441: # 745 "../../src/checked_int_inlines.hh" 2441: (q_z, n, d); 2441: Result r = assign(to, q, dir); 2441: if (r != V_EQ) { 2441: return r; 2441: } 2441: return V_LGE; 2441: } 2441: mpz_t rem; 2441: int sign; 2441: 2441: # 754 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_init 2441: # 754 "../../src/checked_int_inlines.hh" 2441: (rem); 2441: 2441: # 755 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_tdiv_qr 2441: # 755 "../../src/checked_int_inlines.hh" 2441: (q_z, rem, n, d); 2441: sign = 2441: # 756 "../../src/checked_int_inlines.hh" 3 4 2441: (( 2441: # 756 "../../src/checked_int_inlines.hh" 2441: rem 2441: # 756 "../../src/checked_int_inlines.hh" 3 4 2441: )->_mp_size < 0 ? -1 : ( 2441: # 756 "../../src/checked_int_inlines.hh" 2441: rem 2441: # 756 "../../src/checked_int_inlines.hh" 3 4 2441: )->_mp_size > 0) 2441: # 756 "../../src/checked_int_inlines.hh" 2441: ; 2441: 2441: # 757 "../../src/checked_int_inlines.hh" 3 4 2441: __gmpz_clear 2441: # 757 "../../src/checked_int_inlines.hh" 2441: (rem); 2441: Result r = assign(to, q, dir); 2441: if (r != V_EQ) { 2441: return r; 2441: } 2441: switch (sign) { 2441: case -1: 2441: return round_lt_int(to, dir); 2441: case 1: 2441: return round_gt_int(to, dir); 2441: default: 2441: return V_EQ; 2441: } 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( char& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed char& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed short& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed int& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( signed long long& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned char& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned short& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned int& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( unsigned long long& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_int_mpq(arg1, arg2, a1); } }; 2441: # 821 "../../src/checked_int_inlines.hh" 2441: template 2441: struct Larger; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (true) }; 2441: enum const_bool_value_use_for_add { use_for_add = (true) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (true) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (true) }; 2441: typedef int_fast16_t type_for_neg; 2441: typedef int_fast16_t type_for_add; 2441: typedef int_fast16_t type_for_sub; 2441: typedef int_fast16_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (true) }; 2441: enum const_bool_value_use_for_add { use_for_add = (true) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (true) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (true) }; 2441: typedef int_fast16_t type_for_neg; 2441: typedef int_fast16_t type_for_add; 2441: typedef int_fast16_t type_for_sub; 2441: typedef int_fast16_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (true) }; 2441: enum const_bool_value_use_for_add { use_for_add = (true) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (true) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (true) }; 2441: typedef int_fast16_t type_for_neg; 2441: typedef uint_fast16_t type_for_add; 2441: typedef int_fast16_t type_for_sub; 2441: typedef uint_fast16_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (true) }; 2441: enum const_bool_value_use_for_add { use_for_add = (true) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (true) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (true) }; 2441: typedef int_fast32_t type_for_neg; 2441: typedef int_fast32_t type_for_add; 2441: typedef int_fast32_t type_for_sub; 2441: typedef int_fast32_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (true) }; 2441: enum const_bool_value_use_for_add { use_for_add = (true) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (true) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (true) }; 2441: typedef int_fast32_t type_for_neg; 2441: typedef uint_fast32_t type_for_add; 2441: typedef int_fast32_t type_for_sub; 2441: typedef uint_fast32_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = ((32 == 64)) }; 2441: enum const_bool_value_use_for_add { use_for_add = ((32 == 64)) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = ((32 == 64)) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (true) }; 2441: typedef int_fast64_t type_for_neg; 2441: typedef int_fast64_t type_for_add; 2441: typedef int_fast64_t type_for_sub; 2441: typedef int_fast64_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = ((32 == 64)) }; 2441: enum const_bool_value_use_for_add { use_for_add = ((32 == 64)) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = ((32 == 64)) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (true) }; 2441: typedef int_fast64_t type_for_neg; 2441: typedef uint_fast64_t type_for_add; 2441: typedef int_fast64_t type_for_sub; 2441: typedef uint_fast64_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (false) }; 2441: enum const_bool_value_use_for_add { use_for_add = (false) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (false) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = ((32 == 32)) }; 2441: typedef int_fast64_t type_for_neg; 2441: typedef int_fast64_t type_for_add; 2441: typedef int_fast64_t type_for_sub; 2441: typedef int_fast64_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (false) }; 2441: enum const_bool_value_use_for_add { use_for_add = (false) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (false) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = ((32 == 32)) }; 2441: typedef int_fast64_t type_for_neg; 2441: typedef uint_fast64_t type_for_add; 2441: typedef int_fast64_t type_for_sub; 2441: typedef uint_fast64_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (false) }; 2441: enum const_bool_value_use_for_add { use_for_add = (false) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (false) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (false) }; 2441: typedef int_fast64_t type_for_neg; 2441: typedef int_fast64_t type_for_add; 2441: typedef int_fast64_t type_for_sub; 2441: typedef int_fast64_t type_for_mul; 2441: }; 2441: 2441: template <> 2441: struct Larger { 2441: enum const_bool_value_use_for_neg { use_for_neg = (false) }; 2441: enum const_bool_value_use_for_add { use_for_add = (false) }; 2441: enum const_bool_value_use_for_sub { use_for_sub = (false) }; 2441: enum const_bool_value_use_for_mul { use_for_mul = (false) }; 2441: typedef int_fast64_t type_for_neg; 2441: typedef uint_fast64_t type_for_add; 2441: typedef int_fast64_t type_for_sub; 2441: typedef uint_fast64_t type_for_mul; 2441: }; 2441: 2441: template 2441: inline Result 2441: neg_int_larger(Type& to, const Type x, Rounding_Dir dir) { 2441: typename Larger::type_for_neg l = x; 2441: l = -l; 2441: return assign(to, l, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: add_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: typename Larger::type_for_add l = x; 2441: l += y; 2441: return assign(to, l, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: sub_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: typename Larger::type_for_sub l = x; 2441: l -= y; 2441: return assign(to, l, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: mul_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: typename Larger::type_for_mul l = x; 2441: l *= y; 2441: return assign(to, l, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: neg_signed_int(Type& to, const Type from, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_neg) { 2441: return neg_int_larger(to, from, dir); 2441: } 2441: if (((To_Policy::check_overflow) ? ((from < -Extended_Int::max)) : ( 2441: # 1003 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1003 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: ) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = -from; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: neg_unsigned_int(Type& to, const Type from, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_neg) { 2441: return neg_int_larger(to, from, dir); 2441: } 2441: if (((To_Policy::check_overflow) ? (from != 0) : ( 2441: # 1017 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1017 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: to = from; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: add_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_add) { 2441: return add_int_larger(to, x, y, dir); 2441: } 2441: if (To_Policy::check_overflow) { 2441: if (y >= 0) { 2441: if (x > Extended_Int::max - y) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: else if (x < Extended_Int::min - y) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: } 2441: to = x + y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: add_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_add) { 2441: return add_int_larger(to, x, y, dir); 2441: } 2441: if (((To_Policy::check_overflow) ? ((x > Extended_Int::max - y)) : ( 2441: # 1052 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1052 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: ) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = x + y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: sub_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_sub) { 2441: return sub_int_larger(to, x, y, dir); 2441: } 2441: if (To_Policy::check_overflow) { 2441: if (y >= 0) { 2441: if (x < Extended_Int::min + y) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: } 2441: else if (x > Extended_Int::max + y) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: to = x - y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: sub_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_sub) { 2441: return sub_int_larger(to, x, y, dir); 2441: } 2441: if (((To_Policy::check_overflow) ? ((x < Extended_Int::min + y)) : ( 2441: # 1088 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1088 "../../src/checked_int_inlines.hh" 2441: , false)) 2441: ) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: to = x - y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: mul_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_mul) { 2441: return mul_int_larger(to, x, y, dir); 2441: } 2441: if (!To_Policy::check_overflow) { 2441: to = x * y; 2441: return V_EQ; 2441: } 2441: if (y == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: if (y == -1) { 2441: return neg_signed_int(to, x, dir); 2441: } 2441: if (x >= 0) { 2441: if (y > 0) { 2441: if (x > Extended_Int::max / y) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: else { 2441: if (x > Extended_Int::min / y) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: } 2441: } 2441: else { 2441: if (y < 0) { 2441: if (x < Extended_Int::max / y) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: } 2441: else { 2441: if (x < Extended_Int::min / y) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: } 2441: } 2441: to = x * y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_overflow && Larger::use_for_mul) { 2441: return mul_int_larger(to, x, y, dir); 2441: } 2441: if (!To_Policy::check_overflow) { 2441: to = x * y; 2441: return V_EQ; 2441: } 2441: if (y == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: if (x > Extended_Int::max / y) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = x * y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (((To_Policy::check_div_zero) ? (y == 0) : ( 2441: # 1168 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1168 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: if (To_Policy::check_overflow && y == -1) { 2441: return neg_signed_int(to, x, dir); 2441: } 2441: to = x / y; 2441: if (round_not_requested(dir)) { 2441: return V_LGE; 2441: } 2441: if (y == -1) { 2441: return V_EQ; 2441: } 2441: Type m = x % y; 2441: if (m < 0) { 2441: return round_lt_int_no_overflow(to, dir); 2441: } 2441: else if (m > 0) { 2441: return round_gt_int_no_overflow(to, dir); 2441: } 2441: else { 2441: return V_EQ; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (((To_Policy::check_div_zero) ? (y == 0) : ( 2441: # 1197 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1197 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: to = x / y; 2441: if (round_not_requested(dir)) { 2441: return V_GE; 2441: } 2441: Type m = x % y; 2441: if (m == 0) { 2441: return V_EQ; 2441: } 2441: return round_gt_int(to, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (((To_Policy::check_div_zero) ? (y == 0) : ( 2441: # 1215 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1215 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: if (To_Policy::check_overflow && y == -1) { 2441: return neg_signed_int(to, x, dir); 2441: } 2441: to = x / y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) { 2441: if (((To_Policy::check_div_zero) ? (y == 0) : ( 2441: # 1229 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1229 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: to = x / y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) { 2441: if (((To_Policy::check_div_zero) ? (y == 0) : ( 2441: # 1240 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1240 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_MOD_ZERO); 2441: } 2441: to = (y == -1) ? 0 : (x % y); 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: rem_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) { 2441: if (((To_Policy::check_div_zero) ? (y == 0) : ( 2441: # 1251 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1251 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_MOD_ZERO); 2441: } 2441: to = x % y; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: div_2exp_unsigned_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: to = 0; 2441: if (round_not_requested(dir)) { 2441: return V_GE; 2441: } 2441: if (x == 0) { 2441: return V_EQ; 2441: } 2441: return round_gt_int_no_overflow(to, dir); 2441: } 2441: to = x >> exp; 2441: if (round_not_requested(dir)) { 2441: return V_GE; 2441: } 2441: if (x & ((Type(1) << exp) - 1)) { 2441: return round_gt_int_no_overflow(to, dir); 2441: } 2441: else { 2441: return V_EQ; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: div_2exp_signed_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (x < 0) { 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: to = 0; 2441: if (round_not_requested(dir)) { 2441: return V_LE; 2441: } 2441: return round_lt_int_no_overflow(to, dir); 2441: } 2441: typedef typename C_Integer::other_type UType; 2441: UType ux = x; 2441: ux = -ux; 2441: to = ~Type(~-(ux >> exp)); 2441: if (round_not_requested(dir)) { 2441: return V_LE; 2441: } 2441: if (ux & ((UType(1) << exp) -1)) { 2441: return round_lt_int_no_overflow(to, dir); 2441: } 2441: return V_EQ; 2441: } 2441: else { 2441: if (exp >= ((sizeof(Type)) * static_cast(8)) - 1) { 2441: to = 0; 2441: if (round_not_requested(dir)) { 2441: return V_GE; 2441: } 2441: if (x == 0) { 2441: return V_EQ; 2441: } 2441: return round_gt_int_no_overflow(to, dir); 2441: } 2441: to = x >> exp; 2441: if (round_not_requested(dir)) { 2441: return V_GE; 2441: } 2441: if (x & ((Type(1) << exp) - 1)) { 2441: return round_gt_int_no_overflow(to, dir); 2441: } 2441: else { 2441: return V_EQ; 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: add_2exp_unsigned_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (!To_Policy::check_overflow) { 2441: to = x + (Type(1) << exp); 2441: return V_EQ; 2441: } 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: Type n = Type(1) << exp; 2441: return add_unsigned_int(to, x, n, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: add_2exp_signed_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (!To_Policy::check_overflow) { 2441: to = x + (Type(1) << exp); 2441: return V_EQ; 2441: } 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: if (exp == ((sizeof(Type)) * static_cast(8)) - 1) { 2441: Type n = -2 * (Type(1) << (exp - 1)); 2441: return sub_signed_int(to, x, n, dir); 2441: } 2441: else { 2441: Type n = Type(1) << exp; 2441: return add_signed_int(to, x, n, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: sub_2exp_unsigned_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (!To_Policy::check_overflow) { 2441: to = x - (Type(1) << exp); 2441: return V_EQ; 2441: } 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: Type n = Type(1) << exp; 2441: return sub_unsigned_int(to, x, n, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: sub_2exp_signed_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (!To_Policy::check_overflow) { 2441: to = x - (Type(1) << exp); 2441: return V_EQ; 2441: } 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: if (exp == ((sizeof(Type)) * static_cast(8)) - 1) { 2441: Type n = -2 * (Type(1) << (exp - 1)); 2441: return add_signed_int(to, x, n, dir); 2441: } 2441: else { 2441: Type n = Type(1) << exp; 2441: return sub_signed_int(to, x, n, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: mul_2exp_unsigned_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (!To_Policy::check_overflow) { 2441: to = x << exp; 2441: return V_EQ; 2441: } 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: if (x == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: if (x > Extended_Int::max >> exp) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = x << exp; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: mul_2exp_signed_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (x < 0) { 2441: if (!To_Policy::check_overflow) { 2441: to = x * (Type(1) << exp); 2441: return V_EQ; 2441: } 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: typedef typename C_Integer::other_type UType; 2441: UType mask = UType(-1) << (((sizeof(Type)) * static_cast(8)) - exp - 1); 2441: UType ux = x; 2441: if ((ux & mask) != mask) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: ux <<= exp; 2441: Type n = ~(Type(~ux)); 2441: if (((n) < ((Extended_Int::min)))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: to = n; 2441: } 2441: else { 2441: if (!To_Policy::check_overflow) { 2441: to = x << exp; 2441: return V_EQ; 2441: } 2441: if (exp >= ((sizeof(Type)) * static_cast(8)) - 1) { 2441: if (x == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: if (x > Extended_Int::max >> exp) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = x << exp; 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: smod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (exp > ((sizeof(Type)) * static_cast(8))) { 2441: to = x; 2441: } 2441: else { 2441: Type v = (exp == ((sizeof(Type)) * static_cast(8)) ? x : (x & ((Type(1) << exp) - 1))); 2441: if (v >= (Type(1) << (exp - 1))) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: else { 2441: to = v; 2441: } 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: smod_2exp_signed_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir) { 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: to = x; 2441: } 2441: else { 2441: Type m = Type(1) << (exp - 1); 2441: to = (x & (m - 1)) - (x & m); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: umod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir) { 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: to = x; 2441: } 2441: else { 2441: to = x & ((Type(1) << exp) - 1); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: umod_2exp_signed_int(Type& to, const Type x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: if (exp >= ((sizeof(Type)) * static_cast(8))) { 2441: if (x < 0) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: to = x; 2441: } 2441: else { 2441: to = x & ((Type(1) << exp) - 1); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline void 2441: isqrt_rem(Type& q, Type& r, const Type from) { 2441: q = 0; 2441: r = from; 2441: Type t(1); 2441: for (t <<= ((sizeof(Type)) * static_cast(8)) - 2; t != 0; t >>= 2) { 2441: Type s = q + t; 2441: if (s <= r) { 2441: r -= s; 2441: q = s + t; 2441: } 2441: q >>= 1; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) { 2441: Type rem; 2441: isqrt_rem(to, rem, from); 2441: if (round_not_requested(dir)) { 2441: return V_GE; 2441: } 2441: if (rem == 0) { 2441: return V_EQ; 2441: } 2441: return round_gt_int(to, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) { 2441: if (((To_Policy::check_sqrt_neg) ? (from < 0) : ( 2441: # 1566 "../../src/checked_int_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 1566 "../../src/checked_int_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_SQRT_NEG); 2441: } 2441: return sqrt_unsigned_int(to, from, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: Type z; 2441: Result r = mul(z, x, y, dir); 2441: switch (result_overflow(r)) { 2441: case 0: 2441: return add(to, to, z, dir); 2441: case -1: 2441: if (to <= 0) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: return assign_nan(to, V_UNKNOWN_NEG_OVERFLOW); 2441: case 1: 2441: if (to >= 0) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: return assign_nan(to, V_UNKNOWN_POS_OVERFLOW); 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: Type z; 2441: Result r = mul(z, x, y, dir); 2441: switch (result_overflow(r)) { 2441: case 0: 2441: return sub(to, to, z, dir); 2441: case -1: 2441: if (to >= 0) { 2441: return set_pos_overflow_int(to, dir); 2441: } 2441: return assign_nan(to, V_UNKNOWN_NEG_OVERFLOW); 2441: case 1: 2441: if (to <= 0) { 2441: return set_neg_overflow_int(to, dir); 2441: } 2441: return assign_nan(to, V_UNKNOWN_POS_OVERFLOW); 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: output_char(std::ostream& os, Type& from, 2441: const Numeric_Format&, Rounding_Dir) { 2441: os << int(from); 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) { 2441: os << from; 2441: return V_EQ; 2441: } 2441: 2441: 2441: template struct floor_function_struct { static inline Result function( char& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: template struct floor_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct floor_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct floor_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: 2441: template struct ceil_function_struct { static inline Result function( char& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: template struct ceil_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct ceil_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: 2441: template struct trunc_function_struct { static inline Result function( char& arg1, const char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: template struct trunc_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_signed_int_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct trunc_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: 2441: template struct neg_function_struct { static inline Result function( char& arg1, const char &arg2, Rounding_Dir a1) { return neg_signed_int(arg1, arg2, a1); } }; 2441: 2441: template struct neg_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, Rounding_Dir a1) { return neg_signed_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, Rounding_Dir a1) { return neg_signed_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, Rounding_Dir a1) { return neg_signed_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, Rounding_Dir a1) { return neg_signed_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return neg_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct neg_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return neg_unsigned_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return neg_unsigned_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return neg_unsigned_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return neg_unsigned_int(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return neg_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: 2441: template struct add_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return add_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct add_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return add_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return add_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return add_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return add_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return add_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: 2441: template struct add_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return add_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return add_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return add_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return add_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return add_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: template struct sub_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return sub_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct sub_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return sub_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return sub_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return sub_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return sub_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return sub_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: 2441: template struct sub_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return sub_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return sub_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return sub_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return sub_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return sub_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: template struct mul_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return mul_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct mul_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return mul_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return mul_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return mul_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return mul_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return mul_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: 2441: template struct mul_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return mul_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return mul_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return mul_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return mul_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return mul_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: template struct div_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return div_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct div_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return div_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return div_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return div_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return div_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return div_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: 2441: template struct div_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return div_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return div_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return div_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return div_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return div_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: template struct idiv_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return idiv_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct idiv_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return idiv_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return idiv_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return idiv_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return idiv_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return idiv_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: 2441: template struct idiv_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return idiv_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return idiv_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return idiv_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return idiv_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct idiv_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return idiv_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: template struct rem_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return rem_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct rem_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return rem_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return rem_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return rem_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return rem_signed_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return rem_signed_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: 2441: template struct rem_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return rem_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return rem_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return rem_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return rem_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return rem_unsigned_int(arg1, arg2, arg3, a1); } }; 2441: 2441: 2441: template struct add_2exp_function_struct { static inline Result function( char& arg1, const char &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: template struct add_2exp_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: 2441: template struct add_2exp_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct add_2exp_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: template struct sub_2exp_function_struct { static inline Result function( char& arg1, const char &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: template struct sub_2exp_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: 2441: template struct sub_2exp_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: template struct mul_2exp_function_struct { static inline Result function( char& arg1, const char &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: template struct mul_2exp_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: 2441: template struct mul_2exp_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: template struct div_2exp_function_struct { static inline Result function( char& arg1, const char &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: template struct div_2exp_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: 2441: template struct div_2exp_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: template struct smod_2exp_function_struct { static inline Result function( char& arg1, const char &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: template struct smod_2exp_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: 2441: template struct smod_2exp_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: template struct umod_2exp_function_struct { static inline Result function( char& arg1, const char &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: template struct umod_2exp_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_signed_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: 2441: template struct umod_2exp_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_unsigned_int(arg1, arg2, a1, a2); } }; 2441: 2441: 2441: template struct sqrt_function_struct { static inline Result function( char& arg1, const char &arg2, Rounding_Dir a1) { return sqrt_signed_int(arg1, arg2, a1); } }; 2441: 2441: template struct sqrt_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, Rounding_Dir a1) { return sqrt_signed_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, Rounding_Dir a1) { return sqrt_signed_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, Rounding_Dir a1) { return sqrt_signed_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, Rounding_Dir a1) { return sqrt_signed_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return sqrt_signed_int(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct sqrt_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return sqrt_unsigned_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return sqrt_unsigned_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return sqrt_unsigned_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return sqrt_unsigned_int(arg1, arg2, a1); } }; 2441: template struct sqrt_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return sqrt_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: 2441: template struct abs_function_struct { static inline Result function( char& arg1, const char &arg2, Rounding_Dir a1) { return abs_generic(arg1, arg2, a1); } }; 2441: 2441: template struct abs_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, Rounding_Dir a1) { return abs_generic(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, Rounding_Dir a1) { return abs_generic(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, Rounding_Dir a1) { return abs_generic(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, Rounding_Dir a1) { return abs_generic(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, Rounding_Dir a1) { return abs_generic(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct abs_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_unsigned_int_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: template struct gcd_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct gcdext_function_struct { static inline Result function( char& arg1, char &arg2, char &arg3, const char &arg4, const char &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: template struct gcdext_function_struct { static inline Result function( signed char& arg1, signed char &arg2, signed char &arg3, const signed char &arg4, const signed char &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( signed short& arg1, signed short &arg2, signed short &arg3, const signed short &arg4, const signed short &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( signed int& arg1, signed int &arg2, signed int &arg3, const signed int &arg4, const signed int &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( signed long& arg1, signed long &arg2, signed long &arg3, const signed long &arg4, const signed long &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( signed long long& arg1, signed long long &arg2, signed long long &arg3, const signed long long &arg4, const signed long long &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( unsigned char& arg1, unsigned char &arg2, unsigned char &arg3, const unsigned char &arg4, const unsigned char &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( unsigned short& arg1, unsigned short &arg2, unsigned short &arg3, const unsigned short &arg4, const unsigned short &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( unsigned int& arg1, unsigned int &arg2, unsigned int &arg3, const unsigned int &arg4, const unsigned int &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( unsigned long& arg1, unsigned long &arg2, unsigned long &arg3, const unsigned long &arg4, const unsigned long &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: template struct gcdext_function_struct { static inline Result function( unsigned long long& arg1, unsigned long long &arg2, unsigned long long &arg3, const unsigned long long &arg4, const unsigned long long &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: 2441: 2441: 2441: template struct lcm_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct sgn_function_struct { static inline Result_Relation function(const char& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const signed char& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const signed short& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const signed int& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const signed long& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const signed long long& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const unsigned char& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const unsigned short& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const unsigned int& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const unsigned long& arg) { return sgn_generic(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const unsigned long long& arg) { return sgn_generic(arg); } }; 2441: 2441: template struct cmp_function_struct { static inline Result_Relation function(const char& arg1, const char &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const signed char& arg1, const signed char &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const signed short& arg1, const signed short &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const signed int& arg1, const signed int &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const signed long& arg1, const signed long &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const signed long long& arg1, const signed long long &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const unsigned char& arg1, const unsigned char &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const unsigned short& arg1, const unsigned short &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const unsigned int& arg1, const unsigned int &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const unsigned long& arg1, const unsigned long &arg2) { return cmp_generic(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const unsigned long long& arg1, const unsigned long long &arg2) { return cmp_generic(arg1, arg2); } }; 2441: 2441: template struct add_mul_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct add_mul_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return add_mul_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct sub_mul_function_struct { static inline Result function( char& arg1, const char &arg2, const char &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( signed char& arg1, const signed char &arg2, const signed char &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( signed short& arg1, const signed short &arg2, const signed short &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( signed int& arg1, const signed int &arg2, const signed int &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( signed long& arg1, const signed long &arg2, const signed long &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( signed long long& arg1, const signed long long &arg2, const signed long long &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( unsigned char& arg1, const unsigned char &arg2, const unsigned char &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( unsigned short& arg1, const unsigned short &arg2, const unsigned short &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( unsigned int& arg1, const unsigned int &arg2, const unsigned int &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( unsigned long& arg1, const unsigned long &arg2, const unsigned long &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( unsigned long long& arg1, const unsigned long long &arg2, const unsigned long long &arg3, Rounding_Dir a1) { return sub_mul_int(arg1, arg2, arg3, a1); } }; 2441: 2441: template struct input_function_struct { static inline Result function( char& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( signed char& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( signed short& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( signed int& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( signed long& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( signed long long& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( unsigned char& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( unsigned short& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( unsigned int& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( unsigned long& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct input_function_struct { static inline Result function( unsigned long long& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const char& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_char(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const signed char& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_char(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const signed short& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const signed int& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const signed long& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const signed long long& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const unsigned char& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_char(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const unsigned short& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const unsigned int& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const unsigned long& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const unsigned long long& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_int(b1, arg, a1, a2); } }; 2441: 2441: } 2441: 2441: } 2441: # 702 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/checked_float_inlines.hh" 1 2441: # 28 "../../src/checked_float_inlines.hh" 2441: # 1 "/usr/include/c++/8/cmath" 1 3 2441: # 39 "/usr/include/c++/8/cmath" 3 2441: 2441: # 40 "/usr/include/c++/8/cmath" 3 2441: # 29 "../../src/checked_float_inlines.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Checked { 2441: 2441: inline float 2441: multiply_add(float x, float y, float z) { 2441: 2441: 2441: 2441: 2441: return x*y + z; 2441: 2441: } 2441: 2441: inline double 2441: multiply_add(double x, double y, double z) { 2441: 2441: 2441: 2441: 2441: return x*y + z; 2441: 2441: } 2441: 2441: inline long double 2441: multiply_add(long double x, long double y, long double z) { 2441: 2441: 2441: 2441: 2441: return x*y + z; 2441: 2441: } 2441: 2441: 2441: inline float 2441: round_to_integer(float x) { 2441: return rintf(x); 2441: } 2441: 2441: 2441: inline double 2441: round_to_integer(double x) { 2441: return rint(x); 2441: } 2441: 2441: 2441: inline long double 2441: round_to_integer(long double x) { 2441: return rintl(x); 2441: } 2441: # 99 "../../src/checked_float_inlines.hh" 2441: inline bool 2441: fpu_direct_rounding(Rounding_Dir dir) { 2441: return round_direct(dir) || round_not_requested(dir); 2441: } 2441: 2441: inline bool 2441: fpu_inverse_rounding(Rounding_Dir dir) { 2441: return round_inverse(dir); 2441: } 2441: # 133 "../../src/checked_float_inlines.hh" 2441: inline void 2441: limit_precision(const float& v) { 2441: PPL_CC_FLUSH(v); 2441: } 2441: 2441: inline void 2441: limit_precision(const double& v) { 2441: PPL_CC_FLUSH(v); 2441: } 2441: 2441: inline void 2441: limit_precision(const long double&) { 2441: } 2441: 2441: template 2441: inline Result 2441: classify_float(const T v, bool nan, bool inf, bool sign) { 2441: Float f(v); 2441: if ((nan || sign) && ((Policy::has_nan) ? (f.u.binary.is_nan()) : ( 2441: # 151 "../../src/checked_float_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 151 "../../src/checked_float_inlines.hh" 2441: , false))) { 2441: return V_NAN; 2441: } 2441: if (inf) { 2441: if (Policy::has_infinity) { 2441: int sign_inf = f.u.binary.inf_sign(); 2441: if (sign_inf < 0) { 2441: return V_EQ_MINUS_INFINITY; 2441: } 2441: if (sign_inf > 0) { 2441: return V_EQ_PLUS_INFINITY; 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: } 2441: } 2441: if (sign) { 2441: if (v < 0) { 2441: return V_LT; 2441: } 2441: if (v > 0) { 2441: return V_GT; 2441: } 2441: return V_EQ; 2441: } 2441: return V_LGE; 2441: } 2441: 2441: template 2441: inline bool 2441: is_nan_float(const T v) { 2441: Float f(v); 2441: return ((Policy::has_nan) ? (f.u.binary.is_nan()) : ( 2441: # 184 "../../src/checked_float_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 184 "../../src/checked_float_inlines.hh" 2441: , false)); 2441: } 2441: 2441: template 2441: inline bool 2441: is_inf_float(const T v) { 2441: Float f(v); 2441: return ((Policy::has_infinity) ? ((f.u.binary.inf_sign() != 0)) : ( 2441: # 191 "../../src/checked_float_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 191 "../../src/checked_float_inlines.hh" 2441: , false)); 2441: } 2441: template 2441: inline bool 2441: is_minf_float(const T v) { 2441: Float f(v); 2441: return ((Policy::has_infinity) ? ((f.u.binary.inf_sign() < 0)) : ( 2441: # 197 "../../src/checked_float_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 197 "../../src/checked_float_inlines.hh" 2441: , false)); 2441: } 2441: 2441: template 2441: inline bool 2441: is_pinf_float(const T v) { 2441: Float f(v); 2441: return ((Policy::has_infinity) ? ((f.u.binary.inf_sign() > 0)) : ( 2441: # 204 "../../src/checked_float_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 204 "../../src/checked_float_inlines.hh" 2441: , false)); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: is_int_float(const T v) { 2441: return round_to_integer(v) == v; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_special_float(T& v, Result_Class c, Rounding_Dir) { 2441: ((void) 0); 2441: switch (c) { 2441: case VC_MINUS_INFINITY: 2441: v = - 2441: # 220 "../../src/checked_float_inlines.hh" 3 4 2441: (__builtin_huge_val ()) 2441: # 220 "../../src/checked_float_inlines.hh" 2441: ; 2441: return V_EQ_MINUS_INFINITY; 2441: case VC_PLUS_INFINITY: 2441: v = 2441: # 223 "../../src/checked_float_inlines.hh" 3 4 2441: (__builtin_huge_val ()) 2441: # 223 "../../src/checked_float_inlines.hh" 2441: ; 2441: return V_EQ_PLUS_INFINITY; 2441: case VC_NAN: 2441: v = 2441: # 226 "../../src/checked_float_inlines.hh" 3 4 2441: (__builtin_nanf ("")) 2441: # 226 "../../src/checked_float_inlines.hh" 2441: ; 2441: return V_NAN; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN | V_UNREPRESENTABLE; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: pred_float(T& v) { 2441: Float f(v); 2441: ((void) 0); 2441: ((void) 0); 2441: if (f.u.binary.zero_sign() > 0) { 2441: f.u.binary.negate(); 2441: f.u.binary.inc(); 2441: } 2441: else if (f.u.binary.sign_bit()) { 2441: f.u.binary.inc(); 2441: } 2441: else { 2441: f.u.binary.dec(); 2441: } 2441: v = f.value(); 2441: } 2441: 2441: template 2441: inline void 2441: succ_float(T& v) { 2441: Float f(v); 2441: ((void) 0); 2441: ((void) 0); 2441: if (f.u.binary.zero_sign() < 0) { 2441: f.u.binary.negate(); 2441: f.u.binary.inc(); 2441: } 2441: else if (!f.u.binary.sign_bit()) { 2441: f.u.binary.inc(); 2441: } 2441: else { 2441: f.u.binary.dec(); 2441: } 2441: v = f.value(); 2441: } 2441: 2441: template 2441: inline Result 2441: round_lt_float(To& to, Rounding_Dir dir) { 2441: if (round_down(dir)) { 2441: pred_float(to); 2441: return V_GT; 2441: } 2441: return V_LT; 2441: } 2441: 2441: template 2441: inline Result 2441: round_gt_float(To& to, Rounding_Dir dir) { 2441: if (round_up(dir)) { 2441: succ_float(to); 2441: return V_LT; 2441: } 2441: return V_GT; 2441: } 2441: 2441: 2441: template 2441: inline void 2441: prepare_inexact(Rounding_Dir dir) { 2441: if (Policy::fpu_check_inexact 2441: && !round_not_needed(dir) && round_strict_relation(dir)) { 2441: fpu_reset_inexact(); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: result_relation(Rounding_Dir dir) { 2441: if (Policy::fpu_check_inexact 2441: && !round_not_needed(dir) && round_strict_relation(dir)) { 2441: switch (fpu_check_inexact()) { 2441: case 0: 2441: return V_EQ; 2441: case -1: 2441: goto unknown; 2441: case 1: 2441: break; 2441: } 2441: switch (round_dir(dir)) { 2441: case ROUND_DOWN: 2441: return V_GT; 2441: case ROUND_UP: 2441: return V_LT; 2441: default: 2441: return V_NE; 2441: } 2441: } 2441: else { 2441: unknown: 2441: switch (round_dir(dir)) { 2441: case ROUND_DOWN: 2441: return V_GE; 2441: case ROUND_UP: 2441: return V_LE; 2441: default: 2441: return V_LGE; 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: assign_float_float_exact(To& to, const From from, Rounding_Dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: to = from; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_float_float_inexact(To& to, const From from, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = from; 2441: } 2441: else if (fpu_inverse_rounding(dir)) { 2441: From tmp = -from; 2441: to = tmp; 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(from); 2441: to = from; 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result 2441: assign_float_float(To& to, const From from, Rounding_Dir dir) { 2441: if (sizeof(From) > sizeof(To)) { 2441: return assign_float_float_inexact(to, from, dir); 2441: } 2441: else { 2441: return assign_float_float_exact(to, from, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: floor_float(Type& to, const Type from, Rounding_Dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (fpu_direct_rounding(ROUND_DOWN)) { 2441: to = round_to_integer(from); 2441: } 2441: else if (fpu_inverse_rounding(ROUND_DOWN)) { 2441: to = round_to_integer(-from); 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(ROUND_DOWN)); 2441: limit_precision(from); 2441: to = round_to_integer(from); 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: ceil_float(Type& to, const Type from, Rounding_Dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (fpu_direct_rounding(ROUND_UP)) { 2441: to = round_to_integer(from); 2441: } 2441: else if (fpu_inverse_rounding(ROUND_UP)) { 2441: to = round_to_integer(-from); 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(ROUND_UP)); 2441: limit_precision(from); 2441: to = round_to_integer(from); 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: trunc_float(Type& to, const Type from, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (from >= 0) { 2441: return floor(to, from, dir); 2441: } 2441: else { 2441: return ceil(to, from, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: neg_float(Type& to, const Type from, Rounding_Dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: to = -from; 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: add_float(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_inf_add_inf 2441: && is_inf_float(x) && x == -y) { 2441: return assign_nan(to, V_INF_ADD_INF); 2441: } 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = x + y; 2441: } 2441: else if (fpu_inverse_rounding(dir)) { 2441: to = -x - y; 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(x); 2441: limit_precision(y); 2441: to = x + y; 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: if (To_Policy::fpu_check_nan_result && is_nan(to)) { 2441: return V_NAN; 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result 2441: sub_float(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_inf_sub_inf 2441: && is_inf_float(x) && x == y) { 2441: return assign_nan(to, V_INF_SUB_INF); 2441: } 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = x - y; 2441: } 2441: else if (fpu_inverse_rounding(dir)) { 2441: to = y - x; 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(x); 2441: limit_precision(y); 2441: to = x - y; 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: if (To_Policy::fpu_check_nan_result && is_nan(to)) { 2441: return V_NAN; 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result 2441: mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_inf_mul_zero 2441: && ((x == 0 && is_inf_float(y)) 2441: || 2441: (y == 0 && is_inf_float(x)))) { 2441: return assign_nan(to, V_INF_MUL_ZERO); 2441: } 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = x * y; 2441: } 2441: else if (fpu_inverse_rounding(dir)) { 2441: to = x * -y; 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(x); 2441: limit_precision(y); 2441: to = x * y; 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: if (To_Policy::fpu_check_nan_result && is_nan(to)) { 2441: return V_NAN; 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result 2441: div_float(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_inf_div_inf 2441: && is_inf_float(x) && is_inf_float(y)) { 2441: return assign_nan(to, V_INF_DIV_INF); 2441: } 2441: if (To_Policy::check_div_zero && y == 0) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = x / y; 2441: } 2441: else if (fpu_inverse_rounding(dir)) { 2441: to = x / -y; 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(x); 2441: limit_precision(y); 2441: to = x / y; 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: if (To_Policy::fpu_check_nan_result && is_nan(to)) { 2441: return V_NAN; 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result 2441: idiv_float(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: Type temp; 2441: 2441: dir = round_dir(dir); 2441: Result r = div(temp, x, y, dir); 2441: if (result_class(r) != VC_NORMAL) { 2441: to = temp; 2441: return r; 2441: } 2441: Result r1 = trunc(to, temp, ROUND_NOT_NEEDED); 2441: ((void) 0); 2441: if (r == V_EQ || to != temp) { 2441: return r1; 2441: } 2441: 2441: return (dir == ROUND_UP) ? V_LE : V_GE; 2441: } 2441: 2441: template 2441: inline Result 2441: rem_float(Type& to, const Type x, const Type y, Rounding_Dir) { 2441: if (To_Policy::check_inf_mod && is_inf_float(x)) { 2441: return assign_nan(to, V_INF_MOD); 2441: } 2441: if (To_Policy::check_div_zero && y == 0) { 2441: return assign_nan(to, V_MOD_ZERO); 2441: } 2441: to = std::fmod(x, y); 2441: if (To_Policy::fpu_check_nan_result && is_nan(to)) { 2441: return V_NAN; 2441: } 2441: return V_EQ; 2441: } 2441: 2441: struct Float_2exp { 2441: enum const_bool_value_has_nan { has_nan = (false) }; 2441: enum const_bool_value_has_infinity { has_infinity = (false) }; 2441: }; 2441: 2441: template 2441: inline Result 2441: add_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: ((void) 0); 2441: return 2441: add(to, 2441: x, 2441: Type(1ULL << exp), 2441: dir); 2441: } 2441: 2441: template 2441: inline Result 2441: sub_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: ((void) 0); 2441: return 2441: sub(to, 2441: x, 2441: Type(1ULL << exp), 2441: dir); 2441: } 2441: 2441: template 2441: inline Result 2441: mul_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: ((void) 0); 2441: return 2441: mul(to, 2441: x, 2441: Type(1ULL << exp), 2441: dir); 2441: } 2441: 2441: template 2441: inline Result 2441: div_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: ((void) 0); 2441: return 2441: div(to, 2441: x, 2441: Type(1ULL << exp), 2441: dir); 2441: } 2441: 2441: template 2441: inline Result 2441: smod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (To_Policy::check_inf_mod && is_inf_float(x)) { 2441: return assign_nan(to, V_INF_MOD); 2441: } 2441: ((void) 0); 2441: Type m = 1ULL << exp; 2441: rem_float(to, x, m, ROUND_IGNORE); 2441: Type m2 = m / 2; 2441: if (to < -m2) { 2441: return add_float(to, to, m, dir); 2441: } 2441: else if (to >= m2) { 2441: return sub_float(to, to, m, dir); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: umod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (To_Policy::check_inf_mod && is_inf_float(x)) { 2441: return assign_nan(to, V_INF_MOD); 2441: } 2441: ((void) 0); 2441: Type m = 1ULL << exp; 2441: rem_float(to, x, m, ROUND_IGNORE); 2441: if (to < 0) { 2441: return add_float(to, to, m, dir); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: abs_float(Type& to, const Type from, Rounding_Dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: to = std::abs(from); 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: sqrt_float(Type& to, const Type from, Rounding_Dir dir) { 2441: if (To_Policy::fpu_check_nan_result && is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (To_Policy::check_sqrt_neg && from < 0) { 2441: return assign_nan(to, V_SQRT_NEG); 2441: } 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = std::sqrt(from); 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(from); 2441: to = std::sqrt(from); 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result_Relation 2441: sgn_float(const Type x) { 2441: if (x > 0) { 2441: return VR_GT; 2441: } 2441: if (x < 0) { 2441: return VR_LT; 2441: } 2441: if (x == 0) { 2441: return VR_EQ; 2441: } 2441: return VR_EMPTY; 2441: } 2441: 2441: template 2441: inline Result_Relation 2441: cmp_float(const Type x, const Type y) { 2441: if (x > y) { 2441: return VR_GT; 2441: } 2441: if (x < y) { 2441: return VR_LT; 2441: } 2441: if (x == y) { 2441: return VR_EQ; 2441: } 2441: return VR_EMPTY; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_float_int_inexact(To& to, const From from, Rounding_Dir dir) { 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = from; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: to = from; 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result 2441: assign_float_int(To& to, const From from, Rounding_Dir dir) { 2441: if (((sizeof(From)) * static_cast(8)) > Float::Binary::MANTISSA_BITS) { 2441: return assign_float_int_inexact(to, from, dir); 2441: } 2441: else { 2441: return assign_exact(to, from, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: set_neg_overflow_float(T& to, Rounding_Dir dir) { 2441: switch (round_dir(dir)) { 2441: case ROUND_UP: 2441: { 2441: Float f; 2441: f.u.binary.set_max(true); 2441: to = f.value(); 2441: return V_LT_INF; 2441: } 2441: case ROUND_DOWN: 2441: case ROUND_IGNORE: 2441: to = - 2441: # 836 "../../src/checked_float_inlines.hh" 3 4 2441: (__builtin_huge_val ()) 2441: # 836 "../../src/checked_float_inlines.hh" 2441: ; 2441: return V_GT_MINUS_INFINITY; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_GT_MINUS_INFINITY; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: set_pos_overflow_float(T& to, Rounding_Dir dir) { 2441: switch (round_dir(dir)) { 2441: case ROUND_DOWN: 2441: { 2441: Float f; 2441: f.u.binary.set_max(false); 2441: to = f.value(); 2441: return V_GT_SUP; 2441: } 2441: case ROUND_UP: 2441: case ROUND_IGNORE: 2441: to = 2441: # 857 "../../src/checked_float_inlines.hh" 3 4 2441: (__builtin_huge_val ()) 2441: # 857 "../../src/checked_float_inlines.hh" 2441: ; 2441: return V_LT_PLUS_INFINITY; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_LT_PLUS_INFINITY; 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: assign_float_mpz(T& to, const mpz_class& from, Rounding_Dir dir) { 2441: int sign = sgn(from); 2441: if (sign == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: mpz_srcptr from_z = from.get_mpz_t(); 2441: size_t exponent = 2441: # 874 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_sizeinbase 2441: # 874 "../../src/checked_float_inlines.hh" 2441: (from_z, 2) - 1; 2441: if (exponent > size_t(Float::Binary::EXPONENT_MAX)) { 2441: if (sign < 0) { 2441: return set_neg_overflow_float(to, dir); 2441: } 2441: else { 2441: return set_pos_overflow_float(to, dir); 2441: } 2441: } 2441: unsigned long zeroes = 2441: # 883 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpn_scan1 2441: # 883 "../../src/checked_float_inlines.hh" 2441: (from_z->_mp_d, 0); 2441: size_t meaningful_bits = exponent - zeroes; 2441: mpz_t mantissa; 2441: 2441: # 886 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_init 2441: # 886 "../../src/checked_float_inlines.hh" 2441: (mantissa); 2441: if (exponent > Float::Binary::MANTISSA_BITS) { 2441: 2441: # 888 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_tdiv_q_2exp 2441: # 888 "../../src/checked_float_inlines.hh" 2441: (mantissa, 2441: from_z, 2441: exponent - Float::Binary::MANTISSA_BITS); 2441: } 2441: else { 2441: 2441: # 893 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 893 "../../src/checked_float_inlines.hh" 2441: (mantissa, from_z, Float::Binary::MANTISSA_BITS - exponent); 2441: } 2441: Float f; 2441: f.u.binary.build(sign < 0, mantissa, static_cast(exponent)); 2441: 2441: # 897 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_clear 2441: # 897 "../../src/checked_float_inlines.hh" 2441: (mantissa); 2441: to = f.value(); 2441: if (meaningful_bits > Float::Binary::MANTISSA_BITS) { 2441: if (sign < 0) { 2441: return round_lt_float(to, dir); 2441: } 2441: else { 2441: return round_gt_float(to, dir); 2441: } 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir) { 2441: const mpz_class& numer = from.get_num(); 2441: const mpz_class& denom = from.get_den(); 2441: if (denom == 1) { 2441: return assign_float_mpz(to, numer, dir); 2441: } 2441: mpz_srcptr numer_z = numer.get_mpz_t(); 2441: mpz_srcptr denom_z = denom.get_mpz_t(); 2441: int sign = sgn(numer); 2441: long exponent = static_cast( 2441: # 921 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_sizeinbase 2441: # 921 "../../src/checked_float_inlines.hh" 2441: (numer_z, 2)) 2441: - static_cast( 2441: # 922 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_sizeinbase 2441: # 922 "../../src/checked_float_inlines.hh" 2441: (denom_z, 2)); 2441: if (exponent < Float::Binary::EXPONENT_MIN_DENORM) { 2441: to = 0; 2441: inexact: 2441: if (sign < 0) { 2441: return round_lt_float(to, dir); 2441: } 2441: else { 2441: return round_gt_float(to, dir); 2441: } 2441: } 2441: if (exponent > Float::Binary::EXPONENT_MAX + 1) { 2441: overflow: 2441: if (sign < 0) { 2441: return set_neg_overflow_float(to, dir); 2441: } 2441: else { 2441: return set_pos_overflow_float(to, dir); 2441: } 2441: } 2441: unsigned int needed_bits = Float::Binary::MANTISSA_BITS + 1; 2441: if (exponent < Float::Binary::EXPONENT_MIN) { 2441: long diff = Float::Binary::EXPONENT_MIN - exponent; 2441: needed_bits -= static_cast(diff); 2441: } 2441: mpz_t mantissa; 2441: 2441: # 948 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_init 2441: # 948 "../../src/checked_float_inlines.hh" 2441: (mantissa); 2441: { 2441: long shift = static_cast(needed_bits) - exponent; 2441: if (shift > 0) { 2441: 2441: # 952 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 952 "../../src/checked_float_inlines.hh" 2441: (mantissa, numer_z, static_cast(shift)); 2441: numer_z = mantissa; 2441: } 2441: else if (shift < 0) { 2441: shift = -shift; 2441: 2441: # 957 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 957 "../../src/checked_float_inlines.hh" 2441: (mantissa, denom_z, static_cast(shift)); 2441: denom_z = mantissa; 2441: } 2441: } 2441: mpz_t r; 2441: 2441: # 962 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_init 2441: # 962 "../../src/checked_float_inlines.hh" 2441: (r); 2441: 2441: # 963 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_tdiv_qr 2441: # 963 "../../src/checked_float_inlines.hh" 2441: (mantissa, r, numer_z, denom_z); 2441: size_t bits = 2441: # 964 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_sizeinbase 2441: # 964 "../../src/checked_float_inlines.hh" 2441: (mantissa, 2); 2441: bool inexact = ( 2441: # 965 "../../src/checked_float_inlines.hh" 3 4 2441: (( 2441: # 965 "../../src/checked_float_inlines.hh" 2441: r 2441: # 965 "../../src/checked_float_inlines.hh" 3 4 2441: )->_mp_size < 0 ? -1 : ( 2441: # 965 "../../src/checked_float_inlines.hh" 2441: r 2441: # 965 "../../src/checked_float_inlines.hh" 3 4 2441: )->_mp_size > 0) 2441: # 965 "../../src/checked_float_inlines.hh" 2441: != 0); 2441: 2441: # 966 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_clear 2441: # 966 "../../src/checked_float_inlines.hh" 2441: (r); 2441: if (bits == needed_bits + 1) { 2441: inexact = (inexact || 2441: # 968 "../../src/checked_float_inlines.hh" 3 4 2441: ((( 2441: # 968 "../../src/checked_float_inlines.hh" 2441: mantissa 2441: # 968 "../../src/checked_float_inlines.hh" 3 4 2441: )->_mp_size != 0) & (static_cast (( 2441: # 968 "../../src/checked_float_inlines.hh" 2441: mantissa 2441: # 968 "../../src/checked_float_inlines.hh" 3 4 2441: )->_mp_d[0]))) 2441: # 968 "../../src/checked_float_inlines.hh" 2441: ); 2441: 2441: # 969 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_tdiv_q_2exp 2441: # 969 "../../src/checked_float_inlines.hh" 2441: (mantissa, mantissa, 1); 2441: } 2441: else { 2441: --exponent; 2441: } 2441: if (exponent > Float::Binary::EXPONENT_MAX) { 2441: 2441: # 975 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_clear 2441: # 975 "../../src/checked_float_inlines.hh" 2441: (mantissa); 2441: goto overflow; 2441: } 2441: else if (exponent < Float::Binary::EXPONENT_MIN - 1) { 2441: 2441: exponent = Float::Binary::EXPONENT_MIN - 1; 2441: } 2441: Float f; 2441: f.u.binary.build(sign < 0, mantissa, exponent); 2441: 2441: # 984 "../../src/checked_float_inlines.hh" 3 4 2441: __gmpz_clear 2441: # 984 "../../src/checked_float_inlines.hh" 2441: (mantissa); 2441: to = f.value(); 2441: if (inexact) { 2441: goto inexact; 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_inf_mul_zero 2441: && ((x == 0 && is_inf_float(y)) 2441: || 2441: (y == 0 && is_inf_float(x)))) { 2441: return assign_nan(to, V_INF_MUL_ZERO); 2441: } 2441: 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = multiply_add(x, y, to); 2441: } 2441: else if (fpu_inverse_rounding(dir)) { 2441: to = multiply_add(-x, y, -to); 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(x); 2441: limit_precision(y); 2441: limit_precision(to); 2441: to = multiply_add(x, y, to); 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: if (To_Policy::fpu_check_nan_result && is_nan(to)) { 2441: return V_NAN; 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline Result 2441: sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) { 2441: if (To_Policy::check_inf_mul_zero 2441: && ((x == 0 && is_inf_float(y)) 2441: || 2441: (y == 0 && is_inf_float(x)))) { 2441: return assign_nan(to, V_INF_MUL_ZERO); 2441: } 2441: 2441: prepare_inexact(dir); 2441: if (fpu_direct_rounding(dir)) { 2441: to = multiply_add(x, -y, to); 2441: } 2441: else if (fpu_inverse_rounding(dir)) { 2441: to = multiply_add(x, y, -to); 2441: limit_precision(to); 2441: to = -to; 2441: } 2441: else { 2441: fpu_rounding_control_word_type old 2441: = fpu_save_rounding_direction(round_fpu_dir(dir)); 2441: limit_precision(x); 2441: limit_precision(y); 2441: limit_precision(to); 2441: to = multiply_add(x, -y, to); 2441: limit_precision(to); 2441: fpu_restore_rounding_direction(old); 2441: } 2441: if (To_Policy::fpu_check_nan_result && is_nan(to)) { 2441: return V_NAN; 2441: } 2441: return result_relation(dir); 2441: } 2441: 2441: template 2441: inline void 2441: assign_mpq_numeric_float(mpq_class& to, const From from) { 2441: to = from; 2441: } 2441: 2441: template <> 2441: inline void 2441: assign_mpq_numeric_float(mpq_class& to, const long double from) { 2441: to = 0; 2441: if (from == 0.0L) { 2441: return; 2441: } 2441: mpz_class& num = to.get_num(); 2441: mpz_class& den = to.get_den(); 2441: int exp; 2441: long double n = std::frexp(from, &exp); 2441: bool neg = false; 2441: if (n < 0.0L) { 2441: neg = true; 2441: n = -n; 2441: } 2441: const long double mult = static_cast( 2441: # 1085 "../../src/checked_float_inlines.hh" 3 4 2441: (0x7fffffffL * 2UL + 1UL) 2441: # 1085 "../../src/checked_float_inlines.hh" 2441: ) + 1.0L; 2441: const unsigned int bits = sizeof(unsigned long) * 8; 2441: while (true) { 2441: n *= mult; 2441: exp -= bits; 2441: const long double intpart = std::floor(n); 2441: num += static_cast(intpart); 2441: n -= intpart; 2441: if (n == 0.0L) { 2441: break; 2441: } 2441: num <<= bits; 2441: } 2441: if (exp < 0) { 2441: den <<= -exp; 2441: } 2441: else { 2441: num <<= exp; 2441: } 2441: if (neg) { 2441: to = -to; 2441: } 2441: to.canonicalize(); 2441: } 2441: 2441: template 2441: inline Result 2441: output_float(std::ostream& os, const Type from, const Numeric_Format&, 2441: Rounding_Dir) { 2441: if (from == 0) { 2441: os << "0"; 2441: } 2441: else if (is_minf(from)) { 2441: os << "-inf"; 2441: } 2441: else if (is_pinf(from)) { 2441: os << "+inf"; 2441: } 2441: else if (is_nan(from)) { 2441: os << "nan"; 2441: } 2441: else { 2441: mpq_class q; 2441: assign_mpq_numeric_float(q, from); 2441: std::string s = float_mpq_to_string(q); 2441: os << s; 2441: } 2441: return V_EQ; 2441: } 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( float& arg1, const float &arg2, Rounding_Dir a1) { return assign_float_float_exact(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( float& arg1, const double &arg2, Rounding_Dir a1) { return assign_float_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const float &arg2, Rounding_Dir a1) { return assign_float_float_exact(arg1, arg2, a1); } }; 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( float& arg1, const long double &arg2, Rounding_Dir a1) { return assign_float_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const float &arg2, Rounding_Dir a1) { return assign_float_float_exact(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( double& arg1, const double &arg2, Rounding_Dir a1) { return assign_float_float_exact(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( double& arg1, const long double &arg2, Rounding_Dir a1) { return assign_float_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const double &arg2, Rounding_Dir a1) { return assign_float_float_exact(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const long double &arg2, Rounding_Dir a1) { return assign_float_float_exact(arg1, arg2, a1); } }; 2441: 2441: 2441: 2441: template struct classify_function_struct { static inline Result function(const float& arg, bool a1, bool a2, bool a3) { return classify_float(arg, a1, a2, a3); } }; 2441: template struct is_nan_function_struct { static inline bool function(const float& arg) { return is_nan_float(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const float& arg) { return is_minf_float(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const float& arg) { return is_pinf_float(arg); } }; 2441: template struct assign_special_function_struct { static inline Result function( float& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_float(arg, a1, a2); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_float_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( float& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_float_mpq(arg1, arg2, a1); } }; 2441: template struct copy_function_struct { static inline void function( float& arg1, const float &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct is_int_function_struct { static inline bool function(const float& arg) { return is_int_float(arg); } }; 2441: template struct floor_function_struct { static inline Result function( float& arg1, const float &arg2, Rounding_Dir a1) { return floor_float(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( float& arg1, const float &arg2, Rounding_Dir a1) { return ceil_float(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( float& arg1, const float &arg2, Rounding_Dir a1) { return trunc_float(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( float& arg1, const float &arg2, Rounding_Dir a1) { return neg_float(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( float& arg1, const float &arg2, Rounding_Dir a1) { return abs_float(arg1, arg2, a1); } }; 2441: template struct add_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return add_float(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return sub_float(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return div_float(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return rem_float(arg1, arg2, arg3, a1); } }; 2441: template struct add_2exp_function_struct { static inline Result function( float& arg1, const float &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( float& arg1, const float &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( float& arg1, const float &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( float& arg1, const float &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( float& arg1, const float &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( float& arg1, const float &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct sqrt_function_struct { static inline Result function( float& arg1, const float &arg2, Rounding_Dir a1) { return sqrt_float(arg1, arg2, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcdext_function_struct { static inline Result function( float& arg1, float &arg2, float &arg3, const float &arg4, const float &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const float& arg) { return sgn_float(arg); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const float& arg1, const float &arg2) { return cmp_float(arg1, arg2); } }; 2441: template struct add_mul_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return add_mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( float& arg1, const float &arg2, const float &arg3, Rounding_Dir a1) { return sub_mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct input_function_struct { static inline Result function( float& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const float& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_float(b1, arg, a1, a2); } }; 2441: 2441: 2441: 2441: template struct classify_function_struct { static inline Result function(const double& arg, bool a1, bool a2, bool a3) { return classify_float(arg, a1, a2, a3); } }; 2441: template struct is_nan_function_struct { static inline bool function(const double& arg) { return is_nan_float(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const double& arg) { return is_minf_float(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const double& arg) { return is_pinf_float(arg); } }; 2441: template struct assign_special_function_struct { static inline Result function( double& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_float(arg, a1, a2); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_float_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( double& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_float_mpq(arg1, arg2, a1); } }; 2441: template struct copy_function_struct { static inline void function( double& arg1, const double &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct is_int_function_struct { static inline bool function(const double& arg) { return is_int_float(arg); } }; 2441: template struct floor_function_struct { static inline Result function( double& arg1, const double &arg2, Rounding_Dir a1) { return floor_float(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( double& arg1, const double &arg2, Rounding_Dir a1) { return ceil_float(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( double& arg1, const double &arg2, Rounding_Dir a1) { return trunc_float(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( double& arg1, const double &arg2, Rounding_Dir a1) { return neg_float(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( double& arg1, const double &arg2, Rounding_Dir a1) { return abs_float(arg1, arg2, a1); } }; 2441: template struct add_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return add_float(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return sub_float(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return div_float(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return rem_float(arg1, arg2, arg3, a1); } }; 2441: template struct add_2exp_function_struct { static inline Result function( double& arg1, const double &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( double& arg1, const double &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( double& arg1, const double &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( double& arg1, const double &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( double& arg1, const double &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( double& arg1, const double &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct sqrt_function_struct { static inline Result function( double& arg1, const double &arg2, Rounding_Dir a1) { return sqrt_float(arg1, arg2, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcdext_function_struct { static inline Result function( double& arg1, double &arg2, double &arg3, const double &arg4, const double &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: template struct lcm_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const double& arg) { return sgn_float(arg); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const double& arg1, const double &arg2) { return cmp_float(arg1, arg2); } }; 2441: template struct add_mul_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return add_mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( double& arg1, const double &arg2, const double &arg3, Rounding_Dir a1) { return sub_mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct input_function_struct { static inline Result function( double& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const double& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_float(b1, arg, a1, a2); } }; 2441: 2441: 2441: 2441: template struct classify_function_struct { static inline Result function(const long double& arg, bool a1, bool a2, bool a3) { return classify_float(arg, a1, a2, a3); } }; 2441: template struct is_nan_function_struct { static inline bool function(const long double& arg) { return is_nan_float(arg); } }; 2441: template struct is_minf_function_struct { static inline bool function(const long double& arg) { return is_minf_float(arg); } }; 2441: template struct is_pinf_function_struct { static inline bool function(const long double& arg) { return is_pinf_float(arg); } }; 2441: template struct assign_special_function_struct { static inline Result function( long double& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_float(arg, a1, a2); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_float_int(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_float_mpz(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( long double& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_float_mpq(arg1, arg2, a1); } }; 2441: template struct copy_function_struct { static inline void function( long double& arg1, const long double &arg2) { return copy_generic(arg1, arg2); } }; 2441: template struct is_int_function_struct { static inline bool function(const long double& arg) { return is_int_float(arg); } }; 2441: template struct floor_function_struct { static inline Result function( long double& arg1, const long double &arg2, Rounding_Dir a1) { return floor_float(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( long double& arg1, const long double &arg2, Rounding_Dir a1) { return ceil_float(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( long double& arg1, const long double &arg2, Rounding_Dir a1) { return trunc_float(arg1, arg2, a1); } }; 2441: template struct neg_function_struct { static inline Result function( long double& arg1, const long double &arg2, Rounding_Dir a1) { return neg_float(arg1, arg2, a1); } }; 2441: template struct abs_function_struct { static inline Result function( long double& arg1, const long double &arg2, Rounding_Dir a1) { return abs_float(arg1, arg2, a1); } }; 2441: template struct add_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return add_float(arg1, arg2, arg3, a1); } }; 2441: template struct sub_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return sub_float(arg1, arg2, arg3, a1); } }; 2441: template struct mul_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct div_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return div_float(arg1, arg2, arg3, a1); } }; 2441: template struct rem_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return rem_float(arg1, arg2, arg3, a1); } }; 2441: template struct add_2exp_function_struct { static inline Result function( long double& arg1, const long double &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct sub_2exp_function_struct { static inline Result function( long double& arg1, const long double &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct mul_2exp_function_struct { static inline Result function( long double& arg1, const long double &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct div_2exp_function_struct { static inline Result function( long double& arg1, const long double &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct smod_2exp_function_struct { static inline Result function( long double& arg1, const long double &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct umod_2exp_function_struct { static inline Result function( long double& arg1, const long double &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_float(arg1, arg2, a1, a2); } }; 2441: template struct sqrt_function_struct { static inline Result function( long double& arg1, const long double &arg2, Rounding_Dir a1) { return sqrt_float(arg1, arg2, a1); } }; 2441: template struct gcd_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct gcdext_function_struct { static inline Result function( long double& arg1, long double &arg2, long double &arg3, const long double &arg4, const long double &arg5, Rounding_Dir a1) { return gcdext_exact(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: template struct lcm_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return lcm_gcd_exact(arg1, arg2, arg3, a1); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const long double& arg) { return sgn_float(arg); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const long double& arg1, const long double &arg2) { return cmp_float(arg1, arg2); } }; 2441: template struct add_mul_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return add_mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct sub_mul_function_struct { static inline Result function( long double& arg1, const long double &arg2, const long double &arg3, Rounding_Dir a1) { return sub_mul_float(arg1, arg2, arg3, a1); } }; 2441: template struct input_function_struct { static inline Result function( long double& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const long double& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_float(b1, arg, a1, a2); } }; 2441: 2441: 2441: } 2441: 2441: } 2441: # 703 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/checked_mpz_inlines.hh" 1 2441: # 27 "../../src/checked_mpz_inlines.hh" 2441: # 1 "/usr/include/c++/8/sstream" 1 3 2441: # 36 "/usr/include/c++/8/sstream" 3 2441: 2441: # 37 "/usr/include/c++/8/sstream" 3 2441: 2441: 2441: 2441: 2441: 2441: # 41 "/usr/include/c++/8/sstream" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: namespace __cxx11 { 2441: # 64 "/usr/include/c++/8/sstream" 3 2441: template 2441: class basic_stringbuf : public basic_streambuf<_CharT, _Traits> 2441: { 2441: struct __xfer_bufptrs; 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: typedef _Alloc allocator_type; 2441: typedef typename traits_type::int_type int_type; 2441: typedef typename traits_type::pos_type pos_type; 2441: typedef typename traits_type::off_type off_type; 2441: 2441: typedef basic_streambuf __streambuf_type; 2441: typedef basic_string __string_type; 2441: typedef typename __string_type::size_type __size_type; 2441: 2441: protected: 2441: 2441: ios_base::openmode _M_mode; 2441: 2441: 2441: __string_type _M_string; 2441: 2441: public: 2441: # 99 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out) 2441: : __streambuf_type(), _M_mode(__mode), _M_string() 2441: { } 2441: # 112 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_stringbuf(const __string_type& __str, 2441: ios_base::openmode __mode = ios_base::in | ios_base::out) 2441: : __streambuf_type(), _M_mode(), 2441: _M_string(__str.data(), __str.size(), __str.get_allocator()) 2441: { _M_stringbuf_init(__mode); } 2441: 2441: 2441: basic_stringbuf(const basic_stringbuf&) = delete; 2441: 2441: basic_stringbuf(basic_stringbuf&& __rhs) 2441: : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this)) 2441: { __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); } 2441: 2441: 2441: 2441: basic_stringbuf& 2441: operator=(const basic_stringbuf&) = delete; 2441: 2441: basic_stringbuf& 2441: operator=(basic_stringbuf&& __rhs) 2441: { 2441: __xfer_bufptrs __st{__rhs, this}; 2441: const __streambuf_type& __base = __rhs; 2441: __streambuf_type::operator=(__base); 2441: this->pubimbue(__rhs.getloc()); 2441: _M_mode = __rhs._M_mode; 2441: _M_string = std::move(__rhs._M_string); 2441: __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(basic_stringbuf& __rhs) 2441: { 2441: __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)}; 2441: __xfer_bufptrs __r_st{__rhs, this}; 2441: __streambuf_type& __base = __rhs; 2441: __streambuf_type::swap(__base); 2441: __rhs.pubimbue(this->pubimbue(__rhs.getloc())); 2441: std::swap(_M_mode, __rhs._M_mode); 2441: std::swap(_M_string, __rhs._M_string); 2441: } 2441: # 166 "/usr/include/c++/8/sstream" 3 2441: __string_type 2441: str() const 2441: { 2441: __string_type __ret(_M_string.get_allocator()); 2441: if (this->pptr()) 2441: { 2441: 2441: if (this->pptr() > this->egptr()) 2441: __ret.assign(this->pbase(), this->pptr()); 2441: else 2441: __ret.assign(this->pbase(), this->egptr()); 2441: } 2441: else 2441: __ret = _M_string; 2441: return __ret; 2441: } 2441: # 190 "/usr/include/c++/8/sstream" 3 2441: void 2441: str(const __string_type& __s) 2441: { 2441: 2441: 2441: _M_string.assign(__s.data(), __s.size()); 2441: _M_stringbuf_init(_M_mode); 2441: } 2441: 2441: protected: 2441: 2441: void 2441: _M_stringbuf_init(ios_base::openmode __mode) 2441: { 2441: _M_mode = __mode; 2441: __size_type __len = 0; 2441: if (_M_mode & (ios_base::ate | ios_base::app)) 2441: __len = _M_string.size(); 2441: _M_sync(const_cast(_M_string.data()), 0, __len); 2441: } 2441: 2441: virtual streamsize 2441: showmanyc() 2441: { 2441: streamsize __ret = -1; 2441: if (_M_mode & ios_base::in) 2441: { 2441: _M_update_egptr(); 2441: __ret = this->egptr() - this->gptr(); 2441: } 2441: return __ret; 2441: } 2441: 2441: virtual int_type 2441: underflow(); 2441: 2441: virtual int_type 2441: pbackfail(int_type __c = traits_type::eof()); 2441: 2441: virtual int_type 2441: overflow(int_type __c = traits_type::eof()); 2441: # 243 "/usr/include/c++/8/sstream" 3 2441: virtual __streambuf_type* 2441: setbuf(char_type* __s, streamsize __n) 2441: { 2441: if (__s && __n >= 0) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: _M_string.clear(); 2441: 2441: 2441: _M_sync(__s, __n, 0); 2441: } 2441: return this; 2441: } 2441: 2441: virtual pos_type 2441: seekoff(off_type __off, ios_base::seekdir __way, 2441: ios_base::openmode __mode = ios_base::in | ios_base::out); 2441: 2441: virtual pos_type 2441: seekpos(pos_type __sp, 2441: ios_base::openmode __mode = ios_base::in | ios_base::out); 2441: 2441: 2441: 2441: 2441: void 2441: _M_sync(char_type* __base, __size_type __i, __size_type __o); 2441: 2441: 2441: 2441: void 2441: _M_update_egptr() 2441: { 2441: const bool __testin = _M_mode & ios_base::in; 2441: if (this->pptr() && this->pptr() > this->egptr()) 2441: { 2441: if (__testin) 2441: this->setg(this->eback(), this->gptr(), this->pptr()); 2441: else 2441: this->setg(this->pptr(), this->pptr(), this->pptr()); 2441: } 2441: } 2441: 2441: 2441: 2441: void 2441: _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off); 2441: 2441: private: 2441: 2441: 2441: 2441: 2441: struct __xfer_bufptrs 2441: { 2441: __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to) 2441: : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1} 2441: { 2441: const _CharT* const __str = __from._M_string.data(); 2441: const _CharT* __end = nullptr; 2441: if (__from.eback()) 2441: { 2441: _M_goff[0] = __from.eback() - __str; 2441: _M_goff[1] = __from.gptr() - __str; 2441: _M_goff[2] = __from.egptr() - __str; 2441: __end = __from.egptr(); 2441: } 2441: if (__from.pbase()) 2441: { 2441: _M_poff[0] = __from.pbase() - __str; 2441: _M_poff[1] = __from.pptr() - __from.pbase(); 2441: _M_poff[2] = __from.epptr() - __str; 2441: if (__from.pptr() > __end) 2441: __end = __from.pptr(); 2441: } 2441: 2441: 2441: if (__end) 2441: { 2441: 2441: 2441: auto& __mut_from = const_cast(__from); 2441: __mut_from._M_string._M_length(__end - __str); 2441: } 2441: } 2441: 2441: ~__xfer_bufptrs() 2441: { 2441: char_type* __str = const_cast(_M_to->_M_string.data()); 2441: if (_M_goff[0] != -1) 2441: _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]); 2441: if (_M_poff[0] != -1) 2441: _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]); 2441: } 2441: 2441: basic_stringbuf* _M_to; 2441: off_type _M_goff[3]; 2441: off_type _M_poff[3]; 2441: }; 2441: # 357 "/usr/include/c++/8/sstream" 3 2441: basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&) 2441: : __streambuf_type(static_cast(__rhs)), 2441: _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string)) 2441: { } 2441: 2441: }; 2441: # 380 "/usr/include/c++/8/sstream" 3 2441: template 2441: class basic_istringstream : public basic_istream<_CharT, _Traits> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: typedef _Alloc allocator_type; 2441: typedef typename traits_type::int_type int_type; 2441: typedef typename traits_type::pos_type pos_type; 2441: typedef typename traits_type::off_type off_type; 2441: 2441: 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; 2441: typedef basic_istream __istream_type; 2441: 2441: private: 2441: __stringbuf_type _M_stringbuf; 2441: 2441: public: 2441: # 416 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_istringstream(ios_base::openmode __mode = ios_base::in) 2441: : __istream_type(), _M_stringbuf(__mode | ios_base::in) 2441: { this->init(&_M_stringbuf); } 2441: # 434 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_istringstream(const __string_type& __str, 2441: ios_base::openmode __mode = ios_base::in) 2441: : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in) 2441: { this->init(&_M_stringbuf); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~basic_istringstream() 2441: { } 2441: 2441: 2441: basic_istringstream(const basic_istringstream&) = delete; 2441: 2441: basic_istringstream(basic_istringstream&& __rhs) 2441: : __istream_type(std::move(__rhs)), 2441: _M_stringbuf(std::move(__rhs._M_stringbuf)) 2441: { __istream_type::set_rdbuf(&_M_stringbuf); } 2441: 2441: 2441: 2441: basic_istringstream& 2441: operator=(const basic_istringstream&) = delete; 2441: 2441: basic_istringstream& 2441: operator=(basic_istringstream&& __rhs) 2441: { 2441: __istream_type::operator=(std::move(__rhs)); 2441: _M_stringbuf = std::move(__rhs._M_stringbuf); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(basic_istringstream& __rhs) 2441: { 2441: __istream_type::swap(__rhs); 2441: _M_stringbuf.swap(__rhs._M_stringbuf); 2441: } 2441: # 485 "/usr/include/c++/8/sstream" 3 2441: __stringbuf_type* 2441: rdbuf() const 2441: { return const_cast<__stringbuf_type*>(&_M_stringbuf); } 2441: 2441: 2441: 2441: 2441: 2441: __string_type 2441: str() const 2441: { return _M_stringbuf.str(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: str(const __string_type& __s) 2441: { _M_stringbuf.str(__s); } 2441: }; 2441: # 524 "/usr/include/c++/8/sstream" 3 2441: template 2441: class basic_ostringstream : public basic_ostream<_CharT, _Traits> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: typedef _Alloc allocator_type; 2441: typedef typename traits_type::int_type int_type; 2441: typedef typename traits_type::pos_type pos_type; 2441: typedef typename traits_type::off_type off_type; 2441: 2441: 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; 2441: typedef basic_ostream __ostream_type; 2441: 2441: private: 2441: __stringbuf_type _M_stringbuf; 2441: 2441: public: 2441: # 560 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_ostringstream(ios_base::openmode __mode = ios_base::out) 2441: : __ostream_type(), _M_stringbuf(__mode | ios_base::out) 2441: { this->init(&_M_stringbuf); } 2441: # 578 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_ostringstream(const __string_type& __str, 2441: ios_base::openmode __mode = ios_base::out) 2441: : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out) 2441: { this->init(&_M_stringbuf); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~basic_ostringstream() 2441: { } 2441: 2441: 2441: basic_ostringstream(const basic_ostringstream&) = delete; 2441: 2441: basic_ostringstream(basic_ostringstream&& __rhs) 2441: : __ostream_type(std::move(__rhs)), 2441: _M_stringbuf(std::move(__rhs._M_stringbuf)) 2441: { __ostream_type::set_rdbuf(&_M_stringbuf); } 2441: 2441: 2441: 2441: basic_ostringstream& 2441: operator=(const basic_ostringstream&) = delete; 2441: 2441: basic_ostringstream& 2441: operator=(basic_ostringstream&& __rhs) 2441: { 2441: __ostream_type::operator=(std::move(__rhs)); 2441: _M_stringbuf = std::move(__rhs._M_stringbuf); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(basic_ostringstream& __rhs) 2441: { 2441: __ostream_type::swap(__rhs); 2441: _M_stringbuf.swap(__rhs._M_stringbuf); 2441: } 2441: # 629 "/usr/include/c++/8/sstream" 3 2441: __stringbuf_type* 2441: rdbuf() const 2441: { return const_cast<__stringbuf_type*>(&_M_stringbuf); } 2441: 2441: 2441: 2441: 2441: 2441: __string_type 2441: str() const 2441: { return _M_stringbuf.str(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: str(const __string_type& __s) 2441: { _M_stringbuf.str(__s); } 2441: }; 2441: # 668 "/usr/include/c++/8/sstream" 3 2441: template 2441: class basic_stringstream : public basic_iostream<_CharT, _Traits> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: 2441: 2441: typedef _Alloc allocator_type; 2441: typedef typename traits_type::int_type int_type; 2441: typedef typename traits_type::pos_type pos_type; 2441: typedef typename traits_type::off_type off_type; 2441: 2441: 2441: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 2441: typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; 2441: typedef basic_iostream __iostream_type; 2441: 2441: private: 2441: __stringbuf_type _M_stringbuf; 2441: 2441: public: 2441: # 703 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) 2441: : __iostream_type(), _M_stringbuf(__m) 2441: { this->init(&_M_stringbuf); } 2441: # 719 "/usr/include/c++/8/sstream" 3 2441: explicit 2441: basic_stringstream(const __string_type& __str, 2441: ios_base::openmode __m = ios_base::out | ios_base::in) 2441: : __iostream_type(), _M_stringbuf(__str, __m) 2441: { this->init(&_M_stringbuf); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~basic_stringstream() 2441: { } 2441: 2441: 2441: basic_stringstream(const basic_stringstream&) = delete; 2441: 2441: basic_stringstream(basic_stringstream&& __rhs) 2441: : __iostream_type(std::move(__rhs)), 2441: _M_stringbuf(std::move(__rhs._M_stringbuf)) 2441: { __iostream_type::set_rdbuf(&_M_stringbuf); } 2441: 2441: 2441: 2441: basic_stringstream& 2441: operator=(const basic_stringstream&) = delete; 2441: 2441: basic_stringstream& 2441: operator=(basic_stringstream&& __rhs) 2441: { 2441: __iostream_type::operator=(std::move(__rhs)); 2441: _M_stringbuf = std::move(__rhs._M_stringbuf); 2441: return *this; 2441: } 2441: 2441: void 2441: swap(basic_stringstream& __rhs) 2441: { 2441: __iostream_type::swap(__rhs); 2441: _M_stringbuf.swap(__rhs._M_stringbuf); 2441: } 2441: # 770 "/usr/include/c++/8/sstream" 3 2441: __stringbuf_type* 2441: rdbuf() const 2441: { return const_cast<__stringbuf_type*>(&_M_stringbuf); } 2441: 2441: 2441: 2441: 2441: 2441: __string_type 2441: str() const 2441: { return _M_stringbuf.str(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: str(const __string_type& __s) 2441: { _M_stringbuf.str(__s); } 2441: }; 2441: 2441: 2441: 2441: template 2441: inline void 2441: swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x, 2441: basic_stringbuf<_CharT, _Traits, _Allocator>& __y) 2441: { __x.swap(__y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x, 2441: basic_istringstream<_CharT, _Traits, _Allocator>& __y) 2441: { __x.swap(__y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x, 2441: basic_ostringstream<_CharT, _Traits, _Allocator>& __y) 2441: { __x.swap(__y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x, 2441: basic_stringstream<_CharT, _Traits, _Allocator>& __y) 2441: { __x.swap(__y); } 2441: 2441: 2441: } 2441: 2441: } 2441: 2441: # 1 "/usr/include/c++/8/bits/sstream.tcc" 1 3 2441: # 37 "/usr/include/c++/8/bits/sstream.tcc" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/sstream.tcc" 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type 2441: basic_stringbuf<_CharT, _Traits, _Alloc>:: 2441: pbackfail(int_type __c) 2441: { 2441: int_type __ret = traits_type::eof(); 2441: if (this->eback() < this->gptr()) 2441: { 2441: 2441: 2441: const bool __testeof = traits_type::eq_int_type(__c, __ret); 2441: if (!__testeof) 2441: { 2441: const bool __testeq = traits_type::eq(traits_type:: 2441: to_char_type(__c), 2441: this->gptr()[-1]); 2441: const bool __testout = this->_M_mode & ios_base::out; 2441: if (__testeq || __testout) 2441: { 2441: this->gbump(-1); 2441: if (!__testeq) 2441: *this->gptr() = traits_type::to_char_type(__c); 2441: __ret = __c; 2441: } 2441: } 2441: else 2441: { 2441: this->gbump(-1); 2441: __ret = traits_type::not_eof(__c); 2441: } 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type 2441: basic_stringbuf<_CharT, _Traits, _Alloc>:: 2441: overflow(int_type __c) 2441: { 2441: const bool __testout = this->_M_mode & ios_base::out; 2441: if (__builtin_expect(!__testout, false)) 2441: return traits_type::eof(); 2441: 2441: const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof()); 2441: if (__builtin_expect(__testeof, false)) 2441: return traits_type::not_eof(__c); 2441: 2441: const __size_type __capacity = _M_string.capacity(); 2441: 2441: 2441: if ((this->epptr() - this->pbase()) < __capacity) 2441: { 2441: 2441: char_type* __base = const_cast(_M_string.data()); 2441: _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase()); 2441: if (_M_mode & ios_base::in) 2441: { 2441: const __size_type __nget = this->gptr() - this->eback(); 2441: const __size_type __eget = this->egptr() - this->eback(); 2441: this->setg(__base, __base + __nget, __base + __eget + 1); 2441: } 2441: *this->pptr() = traits_type::to_char_type(__c); 2441: this->pbump(1); 2441: return __c; 2441: } 2441: 2441: 2441: const __size_type __max_size = _M_string.max_size(); 2441: const bool __testput = this->pptr() < this->epptr(); 2441: if (__builtin_expect(!__testput && __capacity == __max_size, false)) 2441: return traits_type::eof(); 2441: 2441: 2441: 2441: const char_type __conv = traits_type::to_char_type(__c); 2441: if (!__testput) 2441: { 2441: # 129 "/usr/include/c++/8/bits/sstream.tcc" 3 2441: const __size_type __opt_len = std::max(__size_type(2 * __capacity), 2441: __size_type(512)); 2441: const __size_type __len = std::min(__opt_len, __max_size); 2441: __string_type __tmp(_M_string.get_allocator()); 2441: __tmp.reserve(__len); 2441: if (this->pbase()) 2441: __tmp.assign(this->pbase(), this->epptr() - this->pbase()); 2441: __tmp.push_back(__conv); 2441: _M_string.swap(__tmp); 2441: _M_sync(const_cast(_M_string.data()), 2441: this->gptr() - this->eback(), this->pptr() - this->pbase()); 2441: } 2441: else 2441: *this->pptr() = __conv; 2441: this->pbump(1); 2441: return __c; 2441: } 2441: 2441: template 2441: typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type 2441: basic_stringbuf<_CharT, _Traits, _Alloc>:: 2441: underflow() 2441: { 2441: int_type __ret = traits_type::eof(); 2441: const bool __testin = this->_M_mode & ios_base::in; 2441: if (__testin) 2441: { 2441: 2441: _M_update_egptr(); 2441: 2441: if (this->gptr() < this->egptr()) 2441: __ret = traits_type::to_int_type(*this->gptr()); 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type 2441: basic_stringbuf<_CharT, _Traits, _Alloc>:: 2441: seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode) 2441: { 2441: pos_type __ret = pos_type(off_type(-1)); 2441: bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; 2441: bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; 2441: const bool __testboth = __testin && __testout && __way != ios_base::cur; 2441: __testin &= !(__mode & ios_base::out); 2441: __testout &= !(__mode & ios_base::in); 2441: 2441: 2441: 2441: const char_type* __beg = __testin ? this->eback() : this->pbase(); 2441: if ((__beg || !__off) && (__testin || __testout || __testboth)) 2441: { 2441: _M_update_egptr(); 2441: 2441: off_type __newoffi = __off; 2441: off_type __newoffo = __newoffi; 2441: if (__way == ios_base::cur) 2441: { 2441: __newoffi += this->gptr() - __beg; 2441: __newoffo += this->pptr() - __beg; 2441: } 2441: else if (__way == ios_base::end) 2441: __newoffo = __newoffi += this->egptr() - __beg; 2441: 2441: if ((__testin || __testboth) 2441: && __newoffi >= 0 2441: && this->egptr() - __beg >= __newoffi) 2441: { 2441: this->setg(this->eback(), this->eback() + __newoffi, 2441: this->egptr()); 2441: __ret = pos_type(__newoffi); 2441: } 2441: if ((__testout || __testboth) 2441: && __newoffo >= 0 2441: && this->egptr() - __beg >= __newoffo) 2441: { 2441: _M_pbump(this->pbase(), this->epptr(), __newoffo); 2441: __ret = pos_type(__newoffo); 2441: } 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type 2441: basic_stringbuf<_CharT, _Traits, _Alloc>:: 2441: seekpos(pos_type __sp, ios_base::openmode __mode) 2441: { 2441: pos_type __ret = pos_type(off_type(-1)); 2441: const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; 2441: const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; 2441: 2441: const char_type* __beg = __testin ? this->eback() : this->pbase(); 2441: if ((__beg || !off_type(__sp)) && (__testin || __testout)) 2441: { 2441: _M_update_egptr(); 2441: 2441: const off_type __pos(__sp); 2441: const bool __testpos = (0 <= __pos 2441: && __pos <= this->egptr() - __beg); 2441: if (__testpos) 2441: { 2441: if (__testin) 2441: this->setg(this->eback(), this->eback() + __pos, 2441: this->egptr()); 2441: if (__testout) 2441: _M_pbump(this->pbase(), this->epptr(), __pos); 2441: __ret = __sp; 2441: } 2441: } 2441: return __ret; 2441: } 2441: 2441: template 2441: void 2441: basic_stringbuf<_CharT, _Traits, _Alloc>:: 2441: _M_sync(char_type* __base, __size_type __i, __size_type __o) 2441: { 2441: const bool __testin = _M_mode & ios_base::in; 2441: const bool __testout = _M_mode & ios_base::out; 2441: char_type* __endg = __base + _M_string.size(); 2441: char_type* __endp = __base + _M_string.capacity(); 2441: 2441: if (__base != _M_string.data()) 2441: { 2441: 2441: __endg += __i; 2441: __i = 0; 2441: __endp = __endg; 2441: } 2441: 2441: if (__testin) 2441: this->setg(__base, __base + __i, __endg); 2441: if (__testout) 2441: { 2441: _M_pbump(__base, __endp, __o); 2441: 2441: 2441: 2441: if (!__testin) 2441: this->setg(__endg, __endg, __endg); 2441: } 2441: } 2441: 2441: template 2441: void 2441: basic_stringbuf<_CharT, _Traits, _Alloc>:: 2441: _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off) 2441: { 2441: this->setp(__pbeg, __pend); 2441: while (__off > __gnu_cxx::__numeric_traits::__max) 2441: { 2441: this->pbump(__gnu_cxx::__numeric_traits::__max); 2441: __off -= __gnu_cxx::__numeric_traits::__max; 2441: } 2441: this->pbump(__off); 2441: } 2441: 2441: 2441: 2441: 2441: extern template class basic_stringbuf; 2441: extern template class basic_istringstream; 2441: extern template class basic_ostringstream; 2441: extern template class basic_stringstream; 2441: 2441: 2441: extern template class basic_stringbuf; 2441: extern template class basic_istringstream; 2441: extern template class basic_ostringstream; 2441: extern template class basic_stringstream; 2441: 2441: 2441: 2441: 2441: } 2441: # 828 "/usr/include/c++/8/sstream" 2 3 2441: # 28 "../../src/checked_mpz_inlines.hh" 2 2441: 2441: 2441: # 29 "../../src/checked_mpz_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Checked { 2441: 2441: template 2441: inline Result 2441: round_lt_mpz(mpz_class& to, Rounding_Dir dir) { 2441: if (round_down(dir)) { 2441: --to; 2441: return V_GT; 2441: } 2441: return V_LT; 2441: } 2441: 2441: template 2441: inline Result 2441: round_gt_mpz(mpz_class& to, Rounding_Dir dir) { 2441: if (round_up(dir)) { 2441: ++to; 2441: return V_LT; 2441: } 2441: return V_GT; 2441: } 2441: 2441: 2441: 2441: typedef decltype(__mpz_struct()._mp_size) mp_size_field_t; 2441: # 64 "../../src/checked_mpz_inlines.hh" 2441: inline mp_size_field_t 2441: get_mp_size(const mpz_class &v) { 2441: return v.get_mpz_t()->_mp_size; 2441: } 2441: 2441: inline void 2441: set_mp_size(mpz_class &v, mp_size_field_t size) { 2441: v.get_mpz_t()->_mp_size = size; 2441: } 2441: 2441: template 2441: inline Result 2441: classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) { 2441: if (Policy::has_nan || Policy::has_infinity) { 2441: mp_size_field_t s = get_mp_size(v); 2441: if (Policy::has_nan 2441: && (nan || sign) 2441: && s == C_Integer::min + 1) { 2441: return V_NAN; 2441: } 2441: if (!inf && !sign) { 2441: return V_LGE; 2441: } 2441: if (Policy::has_infinity) { 2441: if (s == C_Integer::min) { 2441: return inf ? V_EQ_MINUS_INFINITY : V_LT; 2441: } 2441: if (s == C_Integer::max) { 2441: return inf ? V_EQ_PLUS_INFINITY : V_GT; 2441: } 2441: } 2441: } 2441: if (sign) { 2441: return static_cast(sgn(v)); 2441: } 2441: return V_LGE; 2441: } 2441: 2441: template struct classify_function_struct { static inline Result function(const mpz_class& arg, bool a1, bool a2, bool a3) { return classify_mpz(arg, a1, a2, a3); } }; 2441: 2441: template 2441: inline bool 2441: is_nan_mpz(const mpz_class& v) { 2441: return Policy::has_nan 2441: && get_mp_size(v) == C_Integer::min + 1; 2441: } 2441: 2441: template struct is_nan_function_struct { static inline bool function(const mpz_class& arg) { return is_nan_mpz(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_minf_mpz(const mpz_class& v) { 2441: return Policy::has_infinity 2441: && get_mp_size(v) == C_Integer::min; 2441: } 2441: 2441: template struct is_minf_function_struct { static inline bool function(const mpz_class& arg) { return is_minf_mpz(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_pinf_mpz(const mpz_class& v) { 2441: return Policy::has_infinity 2441: && get_mp_size(v) == C_Integer::max; 2441: } 2441: 2441: template struct is_pinf_function_struct { static inline bool function(const mpz_class& arg) { return is_pinf_mpz(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_int_mpz(const mpz_class& v) { 2441: return !is_nan(v); 2441: } 2441: 2441: template struct is_int_function_struct { static inline bool function(const mpz_class& arg) { return is_int_mpz(arg); } }; 2441: 2441: template 2441: inline Result 2441: assign_special_mpz(mpz_class& v, Result_Class c, Rounding_Dir) { 2441: switch (c) { 2441: case VC_NAN: 2441: if (Policy::has_nan) { 2441: set_mp_size(v, C_Integer::min + 1); 2441: } 2441: return V_NAN; 2441: case VC_MINUS_INFINITY: 2441: if (Policy::has_infinity) { 2441: set_mp_size(v, C_Integer::min); 2441: return V_EQ_MINUS_INFINITY; 2441: } 2441: return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE; 2441: case VC_PLUS_INFINITY: 2441: if (Policy::has_infinity) { 2441: set_mp_size(v, C_Integer::max); 2441: return V_EQ_PLUS_INFINITY; 2441: } 2441: return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN; 2441: } 2441: } 2441: 2441: template struct assign_special_function_struct { static inline Result function( mpz_class& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_mpz(arg, a1, a2); } }; 2441: 2441: template 2441: inline void 2441: copy_mpz(mpz_class& to, const mpz_class& from) { 2441: if (is_nan_mpz(from)) { 2441: ((void) 0); 2441: } 2441: else if (is_minf_mpz(from) || is_pinf_mpz(from)) { 2441: ((void) 0); 2441: } 2441: else { 2441: to = from; 2441: return; 2441: } 2441: set_mp_size(to, get_mp_size(from)); 2441: } 2441: 2441: template struct copy_function_struct { static inline void function( mpz_class& arg1, const mpz_class &arg2) { return copy_mpz(arg1, arg2); } }; 2441: 2441: template 2441: inline Result 2441: construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) { 2441: new(&to) mpz_class(from); 2441: return V_EQ; 2441: } 2441: 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const char &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const signed char &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const signed short &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const signed int &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const signed long &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const unsigned char &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const unsigned short &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const unsigned int &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const unsigned long &arg2, Rounding_Dir a1) { return construct_mpz_base(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: construct_mpz_float(mpz_class& to, const From& from, Rounding_Dir dir) { 2441: if (is_nan(from)) { 2441: return construct_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(from)) { 2441: return construct_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(from)) { 2441: return construct_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: if (round_not_requested(dir)) { 2441: new(&to) mpz_class(from); 2441: return V_LGE; 2441: } 2441: From n = rint(from); 2441: new(&to) mpz_class(n); 2441: if (from == n) { 2441: return V_EQ; 2441: } 2441: if (from < 0) { 2441: return round_lt_mpz(to, dir); 2441: } 2441: else { 2441: return round_gt_mpz(to, dir); 2441: } 2441: } 2441: 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const float &arg2, Rounding_Dir a1) { return construct_mpz_float(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpz_class& arg1, const double &arg2, Rounding_Dir a1) { return construct_mpz_float(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const char &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpz_signed_int(mpz_class& to, const From from, Rounding_Dir) { 2441: if (sizeof(From) <= sizeof(signed long)) { 2441: to = static_cast(from); 2441: } 2441: else { 2441: mpz_ptr m = to.get_mpz_t(); 2441: if (from >= 0) { 2441: 2441: # 255 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_import 2441: # 255 "../../src/checked_mpz_inlines.hh" 2441: (m, 1, 1, sizeof(From), 0, 0, &from); 2441: } 2441: else { 2441: From n = -from; 2441: 2441: # 259 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_import 2441: # 259 "../../src/checked_mpz_inlines.hh" 2441: (m, 1, 1, sizeof(From), 0, 0, &n); 2441: 2441: # 260 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_neg 2441: # 260 "../../src/checked_mpz_inlines.hh" 2441: (m, m); 2441: } 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_mpz_signed_int(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpz_unsigned_int(mpz_class& to, const From from, Rounding_Dir) { 2441: if (sizeof(From) <= sizeof(unsigned long)) { 2441: to = static_cast(from); 2441: } 2441: else { 2441: 2441: # 275 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_import 2441: # 275 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_mpz_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) { 2441: if (is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(from)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(from)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: if (round_not_requested(dir)) { 2441: to = from; 2441: return V_LGE; 2441: } 2441: From i_from = rint(from); 2441: to = i_from; 2441: if (from == i_from) { 2441: return V_EQ; 2441: } 2441: if (round_direct(ROUND_UP)) { 2441: return round_lt_mpz(to, dir); 2441: } 2441: if (round_direct(ROUND_DOWN)) { 2441: return round_gt_mpz(to, dir); 2441: } 2441: if (from < i_from) { 2441: return round_lt_mpz(to, dir); 2441: } 2441: if (from > i_from) { 2441: return round_gt_mpz(to, dir); 2441: } 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN; 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const float &arg2, Rounding_Dir a1) { return assign_mpz_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const double &arg2, Rounding_Dir a1) { return assign_mpz_float(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) { 2441: if (is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(from)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(from)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: 2441: std::stringstream ss; 2441: output(ss, from, Numeric_Format(), dir); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; mpq_class& tmp = holder_tmp.item(); 2441: 2441: 2441: 2441: input_mpq(tmp, ss); 2441: ((void) 0); 2441: return assign(to, tmp, dir); 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const long double &arg2, Rounding_Dir a1) { return assign_mpz_long_double(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) { 2441: if (round_not_needed(dir)) { 2441: to = from.get_num(); 2441: return V_LGE; 2441: } 2441: if (round_ignore(dir)) { 2441: to = from; 2441: return V_LGE; 2441: } 2441: const mpz_srcptr n = from.get_num().get_mpz_t(); 2441: const mpz_srcptr d = from.get_den().get_mpz_t(); 2441: if (round_down(dir)) { 2441: 2441: # 362 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_fdiv_q 2441: # 362 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, d); 2441: if (round_strict_relation(dir)) { 2441: return ( 2441: # 364 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_divisible_p 2441: # 364 "../../src/checked_mpz_inlines.hh" 2441: (n, d) != 0) ? V_EQ : V_GT; 2441: } 2441: return V_GE; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: # 370 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_cdiv_q 2441: # 370 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, d); 2441: if (round_strict_relation(dir)) { 2441: return ( 2441: # 372 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_divisible_p 2441: # 372 "../../src/checked_mpz_inlines.hh" 2441: (n, d) != 0) ? V_EQ : V_LT; 2441: } 2441: return V_LE; 2441: } 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpz_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_mpz_mpq(arg1, arg2, a1); } }; 2441: 2441: template struct floor_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct ceil_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct trunc_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: neg_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) { 2441: 2441: # 387 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_neg 2441: # 387 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), from.get_mpz_t()); 2441: return V_EQ; 2441: } 2441: 2441: template struct neg_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return neg_mpz(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: add_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) { 2441: to = x + y; 2441: return V_EQ; 2441: } 2441: 2441: template struct add_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return add_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: sub_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) { 2441: to = x - y; 2441: return V_EQ; 2441: } 2441: 2441: template struct sub_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return sub_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) { 2441: to = x * y; 2441: return V_EQ; 2441: } 2441: 2441: template struct mul_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return mul_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, 2441: Rounding_Dir dir) { 2441: if (((To_Policy::check_div_zero) ? (::sgn(y) == 0) : ( 2441: # 424 "../../src/checked_mpz_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 424 "../../src/checked_mpz_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: const mpz_srcptr n = x.get_mpz_t(); 2441: const mpz_srcptr d = y.get_mpz_t(); 2441: if (round_not_needed(dir)) { 2441: 2441: # 430 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_divexact 2441: # 430 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, d); 2441: return V_LGE; 2441: } 2441: if (round_ignore(dir)) { 2441: 2441: # 434 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_cdiv_q 2441: # 434 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, d); 2441: return V_LE; 2441: } 2441: if (round_down(dir)) { 2441: 2441: # 438 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_fdiv_q 2441: # 438 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, d); 2441: if (round_strict_relation(dir)) { 2441: return ( 2441: # 440 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_divisible_p 2441: # 440 "../../src/checked_mpz_inlines.hh" 2441: (n, d) != 0) ? V_EQ : V_GT; 2441: } 2441: return V_GE; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: # 446 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_cdiv_q 2441: # 446 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, d); 2441: if (round_strict_relation(dir)) { 2441: return ( 2441: # 448 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_divisible_p 2441: # 448 "../../src/checked_mpz_inlines.hh" 2441: (n, d) != 0) ? V_EQ : V_LT; 2441: } 2441: return V_LE; 2441: } 2441: } 2441: 2441: template struct div_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return div_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: idiv_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, 2441: Rounding_Dir) { 2441: if (((To_Policy::check_div_zero) ? (::sgn(y) == 0) : ( 2441: # 460 "../../src/checked_mpz_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 460 "../../src/checked_mpz_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: mpz_srcptr n = x.get_mpz_t(); 2441: mpz_srcptr d = y.get_mpz_t(); 2441: 2441: # 465 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_tdiv_q 2441: # 465 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, d); 2441: return V_EQ; 2441: } 2441: 2441: template struct idiv_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return idiv_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: rem_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) { 2441: if (((To_Policy::check_div_zero) ? (::sgn(y) == 0) : ( 2441: # 474 "../../src/checked_mpz_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 474 "../../src/checked_mpz_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_MOD_ZERO); 2441: } 2441: to = x % y; 2441: return V_EQ; 2441: } 2441: 2441: template struct rem_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return rem_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: add_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_v; mpz_class& v = holder_v.item(); 2441: v = 1; 2441: 2441: # 489 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 489 "../../src/checked_mpz_inlines.hh" 2441: (v.get_mpz_t(), v.get_mpz_t(), exp); 2441: to = x + v; 2441: return V_EQ; 2441: } 2441: 2441: template struct add_2exp_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_mpz(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: sub_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_v; mpz_class& v = holder_v.item(); 2441: v = 1; 2441: 2441: # 502 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 502 "../../src/checked_mpz_inlines.hh" 2441: (v.get_mpz_t(), v.get_mpz_t(), exp); 2441: to = x - v; 2441: return V_EQ; 2441: } 2441: 2441: template struct sub_2exp_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_mpz(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: mul_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: 2441: # 513 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 513 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), exp); 2441: return V_EQ; 2441: } 2441: 2441: template struct mul_2exp_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_mpz(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: div_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp, 2441: Rounding_Dir dir) { 2441: const mpz_srcptr n = x.get_mpz_t(); 2441: if (round_not_requested(dir)) { 2441: 2441: # 525 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_tdiv_q_2exp 2441: # 525 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), exp); 2441: return V_LGE; 2441: } 2441: if (round_down(dir)) { 2441: 2441: # 529 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_fdiv_q_2exp 2441: # 529 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, exp); 2441: if (round_strict_relation(dir)) { 2441: return ( 2441: # 531 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_divisible_2exp_p 2441: # 531 "../../src/checked_mpz_inlines.hh" 2441: (n, exp) != 0) ? V_EQ : V_GT; 2441: } 2441: return V_GE; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: # 537 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_cdiv_q_2exp 2441: # 537 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), n, exp); 2441: if (round_strict_relation(dir)) { 2441: return ( 2441: # 539 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_divisible_2exp_p 2441: # 539 "../../src/checked_mpz_inlines.hh" 2441: (n, exp) != 0) ? V_EQ : V_LT; 2441: } 2441: return V_LE; 2441: } 2441: } 2441: 2441: template struct div_2exp_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_mpz(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: smod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: if ( 2441: # 551 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_tstbit 2441: # 551 "../../src/checked_mpz_inlines.hh" 2441: (x.get_mpz_t(), exp - 1) != 0) { 2441: 2441: # 552 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_cdiv_r_2exp 2441: # 552 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), exp); 2441: } 2441: else { 2441: 2441: # 555 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_fdiv_r_2exp 2441: # 555 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), exp); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template struct smod_2exp_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_mpz(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: umod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: 2441: # 566 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_fdiv_r_2exp 2441: # 566 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), exp); 2441: return V_EQ; 2441: } 2441: 2441: template struct umod_2exp_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_mpz(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) { 2441: to = abs(from); 2441: return V_EQ; 2441: } 2441: 2441: template struct abs_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return abs_mpz(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: add_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, 2441: Rounding_Dir) { 2441: 2441: # 585 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_addmul 2441: # 585 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t()); 2441: return V_EQ; 2441: } 2441: 2441: template struct add_mul_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return add_mul_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: sub_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, 2441: Rounding_Dir) { 2441: 2441: # 595 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_submul 2441: # 595 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t()); 2441: return V_EQ; 2441: } 2441: 2441: template struct sub_mul_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return sub_mul_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: gcd_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) { 2441: 2441: # 604 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_gcd 2441: # 604 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t()); 2441: return V_EQ; 2441: } 2441: 2441: template struct gcd_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return gcd_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: gcdext_mpz(mpz_class& to, mpz_class& s, mpz_class& t, 2441: const mpz_class& x, const mpz_class& y, 2441: Rounding_Dir) { 2441: 2441: # 615 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_gcdext 2441: # 615 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), s.get_mpz_t(), t.get_mpz_t(), 2441: x.get_mpz_t(), y.get_mpz_t()); 2441: return V_EQ; 2441: } 2441: 2441: template struct gcdext_function_struct { static inline Result function( mpz_class& arg1, mpz_class &arg2, mpz_class &arg3, const mpz_class &arg4, const mpz_class &arg5, Rounding_Dir a1) { return gcdext_mpz(arg1, arg2, arg3, arg4, arg5, a1); } }; 2441: 2441: template 2441: inline Result 2441: lcm_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) { 2441: 2441: # 625 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_lcm 2441: # 625 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t()); 2441: return V_EQ; 2441: } 2441: 2441: template struct lcm_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, const mpz_class &arg3, Rounding_Dir a1) { return lcm_mpz(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) { 2441: if (((To_Policy::check_sqrt_neg) ? (from < 0) : ( 2441: # 634 "../../src/checked_mpz_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 634 "../../src/checked_mpz_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_SQRT_NEG); 2441: } 2441: if (round_not_requested(dir)) { 2441: to = sqrt(from); 2441: return V_GE; 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_r; mpz_class& r = holder_r.item(); 2441: 2441: # 642 "../../src/checked_mpz_inlines.hh" 3 4 2441: __gmpz_sqrtrem 2441: # 642 "../../src/checked_mpz_inlines.hh" 2441: (to.get_mpz_t(), r.get_mpz_t(), from.get_mpz_t()); 2441: if (r == 0) { 2441: return V_EQ; 2441: } 2441: return round_gt_mpz(to, dir); 2441: } 2441: 2441: template struct sqrt_function_struct { static inline Result function( mpz_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return sqrt_mpz(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result_Relation 2441: sgn_mp(const Type& x) { 2441: const int sign = ::sgn(x); 2441: return (sign > 0) ? VR_GT : ((sign < 0) ? VR_LT : VR_EQ); 2441: } 2441: 2441: template struct sgn_function_struct { static inline Result_Relation function(const mpz_class& arg) { return sgn_mp(arg); } }; 2441: template struct sgn_function_struct { static inline Result_Relation function(const mpq_class& arg) { return sgn_mp(arg); } }; 2441: 2441: template 2441: inline Result_Relation 2441: cmp_mp(const Type& x, const Type& y) { 2441: int i = ::cmp(x, y); 2441: return (i > 0) ? VR_GT : ((i < 0) ? VR_LT : VR_EQ); 2441: } 2441: 2441: template struct cmp_function_struct { static inline Result_Relation function(const mpz_class& arg1, const mpz_class &arg2) { return cmp_mp(arg1, arg2); } }; 2441: template struct cmp_function_struct { static inline Result_Relation function(const mpq_class& arg1, const mpq_class &arg2) { return cmp_mp(arg1, arg2); } }; 2441: 2441: template 2441: inline Result 2441: output_mpz(std::ostream& os, const mpz_class& from, const Numeric_Format&, 2441: Rounding_Dir) { 2441: os << from; 2441: return V_EQ; 2441: } 2441: 2441: template struct input_function_struct { static inline Result function( mpz_class& arg, std::istream& a1, Rounding_Dir a2) { return input_generic(arg, a1, a2); } }; 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const mpz_class& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_mpz(b1, arg, a1, a2); } }; 2441: 2441: } 2441: 2441: } 2441: # 704 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/checked_mpq_inlines.hh" 1 2441: # 28 "../../src/checked_mpq_inlines.hh" 2441: # 1 "/usr/include/c++/8/climits" 1 3 2441: # 39 "/usr/include/c++/8/climits" 3 2441: 2441: # 40 "/usr/include/c++/8/climits" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 43 "/usr/include/c++/8/climits" 2 3 2441: # 29 "../../src/checked_mpq_inlines.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Checked { 2441: 2441: template 2441: inline Result 2441: classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) { 2441: if ((Policy::has_nan || Policy::has_infinity) 2441: && ::sgn(v.get_den()) == 0) { 2441: int s = ::sgn(v.get_num()); 2441: if (Policy::has_nan && (nan || sign) && s == 0) { 2441: return V_NAN; 2441: } 2441: if (!inf && !sign) { 2441: return V_LGE; 2441: } 2441: if (Policy::has_infinity) { 2441: if (s < 0) { 2441: return inf ? V_EQ_MINUS_INFINITY : V_LT; 2441: } 2441: if (s > 0) { 2441: return inf ? V_EQ_PLUS_INFINITY : V_GT; 2441: } 2441: } 2441: } 2441: if (sign) { 2441: return static_cast(sgn(v)); 2441: } 2441: return V_LGE; 2441: } 2441: 2441: template struct classify_function_struct { static inline Result function(const mpq_class& arg, bool a1, bool a2, bool a3) { return classify_mpq(arg, a1, a2, a3); } }; 2441: 2441: template 2441: inline bool 2441: is_nan_mpq(const mpq_class& v) { 2441: return Policy::has_nan 2441: && ::sgn(v.get_den()) == 0 2441: && ::sgn(v.get_num()) == 0; 2441: } 2441: 2441: template struct is_nan_function_struct { static inline bool function(const mpq_class& arg) { return is_nan_mpq(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_minf_mpq(const mpq_class& v) { 2441: return Policy::has_infinity 2441: && ::sgn(v.get_den()) == 0 2441: && ::sgn(v.get_num()) < 0; 2441: } 2441: 2441: template struct is_minf_function_struct { static inline bool function(const mpq_class& arg) { return is_minf_mpq(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_pinf_mpq(const mpq_class& v) { 2441: return Policy::has_infinity 2441: && ::sgn(v.get_den()) == 0 2441: && ::sgn(v.get_num()) > 0; 2441: } 2441: 2441: template struct is_pinf_function_struct { static inline bool function(const mpq_class& arg) { return is_pinf_mpq(arg); } }; 2441: 2441: template 2441: inline bool 2441: is_int_mpq(const mpq_class& v) { 2441: if ((Policy::has_infinity || Policy::has_nan) 2441: && ::sgn(v.get_den()) == 0) { 2441: return !(Policy::has_nan && ::sgn(v.get_num()) == 0); 2441: } 2441: else { 2441: return v.get_den() == 1; 2441: } 2441: } 2441: 2441: template struct is_int_function_struct { static inline bool function(const mpq_class& arg) { return is_int_mpq(arg); } }; 2441: 2441: template 2441: inline Result 2441: assign_special_mpq(mpq_class& v, Result_Class c, Rounding_Dir) { 2441: switch (c) { 2441: case VC_NAN: 2441: if (Policy::has_nan) { 2441: v.get_num() = 0; 2441: v.get_den() = 0; 2441: return V_NAN | V_UNREPRESENTABLE; 2441: } 2441: return V_NAN; 2441: case VC_MINUS_INFINITY: 2441: if (Policy::has_infinity) { 2441: v.get_num() = -1; 2441: v.get_den() = 0; 2441: return V_EQ_MINUS_INFINITY; 2441: } 2441: return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE; 2441: case VC_PLUS_INFINITY: 2441: if (Policy::has_infinity) { 2441: v.get_num() = 1; 2441: v.get_den() = 0; 2441: return V_EQ_PLUS_INFINITY; 2441: } 2441: return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN | V_UNREPRESENTABLE; 2441: } 2441: } 2441: 2441: template struct assign_special_function_struct { static inline Result function( mpq_class& arg, Result_Class a1, Rounding_Dir a2) { return assign_special_mpq(arg, a1, a2); } }; 2441: 2441: template struct copy_function_struct { static inline void function( mpq_class& arg1, const mpq_class &arg2) { return copy_generic(arg1, arg2); } }; 2441: 2441: template 2441: inline Result 2441: construct_mpq_base(mpq_class& to, const From& from, Rounding_Dir) { 2441: new(&to) mpq_class(from); 2441: return V_EQ; 2441: } 2441: 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const char &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const signed char &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const signed short &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const signed int &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const signed long &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const unsigned char &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const unsigned short &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const unsigned int &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const unsigned long &arg2, Rounding_Dir a1) { return construct_mpq_base(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: construct_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) { 2441: if (is_nan(from)) { 2441: return construct_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(from)) { 2441: return construct_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(from)) { 2441: return construct_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: new(&to) mpq_class(from); 2441: return V_EQ; 2441: } 2441: 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const float &arg2, Rounding_Dir a1) { return construct_mpq_float(arg1, arg2, a1); } }; 2441: template struct construct_function_struct { static inline Result function( mpq_class& arg1, const double &arg2, Rounding_Dir a1) { return construct_mpq_float(arg1, arg2, a1); } }; 2441: 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const mpz_class &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const char &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const signed char &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const signed short &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const signed int &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const signed long &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const unsigned char &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const unsigned short &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const unsigned int &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const unsigned long &arg2, Rounding_Dir a1) { return assign_exact(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) { 2441: if (is_nan(from)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(from)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(from)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: assign_mpq_numeric_float(to, from); 2441: return V_EQ; 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const float &arg2, Rounding_Dir a1) { return assign_mpq_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const double &arg2, Rounding_Dir a1) { return assign_mpq_float(arg1, arg2, a1); } }; 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const long double &arg2, Rounding_Dir a1) { return assign_mpq_float(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpq_signed_int(mpq_class& to, const From from, Rounding_Dir) { 2441: if (sizeof(From) <= sizeof(signed long)) { 2441: to = static_cast(from); 2441: } 2441: else { 2441: mpz_ptr m = to.get_num().get_mpz_t(); 2441: if (from >= 0) { 2441: 2441: # 221 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_import 2441: # 221 "../../src/checked_mpq_inlines.hh" 2441: (m, 1, 1, sizeof(From), 0, 0, &from); 2441: } 2441: else { 2441: From n = -from; 2441: 2441: # 225 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_import 2441: # 225 "../../src/checked_mpq_inlines.hh" 2441: (m, 1, 1, sizeof(From), 0, 0, &n); 2441: 2441: # 226 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_neg 2441: # 226 "../../src/checked_mpq_inlines.hh" 2441: (m, m); 2441: } 2441: to.get_den() = 1; 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const signed long long &arg2, Rounding_Dir a1) { return assign_mpq_signed_int(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: assign_mpq_unsigned_int(mpq_class& to, const From from, Rounding_Dir) { 2441: if (sizeof(From) <= sizeof(unsigned long)) { 2441: to = static_cast(from); 2441: } 2441: else { 2441: 2441: # 242 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_import 2441: # 242 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from); 2441: to.get_den() = 1; 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template struct assign_function_struct { static inline Result function( mpq_class& arg1, const unsigned long long &arg2, Rounding_Dir a1) { return assign_mpq_unsigned_int(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: floor_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) { 2441: 2441: # 253 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_fdiv_q 2441: # 253 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), 2441: from.get_num().get_mpz_t(), from.get_den().get_mpz_t()); 2441: to.get_den() = 1; 2441: return V_EQ; 2441: } 2441: 2441: template struct floor_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return floor_mpq(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: ceil_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) { 2441: 2441: # 264 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_cdiv_q 2441: # 264 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), 2441: from.get_num().get_mpz_t(), from.get_den().get_mpz_t()); 2441: to.get_den() = 1; 2441: return V_EQ; 2441: } 2441: 2441: template struct ceil_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return ceil_mpq(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: trunc_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) { 2441: 2441: # 275 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_tdiv_q 2441: # 275 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), 2441: from.get_num().get_mpz_t(), from.get_den().get_mpz_t()); 2441: to.get_den() = 1; 2441: return V_EQ; 2441: } 2441: 2441: template struct trunc_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return trunc_mpq(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: neg_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) { 2441: 2441: # 286 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpq_neg 2441: # 286 "../../src/checked_mpq_inlines.hh" 2441: (to.get_mpq_t(), from.get_mpq_t()); 2441: return V_EQ; 2441: } 2441: 2441: template struct neg_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return neg_mpq(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: add_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) { 2441: to = x + y; 2441: return V_EQ; 2441: } 2441: 2441: template struct add_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return add_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: sub_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) { 2441: to = x - y; 2441: return V_EQ; 2441: } 2441: 2441: template struct sub_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return sub_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) { 2441: to = x * y; 2441: return V_EQ; 2441: } 2441: 2441: template struct mul_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return mul_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: div_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) { 2441: if (((To_Policy::check_div_zero) ? (sgn(y) == 0) : ( 2441: # 322 "../../src/checked_mpq_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 322 "../../src/checked_mpq_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: to = x / y; 2441: return V_EQ; 2441: } 2441: 2441: template struct div_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return div_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: idiv_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir dir) { 2441: if (((To_Policy::check_div_zero) ? (sgn(y) == 0) : ( 2441: # 334 "../../src/checked_mpq_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 334 "../../src/checked_mpq_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: to = x / y; 2441: return trunc(to, to, dir); 2441: } 2441: 2441: template struct idiv_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return idiv_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: rem_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) { 2441: if (((To_Policy::check_div_zero) ? (sgn(y) == 0) : ( 2441: # 346 "../../src/checked_mpq_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 346 "../../src/checked_mpq_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_MOD_ZERO); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; mpq_class& tmp = holder_tmp.item(); 2441: tmp = x / y; 2441: tmp.get_num() %= tmp.get_den(); 2441: to = tmp * y; 2441: return V_EQ; 2441: } 2441: 2441: template struct rem_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return rem_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: add_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_v; mpz_class& v = holder_v.item(); 2441: v = 1; 2441: 2441: # 364 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 364 "../../src/checked_mpq_inlines.hh" 2441: (v.get_mpz_t(), v.get_mpz_t(), exp); 2441: to = x + v; 2441: return V_EQ; 2441: } 2441: 2441: template struct add_2exp_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, unsigned int a1, Rounding_Dir a2) { return add_2exp_mpq(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: sub_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_v; mpz_class& v = holder_v.item(); 2441: v = 1; 2441: 2441: # 377 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 377 "../../src/checked_mpq_inlines.hh" 2441: (v.get_mpz_t(), v.get_mpz_t(), exp); 2441: to = x - v; 2441: return V_EQ; 2441: } 2441: 2441: template struct sub_2exp_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, unsigned int a1, Rounding_Dir a2) { return sub_2exp_mpq(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: mul_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: 2441: # 388 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 388 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), exp); 2441: to.get_den() = x.get_den(); 2441: to.canonicalize(); 2441: return V_EQ; 2441: } 2441: 2441: template struct mul_2exp_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, unsigned int a1, Rounding_Dir a2) { return mul_2exp_mpq(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: div_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: to.get_num() = x.get_num(); 2441: 2441: # 401 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 401 "../../src/checked_mpq_inlines.hh" 2441: (to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp); 2441: to.canonicalize(); 2441: return V_EQ; 2441: } 2441: 2441: template struct div_2exp_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, unsigned int a1, Rounding_Dir a2) { return div_2exp_mpq(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: smod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: 2441: # 412 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 412 "../../src/checked_mpq_inlines.hh" 2441: (to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp); 2441: 2441: # 413 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_fdiv_r 2441: # 413 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t()); 2441: 2441: # 414 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_fdiv_q_2exp 2441: # 414 "../../src/checked_mpq_inlines.hh" 2441: (to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1); 2441: bool neg = to.get_num() >= to.get_den(); 2441: 2441: # 416 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 416 "../../src/checked_mpq_inlines.hh" 2441: (to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1); 2441: if (neg) { 2441: to.get_num() -= to.get_den(); 2441: } 2441: 2441: # 420 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 420 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp); 2441: to.canonicalize(); 2441: return V_EQ; 2441: } 2441: 2441: template struct smod_2exp_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, unsigned int a1, Rounding_Dir a2) { return smod_2exp_mpq(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: umod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp, 2441: Rounding_Dir) { 2441: 2441: # 431 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 431 "../../src/checked_mpq_inlines.hh" 2441: (to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp); 2441: 2441: # 432 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_fdiv_r 2441: # 432 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t()); 2441: 2441: # 433 "../../src/checked_mpq_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 433 "../../src/checked_mpq_inlines.hh" 2441: (to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp); 2441: to.canonicalize(); 2441: return V_EQ; 2441: } 2441: 2441: template struct umod_2exp_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, unsigned int a1, Rounding_Dir a2) { return umod_2exp_mpq(arg1, arg2, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: abs_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) { 2441: to = abs(from); 2441: return V_EQ; 2441: } 2441: 2441: template struct abs_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return abs_mpq(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: add_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, 2441: Rounding_Dir) { 2441: to += x * y; 2441: return V_EQ; 2441: } 2441: 2441: template struct add_mul_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return add_mul_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: template 2441: inline Result 2441: sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, 2441: Rounding_Dir) { 2441: to -= x * y; 2441: return V_EQ; 2441: } 2441: 2441: template struct sub_mul_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, const mpq_class &arg3, Rounding_Dir a1) { return sub_mul_mpq(arg1, arg2, arg3, a1); } }; 2441: 2441: extern unsigned irrational_precision; 2441: 2441: template 2441: inline Result 2441: sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) { 2441: if (((To_Policy::check_sqrt_neg) ? (from < 0) : ( 2441: # 474 "../../src/checked_mpq_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 474 "../../src/checked_mpq_inlines.hh" 2441: , false))) { 2441: return assign_nan(to, V_SQRT_NEG); 2441: } 2441: if (from == 0) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: bool gt1 = from.get_num() > from.get_den(); 2441: const mpz_class& from_a = gt1 ? from.get_num() : from.get_den(); 2441: const mpz_class& from_b = gt1 ? from.get_den() : from.get_num(); 2441: mpz_class& to_a = gt1 ? to.get_num() : to.get_den(); 2441: mpz_class& to_b = gt1 ? to.get_den() : to.get_num(); 2441: Rounding_Dir rdir = gt1 ? dir : inverse(dir); 2441: mul_2exp(to_a, from_a, 2441: 2*irrational_precision, ROUND_IGNORE); 2441: Result r_div 2441: = div(to_a, to_a, from_b, rdir); 2441: Result r_sqrt = sqrt(to_a, to_a, rdir); 2441: to_b = 1; 2441: mul_2exp(to_b, to_b, 2441: irrational_precision, ROUND_IGNORE); 2441: to.canonicalize(); 2441: return (r_div != V_EQ) ? r_div : r_sqrt; 2441: } 2441: 2441: template struct sqrt_function_struct { static inline Result function( mpq_class& arg1, const mpq_class &arg2, Rounding_Dir a1) { return sqrt_mpq(arg1, arg2, a1); } }; 2441: 2441: template 2441: inline Result 2441: input_mpq(mpq_class& to, std::istream& is, Rounding_Dir dir) { 2441: Result r = input_mpq(to, is); 2441: Result_Class c = result_class(r); 2441: switch (c) { 2441: case VC_MINUS_INFINITY: 2441: case VC_PLUS_INFINITY: 2441: return assign_special(to, c, dir); 2441: case VC_NAN: 2441: return assign_nan(to, r); 2441: default: 2441: return r; 2441: } 2441: } 2441: 2441: template struct input_function_struct { static inline Result function( mpq_class& arg, std::istream& a1, Rounding_Dir a2) { return input_mpq(arg, a1, a2); } }; 2441: 2441: template 2441: inline Result 2441: output_mpq(std::ostream& os, 2441: const mpq_class& from, 2441: const Numeric_Format&, 2441: Rounding_Dir) { 2441: os << from; 2441: return V_EQ; 2441: } 2441: 2441: template struct output_function_struct { static inline Result function(std::ostream& b1, const mpq_class& arg, const Numeric_Format& a1, Rounding_Dir a2) { return output_mpq(b1, arg, a1, a2); } }; 2441: 2441: } 2441: 2441: 2441: inline unsigned 2441: irrational_precision() { 2441: return Checked::irrational_precision; 2441: } 2441: # 548 "../../src/checked_mpq_inlines.hh" 2441: inline void 2441: set_irrational_precision(const unsigned p) { 2441: if (p <= 0x7fffffff) { 2441: Checked::irrational_precision = p; 2441: } 2441: else { 2441: throw std::invalid_argument("PPL::set_irrational_precision(p)" 2441: " with p > INT_MAX"); 2441: } 2441: } 2441: 2441: } 2441: # 705 "../../src/checked_defs.hh" 2 2441: # 1 "../../src/checked_ext_inlines.hh" 1 2441: # 27 "../../src/checked_ext_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template struct FPU_Related : public False {}; 2441: template <> struct FPU_Related : public True {}; 2441: template <> struct FPU_Related : public True {}; 2441: template <> struct FPU_Related : public True {}; 2441: 2441: namespace Checked { 2441: 2441: template 2441: inline bool 2441: handle_ext_natively(const T&) { 2441: return FPU_Related::value; 2441: } 2441: 2441: template 2441: inline bool 2441: ext_to_handle(const Type& x) { 2441: return !handle_ext_natively(x) 2441: && (Policy::has_infinity || Policy::has_nan); 2441: } 2441: 2441: template 2441: inline Result_Relation 2441: sgn_ext(const Type& x) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return VR_EMPTY; 2441: } 2441: else if (is_minf(x)) { 2441: return VR_LT; 2441: } 2441: else if (is_pinf(x)) { 2441: return VR_GT; 2441: } 2441: else { 2441: native: 2441: return sgn(x); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: construct_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return construct_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return construct_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return construct_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return construct(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: assign_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return assign(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: neg_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return neg(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: floor_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return floor(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: ceil_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return ceil(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: trunc_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return trunc(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: abs_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x) || is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return abs(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: add_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: if (((To_Policy::check_inf_add_inf) ? (is_pinf(y)) : ( 2441: # 232 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 232 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: goto inf_add_inf; 2441: } 2441: else { 2441: goto minf; 2441: } 2441: } 2441: else if (is_pinf(x)) { 2441: if (((To_Policy::check_inf_add_inf) ? (is_minf(y)) : ( 2441: # 240 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 240 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: inf_add_inf: 2441: return assign_nan(to, V_INF_ADD_INF); 2441: } 2441: else { 2441: goto pinf; 2441: } 2441: } 2441: else { 2441: if (is_minf(y)) { 2441: minf: 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(y)) { 2441: pinf: 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return add(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: sub_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: if (((To_Policy::check_inf_sub_inf) ? (is_minf(y)) : ( 2441: # 275 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 275 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: goto inf_sub_inf; 2441: } 2441: else { 2441: goto minf; 2441: } 2441: } 2441: else if (is_pinf(x)) { 2441: if (((To_Policy::check_inf_sub_inf) ? (is_pinf(y)) : ( 2441: # 283 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 283 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: inf_sub_inf: 2441: return assign_nan(to, V_INF_SUB_INF); 2441: } 2441: else { 2441: goto pinf; 2441: } 2441: } 2441: else { 2441: if (is_pinf(y)) { 2441: minf: 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_minf(y)) { 2441: pinf: 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return sub(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (is_minf(x)) { 2441: switch (sgn_ext(y)) { 2441: case VR_LT: 2441: goto pinf; 2441: case VR_GT: 2441: goto minf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else if (is_pinf(x)) { 2441: switch (sgn_ext(y)) { 2441: case VR_LT: 2441: goto minf; 2441: case VR_GT: 2441: goto pinf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else { 2441: if (is_minf(y)) { 2441: switch (sgn(x)) { 2441: case VR_LT: 2441: goto pinf; 2441: case VR_GT: 2441: goto minf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else if (is_pinf(y)) { 2441: switch (sgn(x)) { 2441: case VR_LT: 2441: minf: 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: case VR_GT: 2441: pinf: 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: default: 2441: inf_mul_zero: 2441: ((void) 0); 2441: return assign_nan(to, V_INF_MUL_ZERO); 2441: } 2441: } 2441: else { 2441: native: 2441: return mul(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: inline Result 2441: add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(to) 2441: && !ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(to) 2441: || is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (is_minf(x)) { 2441: switch (sgn_ext(y)) { 2441: case VR_LT: 2441: goto a_pinf; 2441: case VR_GT: 2441: goto a_minf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else if (is_pinf(x)) { 2441: switch (sgn_ext(y)) { 2441: case VR_LT: 2441: goto a_minf; 2441: case VR_GT: 2441: goto a_pinf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else { 2441: if (is_minf(y)) { 2441: switch (sgn(x)) { 2441: case VR_LT: 2441: goto a_pinf; 2441: case VR_GT: 2441: goto a_minf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else if (is_pinf(y)) { 2441: switch (sgn(x)) { 2441: case VR_LT: 2441: a_minf: 2441: if (((To_Policy::check_inf_add_inf) ? (is_pinf(to)) : ( 2441: # 417 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 417 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: goto inf_add_inf; 2441: } 2441: else { 2441: goto minf; 2441: } 2441: case VR_GT: 2441: a_pinf: 2441: if (((To_Policy::check_inf_add_inf) ? (is_minf(to)) : ( 2441: # 425 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 425 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: inf_add_inf: 2441: return assign_nan(to, V_INF_ADD_INF); 2441: } 2441: else { 2441: goto pinf; 2441: } 2441: default: 2441: inf_mul_zero: 2441: ((void) 0); 2441: return assign_nan(to, V_INF_MUL_ZERO); 2441: } 2441: } 2441: else { 2441: if (is_minf(to)) { 2441: minf: 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: if (is_pinf(to)) { 2441: pinf: 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: native: 2441: return add_mul(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(to) 2441: && !ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(to) 2441: || is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (is_minf(x)) { 2441: switch (sgn_ext(y)) { 2441: case VR_LT: 2441: goto a_pinf; 2441: case VR_GT: 2441: goto a_minf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else if (is_pinf(x)) { 2441: switch (sgn_ext(y)) { 2441: case VR_LT: 2441: goto a_minf; 2441: case VR_GT: 2441: goto a_pinf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else { 2441: if (is_minf(y)) { 2441: switch (sgn(x)) { 2441: case VR_LT: 2441: goto a_pinf; 2441: case VR_GT: 2441: goto a_minf; 2441: default: 2441: goto inf_mul_zero; 2441: } 2441: } 2441: else if (is_pinf(y)) { 2441: switch (sgn(x)) { 2441: case VR_LT: 2441: a_minf: 2441: if (((To_Policy::check_inf_sub_inf) ? (is_minf(to)) : ( 2441: # 500 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 500 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: goto inf_sub_inf; 2441: } 2441: else { 2441: goto pinf; 2441: } 2441: case VR_GT: 2441: a_pinf: 2441: if (((To_Policy::check_inf_sub_inf) ? (is_pinf(to)) : ( 2441: # 508 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 508 "../../src/checked_ext_inlines.hh" 2441: , false))) { 2441: inf_sub_inf: 2441: return assign_nan(to, V_INF_SUB_INF); 2441: } 2441: else { 2441: goto minf; 2441: } 2441: default: 2441: inf_mul_zero: 2441: ((void) 0); 2441: return assign_nan(to, V_INF_MUL_ZERO); 2441: } 2441: } 2441: else { 2441: if (is_minf(to)) { 2441: minf: 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: if (is_pinf(to)) { 2441: pinf: 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: native: 2441: return sub_mul(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: div_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (is_minf(x)) { 2441: if (((To_Policy::check_inf_div_inf) ? (is_minf(y) || is_pinf(y)) : ( 2441: # 547 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 547 "../../src/checked_ext_inlines.hh" 2441: , false)) 2441: ) { 2441: goto inf_div_inf; 2441: } 2441: else { 2441: switch (sgn(y)) { 2441: case VR_LT: 2441: goto pinf; 2441: case VR_GT: 2441: goto minf; 2441: default: 2441: goto div_zero; 2441: } 2441: } 2441: } 2441: else if (is_pinf(x)) { 2441: if (((To_Policy::check_inf_div_inf) ? (is_minf(y) || is_pinf(y)) : ( 2441: # 563 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 563 "../../src/checked_ext_inlines.hh" 2441: , false)) 2441: ) { 2441: inf_div_inf: 2441: return assign_nan(to, V_INF_DIV_INF); 2441: } 2441: else { 2441: switch (sgn(y)) { 2441: case VR_LT: 2441: minf: 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: case VR_GT: 2441: pinf: 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: default: 2441: div_zero: 2441: ((void) 0); 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: } 2441: } 2441: else { 2441: if (is_minf(y) || is_pinf(y)) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: else { 2441: native: 2441: return div(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: inline Result 2441: idiv_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: if (is_minf(x)) { 2441: if (((To_Policy::check_inf_div_inf) ? (is_minf(y) || is_pinf(y)) : ( 2441: # 607 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 607 "../../src/checked_ext_inlines.hh" 2441: , false)) 2441: ) { 2441: goto inf_div_inf; 2441: } 2441: else { 2441: switch (sgn(y)) { 2441: case VR_LT: 2441: goto pinf; 2441: case VR_GT: 2441: goto minf; 2441: default: 2441: goto div_zero; 2441: } 2441: } 2441: } 2441: else if (is_pinf(x)) { 2441: if (((To_Policy::check_inf_div_inf) ? (is_minf(y) || is_pinf(y)) : ( 2441: # 623 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 623 "../../src/checked_ext_inlines.hh" 2441: , false)) 2441: ) { 2441: inf_div_inf: 2441: return assign_nan(to, V_INF_DIV_INF); 2441: } 2441: else { 2441: switch (sgn(y)) { 2441: case VR_LT: 2441: minf: 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: case VR_GT: 2441: pinf: 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: default: 2441: div_zero: 2441: ((void) 0); 2441: return assign_nan(to, V_DIV_ZERO); 2441: } 2441: } 2441: } 2441: else { 2441: if (is_minf(y) || is_pinf(y)) { 2441: to = 0; 2441: return V_EQ; 2441: } 2441: else { 2441: native: 2441: return idiv(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: inline Result 2441: rem_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (((To_Policy::check_inf_mod) ? (is_minf(x) || is_pinf(x)) : ( 2441: # 666 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 666 "../../src/checked_ext_inlines.hh" 2441: , false)) 2441: ) { 2441: return assign_nan(to, V_INF_MOD); 2441: } 2441: else { 2441: if (is_minf(y) || is_pinf(y)) { 2441: to = x; 2441: return V_EQ; 2441: } 2441: else { 2441: native: 2441: return rem(to, x, y, dir); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: add_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return add_2exp(to, x, exp, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: sub_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return sub_2exp(to, x, exp, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: mul_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return mul_2exp(to, x, exp, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: div_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_special(to, VC_MINUS_INFINITY, dir); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return div_2exp(to, x, exp, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: smod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (((To_Policy::check_inf_mod) ? (is_minf(x) || is_pinf(x)) : ( 2441: # 780 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 780 "../../src/checked_ext_inlines.hh" 2441: , false)) 2441: ) { 2441: return assign_nan(to, V_INF_MOD); 2441: } 2441: else { 2441: native: 2441: return smod_2exp(to, x, exp, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: umod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (((To_Policy::check_inf_mod) ? (is_minf(x) || is_pinf(x)) : ( 2441: # 800 "../../src/checked_ext_inlines.hh" 3 4 2441: (static_cast (0)) 2441: # 800 "../../src/checked_ext_inlines.hh" 2441: , false)) 2441: ) { 2441: return assign_nan(to, V_INF_MOD); 2441: } 2441: else { 2441: native: 2441: return umod_2exp(to, x, exp, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: sqrt_ext(To& to, const From& x, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x)) { 2441: return assign_nan(to, V_SQRT_NEG); 2441: } 2441: else if (is_pinf(x)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: native: 2441: return sqrt(to, x, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: gcd_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x) || is_pinf(x)) { 2441: return abs_ext(to, y, dir); 2441: } 2441: else if (is_minf(y) || is_pinf(y)) { 2441: return abs_ext(to, x, dir); 2441: } 2441: else { 2441: return gcd(to, x, y, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: gcdext_ext(To1& to, To2& s, To3& t, const From1& x, const From2& y, 2441: Rounding_Dir dir) { 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x) || is_pinf(x)) { 2441: s = 0; 2441: t = y > 0 ? -1 : 1; 2441: return abs_ext(to, y, dir); 2441: } 2441: else if (is_minf(y) || is_pinf(y)) { 2441: s = x > 0 ? -1 : 1; 2441: t = 0; 2441: return abs_ext(to, x, dir); 2441: } 2441: else { 2441: return gcdext(to, s, t, x, y, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: lcm_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) { 2441: if (is_nan(x) || is_nan(y)) { 2441: return assign_special(to, VC_NAN, ROUND_IGNORE); 2441: } 2441: else if (is_minf(x) || is_pinf(x) 2441: || is_minf(y) || is_pinf(y)) { 2441: return assign_special(to, VC_PLUS_INFINITY, dir); 2441: } 2441: else { 2441: return lcm(to, x, y, dir); 2441: } 2441: } 2441: 2441: template 2441: inline Result_Relation 2441: cmp_ext(const Type1& x, const Type2& y) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return VR_EMPTY; 2441: } 2441: else if (is_minf(x)) { 2441: return is_minf(y) ? VR_EQ : VR_LT; 2441: } 2441: else if (is_pinf(x)) { 2441: return is_pinf(y) ? VR_EQ : VR_GT; 2441: } 2441: else { 2441: if (is_minf(y)) { 2441: return VR_GT; 2441: } 2441: if (is_pinf(y)) { 2441: return VR_LT; 2441: } 2441: native: 2441: return cmp(x, y); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: lt_ext(const Type1& x, const Type2& y) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return false; 2441: } 2441: if (is_pinf(x) || is_minf(y)) { 2441: return false; 2441: } 2441: if (is_minf(x) || is_pinf(y)) { 2441: return true; 2441: } 2441: native: 2441: return lt_p(x, y); 2441: } 2441: 2441: template 2441: inline bool 2441: gt_ext(const Type1& x, const Type2& y) { 2441: return lt_ext(y, x); 2441: } 2441: 2441: template 2441: inline bool 2441: le_ext(const Type1& x, const Type2& y) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return false; 2441: } 2441: if (is_minf(x) || is_pinf(y)) { 2441: return true; 2441: } 2441: if (is_pinf(x) || is_minf(y)) { 2441: return false; 2441: } 2441: native: 2441: return le_p(x, y); 2441: } 2441: 2441: template 2441: inline bool 2441: ge_ext(const Type1& x, const Type2& y) { 2441: return le_ext(y, x); 2441: } 2441: 2441: template 2441: inline bool 2441: eq_ext(const Type1& x, const Type2& y) { 2441: if (!ext_to_handle(x) && !ext_to_handle(y)) { 2441: goto native; 2441: } 2441: if (is_nan(x) || is_nan(y)) { 2441: return false; 2441: } 2441: if (is_minf(x)) { 2441: return is_minf(y); 2441: } 2441: if (is_pinf(x)) { 2441: return is_pinf(y); 2441: } 2441: else if (is_minf(y) || is_pinf(y)) { 2441: return false; 2441: } 2441: native: 2441: return eq_p(x, y); 2441: } 2441: 2441: template 2441: inline bool 2441: ne_ext(const Type1& x, const Type2& y) { 2441: return !eq_ext(x, y); 2441: } 2441: 2441: template 2441: inline Result 2441: output_ext(std::ostream& os, const Type& x, 2441: const Numeric_Format& format, Rounding_Dir dir) { 2441: if (!ext_to_handle(x)) { 2441: goto native; 2441: } 2441: if (is_nan(x)) { 2441: os << "nan"; 2441: return V_NAN; 2441: } 2441: if (is_minf(x)) { 2441: os << "-inf"; 2441: return V_EQ; 2441: } 2441: if (is_pinf(x)) { 2441: os << "+inf"; 2441: return V_EQ; 2441: } 2441: native: 2441: return output(os, x, format, dir); 2441: } 2441: 2441: template 2441: inline Result 2441: input_ext(To& to, std::istream& is, Rounding_Dir dir) { 2441: return input(to, is, dir); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 706 "../../src/checked_defs.hh" 2 2441: # 29 "../../src/Checked_Number_defs.hh" 2 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: struct Extended_Number_Policy { 2441: enum const_bool_value_check_overflow { check_overflow = (true) }; 2441: enum const_bool_value_check_inf_add_inf { check_inf_add_inf = (false) }; 2441: enum const_bool_value_check_inf_sub_inf { check_inf_sub_inf = (false) }; 2441: enum const_bool_value_check_inf_mul_zero { check_inf_mul_zero = (false) }; 2441: enum const_bool_value_check_div_zero { check_div_zero = (false) }; 2441: enum const_bool_value_check_inf_div_inf { check_inf_div_inf = (false) }; 2441: enum const_bool_value_check_inf_mod { check_inf_mod = (false) }; 2441: enum const_bool_value_check_sqrt_neg { check_sqrt_neg = (false) }; 2441: enum const_bool_value_has_nan { has_nan = (true) }; 2441: enum const_bool_value_has_infinity { has_infinity = (true) }; 2441: 2441: 2441: 2441: 2441: enum const_bool_value_fpu_check_inexact { fpu_check_inexact = (true) }; 2441: enum const_bool_value_fpu_check_nan_result { fpu_check_nan_result = (true) }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void handle_result(Result r); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct Check_Overflow_Policy { 2441: enum const_bool_value_check_overflow { check_overflow = (true) }; 2441: enum const_bool_value_check_inf_add_inf { check_inf_add_inf = (false) }; 2441: enum const_bool_value_check_inf_sub_inf { check_inf_sub_inf = (false) }; 2441: enum const_bool_value_check_inf_mul_zero { check_inf_mul_zero = (false) }; 2441: enum const_bool_value_check_div_zero { check_div_zero = (false) }; 2441: enum const_bool_value_check_inf_div_inf { check_inf_div_inf = (false) }; 2441: enum const_bool_value_check_inf_mod { check_inf_mod = (false) }; 2441: enum const_bool_value_check_sqrt_neg { check_sqrt_neg = (false) }; 2441: enum const_bool_value_has_nan { has_nan = (std::numeric_limits::has_quiet_NaN) }; 2441: enum const_bool_value_has_infinity { has_infinity = (std::numeric_limits::has_infinity) }; 2441: enum const_bool_value_convertible { convertible = (true) }; 2441: enum const_bool_value_fpu_check_inexact { fpu_check_inexact = (true) }; 2441: enum const_bool_value_fpu_check_nan_result { fpu_check_nan_result = (true) }; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Native_Checked_From_Wrapper; 2441: 2441: 2441: 2441: 2441: template 2441: struct Native_Checked_From_Wrapper::value>::type> { 2441: typedef Checked_Number_Transparent_Policy Policy; 2441: static const T& raw_value(const T& v) { 2441: return v; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Native_Checked_From_Wrapper > { 2441: typedef P Policy; 2441: static const T& raw_value(const Checked_Number& v) { 2441: return v.raw_value(); 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Native_Checked_To_Wrapper; 2441: 2441: 2441: 2441: 2441: template 2441: struct Native_Checked_To_Wrapper::value>::type> { 2441: typedef Check_Overflow_Policy Policy; 2441: static T& raw_value(T& v) { 2441: return v; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Native_Checked_To_Wrapper > { 2441: typedef P Policy; 2441: static T& raw_value(Checked_Number& v) { 2441: return v.raw_value(); 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Is_Checked : public False { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Is_Checked > : public True { }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Is_Native_Or_Checked 2441: : public Bool::value || Is_Checked::value> { }; 2441: # 169 "../../src/Checked_Number_defs.hh" 2441: template 2441: class Checked_Number { 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: Checked_Number(); 2441: 2441: 2441: Checked_Number(const Checked_Number& y); 2441: 2441: 2441: template 2441: Checked_Number(const Checked_Number& y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(char y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(signed char y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(signed short y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(signed int y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(signed long y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(signed long long y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(unsigned char y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(unsigned short y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(unsigned int y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(unsigned long y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(unsigned long long y, Rounding_Dir dir); 2441: 2441: 2441: 2441: Checked_Number(float y, Rounding_Dir dir); 2441: 2441: 2441: 2441: 2441: Checked_Number(double y, Rounding_Dir dir); 2441: 2441: 2441: 2441: 2441: Checked_Number(long double y, Rounding_Dir dir); 2441: 2441: 2441: 2441: Checked_Number(const mpq_class& y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(const mpz_class& y, Rounding_Dir dir); 2441: 2441: 2441: Checked_Number(const char* y, Rounding_Dir dir); 2441: 2441: 2441: template 2441: Checked_Number(const From&, Rounding_Dir dir, 2441: typename Enable_If::value, bool>::type 2441: ignored = false); 2441: 2441: 2441: template 2441: explicit Checked_Number(const Checked_Number& y); 2441: 2441: 2441: Checked_Number(char y); 2441: 2441: 2441: Checked_Number(signed char y); 2441: 2441: 2441: Checked_Number(signed short y); 2441: 2441: 2441: Checked_Number(signed int y); 2441: 2441: 2441: Checked_Number(signed long y); 2441: 2441: 2441: Checked_Number(signed long long y); 2441: 2441: 2441: Checked_Number(unsigned char y); 2441: 2441: 2441: Checked_Number(unsigned short y); 2441: 2441: 2441: Checked_Number(unsigned int y); 2441: 2441: 2441: Checked_Number(unsigned long y); 2441: 2441: 2441: Checked_Number(unsigned long long y); 2441: 2441: 2441: Checked_Number(float y); 2441: 2441: 2441: Checked_Number(double y); 2441: 2441: 2441: Checked_Number(long double y); 2441: 2441: 2441: Checked_Number(const mpq_class& y); 2441: 2441: 2441: Checked_Number(const mpz_class& y); 2441: 2441: 2441: Checked_Number(const char* y); 2441: 2441: 2441: template 2441: Checked_Number(const From&, typename Enable_If::value, bool>::type ignored = false); 2441: # 315 "../../src/Checked_Number_defs.hh" 2441: operator T() const; 2441: 2441: 2441: T& raw_value(); 2441: 2441: 2441: const T& raw_value() const; 2441: 2441: 2441: 2441: 2441: bool OK() const; 2441: # 338 "../../src/Checked_Number_defs.hh" 2441: Result classify(bool nan = true, bool inf = true, bool sign = true) const; 2441: 2441: 2441: 2441: 2441: 2441: Checked_Number& operator=(const Checked_Number& y); 2441: 2441: 2441: template 2441: Checked_Number& operator=(const From& y); 2441: 2441: 2441: template 2441: Checked_Number& operator+=(const Checked_Number& y); 2441: 2441: 2441: Checked_Number& operator+=(const T& y); 2441: 2441: 2441: template 2441: typename Enable_If::value, 2441: Checked_Number&>::type 2441: operator+=(const From& y); 2441: 2441: 2441: template 2441: Checked_Number& operator-=(const Checked_Number& y); 2441: 2441: 2441: Checked_Number& operator-=(const T& y); 2441: 2441: 2441: template 2441: typename Enable_If::value, 2441: Checked_Number&>::type 2441: operator-=(const From& y); 2441: 2441: 2441: template 2441: Checked_Number& operator*=(const Checked_Number& y); 2441: 2441: 2441: Checked_Number& operator*=(const T& y); 2441: 2441: 2441: template 2441: typename Enable_If::value, 2441: Checked_Number&>::type 2441: operator*=(const From& y); 2441: 2441: 2441: template 2441: Checked_Number& operator/=(const Checked_Number& y); 2441: 2441: 2441: Checked_Number& operator/=(const T& y); 2441: 2441: 2441: template 2441: typename Enable_If::value, 2441: Checked_Number&>::type 2441: operator/=(const From& y); 2441: 2441: 2441: template 2441: Checked_Number& operator%=(const Checked_Number& y); 2441: 2441: 2441: Checked_Number& operator%=(const T& y); 2441: 2441: 2441: template 2441: typename Enable_If::value, 2441: Checked_Number& >::type 2441: operator%=(const From& y); 2441: # 422 "../../src/Checked_Number_defs.hh" 2441: Checked_Number& operator++(); 2441: 2441: 2441: Checked_Number operator++(int); 2441: 2441: 2441: Checked_Number& operator--(); 2441: 2441: 2441: Checked_Number operator--(int); 2441: 2441: 2441: 2441: private: 2441: 2441: T v; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct Slow_Copy > : public Bool::value> {}; 2441: 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: is_not_a_number(const T& x); 2441: 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: is_minus_infinity(const T& x); 2441: 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: is_plus_infinity(const T& x); 2441: 2441: 2441: template 2441: typename Enable_If::value, int>::type 2441: infinity_sign(const T& x); 2441: 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: is_integer(const T& x); 2441: 2441: 2441: template 2441: typename Enable_If::value && Is_Special::value, Result>::type 2441: construct(To& to, const From& x, Rounding_Dir dir); 2441: 2441: 2441: template 2441: typename Enable_If::value && Is_Special::value, Result>::type 2441: assign_r(To& to, const From& x, Rounding_Dir dir); 2441: 2441: 2441: template 2441: typename Enable_If::value, Result>::type 2441: assign_r(To& to, const char* x, Rounding_Dir dir); 2441: 2441: 2441: template 2441: typename Enable_If::value, Result>::type 2441: assign_r(To& to, char* x, Rounding_Dir dir); 2441: # 498 "../../src/Checked_Number_defs.hh" 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type assign_r(To& to, const From& x, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type floor_assign_r(To& to, const From& x, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type ceil_assign_r(To& to, const From& x, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type trunc_assign_r(To& to, const From& x, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type neg_assign_r(To& to, const From& x, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type abs_assign_r(To& to, const From& x, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type sqrt_assign_r(To& to, const From& x, Rounding_Dir dir); 2441: # 515 "../../src/Checked_Number_defs.hh" 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type add_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type sub_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type mul_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type div_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type smod_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type umod_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir); 2441: # 532 "../../src/Checked_Number_defs.hh" 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type add_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type sub_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type mul_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type div_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type idiv_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type rem_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type gcd_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type lcm_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type add_mul_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type sub_mul_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir); 2441: # 558 "../../src/Checked_Number_defs.hh" 2441: template typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type gcdext_assign_r(To1& to, To2& s, To3& t, const From1& x, const From2& y, Rounding_Dir dir); 2441: # 572 "../../src/Checked_Number_defs.hh" 2441: template 2441: memory_size_type 2441: total_memory_in_bytes(const Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: memory_size_type 2441: external_memory_in_bytes(const Checked_Number& x); 2441: # 589 "../../src/Checked_Number_defs.hh" 2441: template 2441: Checked_Number 2441: operator+(const Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: Checked_Number 2441: operator-(const Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: void 2441: floor_assign(Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: void 2441: floor_assign(Checked_Number& x, const Checked_Number& y); 2441: 2441: 2441: 2441: template 2441: void 2441: ceil_assign(Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: void 2441: ceil_assign(Checked_Number& x, const Checked_Number& y); 2441: 2441: 2441: 2441: template 2441: void 2441: trunc_assign(Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: void 2441: trunc_assign(Checked_Number& x, const Checked_Number& y); 2441: 2441: 2441: 2441: template 2441: void 2441: neg_assign(Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: void 2441: neg_assign(Checked_Number& x, const Checked_Number& y); 2441: 2441: 2441: 2441: template 2441: void 2441: abs_assign(Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: void 2441: abs_assign(Checked_Number& x, const Checked_Number& y); 2441: 2441: 2441: 2441: template 2441: void 2441: add_mul_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: const Checked_Number& z); 2441: 2441: 2441: 2441: template 2441: void 2441: sub_mul_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: const Checked_Number& z); 2441: 2441: 2441: 2441: template 2441: void 2441: gcd_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: const Checked_Number& z); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: gcdext_assign(Checked_Number& x, 2441: Checked_Number& s, 2441: Checked_Number& t, 2441: const Checked_Number& y, 2441: const Checked_Number& z); 2441: 2441: 2441: 2441: template 2441: void 2441: lcm_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: const Checked_Number& z); 2441: 2441: 2441: 2441: template 2441: void 2441: mul_2exp_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: unsigned int exp); 2441: 2441: 2441: 2441: template 2441: void 2441: div_2exp_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: unsigned int exp); 2441: # 727 "../../src/Checked_Number_defs.hh" 2441: template 2441: void 2441: exact_div_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: const Checked_Number& z); 2441: 2441: 2441: 2441: template 2441: void sqrt_assign(Checked_Number& x, 2441: const Checked_Number& y); 2441: # 747 "../../src/Checked_Number_defs.hh" 2441: template 2441: inline 2441: typename Enable_If::value 2441: && Is_Native_Or_Checked::value 2441: && (Is_Checked::value || Is_Checked::value), 2441: bool>::type 2441: operator==(const T1& x, const T2& y); 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: bool>::type 2441: equal(const T1& x, const T2& y); 2441: 2441: 2441: 2441: template 2441: inline 2441: typename Enable_If::value 2441: && Is_Native_Or_Checked::value 2441: && (Is_Checked::value || Is_Checked::value), 2441: bool>::type 2441: operator!=(const T1& x, const T2& y); 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: bool>::type 2441: not_equal(const T1& x, const T2& y); 2441: 2441: 2441: 2441: template 2441: inline 2441: typename Enable_If::value 2441: && Is_Native_Or_Checked::value 2441: && (Is_Checked::value || Is_Checked::value), 2441: bool>::type 2441: operator>=(const T1& x, const T2& y); 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: bool>::type 2441: greater_or_equal(const T1& x, const T2& y); 2441: 2441: 2441: 2441: template 2441: inline 2441: typename Enable_If::value 2441: && Is_Native_Or_Checked::value 2441: && (Is_Checked::value || Is_Checked::value), 2441: bool>::type 2441: operator>(const T1& x, const T2& y); 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: bool>::type 2441: greater_than(const T1& x, const T2& y); 2441: 2441: 2441: 2441: template 2441: inline 2441: typename Enable_If::value 2441: && Is_Native_Or_Checked::value 2441: && (Is_Checked::value || Is_Checked::value), 2441: bool>::type 2441: operator<=(const T1& x, const T2& y); 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: bool>::type 2441: less_or_equal(const T1& x, const T2& y); 2441: 2441: 2441: 2441: template 2441: inline 2441: typename Enable_If::value 2441: && Is_Native_Or_Checked::value 2441: && (Is_Checked::value || Is_Checked::value), 2441: bool>::type 2441: operator<(const T1& x, const T2& y); 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: bool>::type 2441: less_than(const T1& x, const T2& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline typename Enable_If::value, int>::type 2441: sgn(const From& x); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: int>::type 2441: cmp(const From1& x, const From2& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, Result>::type 2441: output(std::ostream& os, 2441: const T& x, 2441: const Numeric_Format& format, 2441: Rounding_Dir dir); 2441: 2441: 2441: 2441: template 2441: std::ostream& 2441: operator<<(std::ostream& os, const Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, void>::type 2441: ascii_dump(std::ostream& s, const T& t); 2441: # 1019 "../../src/Checked_Number_defs.hh" 2441: template 2441: typename Enable_If::value, Result>::type 2441: input(T& x, std::istream& is, Rounding_Dir dir); 2441: 2441: 2441: 2441: template 2441: std::istream& 2441: operator>>(std::istream& is, Checked_Number& x); 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: ascii_load(std::ostream& s, T& t); 2441: 2441: 2441: 2441: void throw_result_exception(Result r); 2441: 2441: template 2441: T 2441: plus_infinity(); 2441: 2441: template 2441: T 2441: minus_infinity(); 2441: 2441: template 2441: T 2441: not_a_number(); 2441: 2441: 2441: 2441: template 2441: void swap(Checked_Number& x, Checked_Number& y); 2441: 2441: template 2441: struct FPU_Related > : public FPU_Related {}; 2441: 2441: template 2441: void maybe_reset_fpu_inexact(); 2441: 2441: template 2441: int maybe_check_fpu_inexact(); 2441: 2441: } 2441: 2441: # 1 "../../src/Checked_Number_inlines.hh" 1 2441: # 31 "../../src/Checked_Number_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: inline Rounding_Dir 2441: rounding_dir(Rounding_Dir dir) { 2441: if (dir == ROUND_NOT_NEEDED) { 2441: 2441: 2441: 2441: } 2441: return dir; 2441: } 2441: 2441: inline Result 2441: check_result(Result r, Rounding_Dir dir) { 2441: if (dir == ROUND_NOT_NEEDED) { 2441: 2441: 2441: 2441: return r; 2441: } 2441: return r; 2441: } 2441: 2441: 2441: template 2441: inline void 2441: Checked_Number_Transparent_Policy::handle_result(Result) { 2441: } 2441: 2441: inline void 2441: Extended_Number_Policy::handle_result(Result r) { 2441: if (result_class(r) == VC_NAN) { 2441: throw_result_exception(r); 2441: } 2441: } 2441: 2441: template 2441: inline 2441: Checked_Number::Checked_Number() 2441: : v(0) { 2441: } 2441: 2441: template 2441: inline 2441: Checked_Number::Checked_Number(const Checked_Number& y) { 2441: 2441: Checked::copy(v, y.raw_value()); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Checked_Number 2441: ::Checked_Number(const Checked_Number& y, 2441: Rounding_Dir dir) { 2441: 2441: Policy::handle_result(check_result(Checked::assign_ext 2441: (v, 2441: y.raw_value(), 2441: rounding_dir(dir)), 2441: dir) 2441: ); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Checked_Number 2441: ::Checked_Number(const Checked_Number& y) { 2441: 2441: Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; 2441: Policy::handle_result(check_result(Checked::assign_ext 2441: (v, 2441: y.raw_value(), 2441: rounding_dir(dir)), 2441: dir)); 2441: } 2441: # 133 "../../src/Checked_Number_inlines.hh" 2441: template inline Checked_Number::Checked_Number(const char y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const char y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const signed char y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const signed char y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const signed short y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const signed short y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const signed int y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const signed int y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const signed long y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const signed long y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const signed long long y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const signed long long y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const unsigned char y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const unsigned char y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const unsigned short y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const unsigned short y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const unsigned int y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const unsigned int y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const unsigned long y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const unsigned long y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const unsigned long long y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const unsigned long long y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: 2441: template inline Checked_Number::Checked_Number(const float y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const float y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: 2441: 2441: template inline Checked_Number::Checked_Number(const double y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const double y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: 2441: 2441: template inline Checked_Number::Checked_Number(const long double y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const long double y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: 2441: template inline Checked_Number::Checked_Number(const mpq_class& y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const mpq_class& y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: template inline Checked_Number::Checked_Number(const mpz_class& y, Rounding_Dir dir) { Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } template inline Checked_Number::Checked_Number(const mpz_class& y) { Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; Policy::handle_result(check_result(Checked::assign_ext > (v, y, rounding_dir(dir)), dir)); } 2441: 2441: 2441: 2441: 2441: template 2441: inline 2441: Checked_Number::Checked_Number(const char* y, Rounding_Dir dir) { 2441: std::istringstream s(y); 2441: Policy::handle_result(check_result(Checked::input(v, 2441: s, 2441: rounding_dir(dir)), 2441: dir)); 2441: } 2441: 2441: template 2441: inline 2441: Checked_Number::Checked_Number(const char* y) { 2441: std::istringstream s(y); 2441: Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; 2441: Policy::handle_result(check_result(Checked::input(v, 2441: s, 2441: rounding_dir(dir)), 2441: dir)); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Checked_Number 2441: ::Checked_Number(const From&, 2441: Rounding_Dir dir, 2441: typename Enable_If::value, bool>::type) { 2441: Policy::handle_result(check_result(Checked::assign_special(v, 2441: From::vclass, 2441: rounding_dir(dir)), 2441: dir)); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Checked_Number::Checked_Number(const From&, typename Enable_If::value, bool>::type) { 2441: Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR; 2441: Policy::handle_result(check_result(Checked::assign_special(v, 2441: From::vclass, 2441: rounding_dir(dir)), 2441: dir)); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Special::value, Result>::type 2441: assign_r(To& to, const From&, Rounding_Dir dir) { 2441: return check_result(Checked::assign_special 2441: ::Policy>(Native_Checked_To_Wrapper::raw_value(to), 2441: From::vclass, 2441: rounding_dir(dir)), 2441: dir); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value && Is_Special::value, Result>::type 2441: construct(To& to, const From&, Rounding_Dir dir) { 2441: return check_result(Checked::construct_special 2441: ::Policy>(Native_Checked_To_Wrapper::raw_value(to), 2441: From::vclass, 2441: rounding_dir(dir)), 2441: dir); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: is_minus_infinity(const T& x) { 2441: return Checked::is_minf 2441: ::Policy>(Native_Checked_From_Wrapper::raw_value(x)); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: is_plus_infinity(const T& x) { 2441: return Checked::is_pinf 2441: ::Policy>(Native_Checked_From_Wrapper::raw_value(x)); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, int>::type 2441: infinity_sign(const T& x) { 2441: return is_minus_infinity(x) ? -1 : (is_plus_infinity(x) ? 1 : 0); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: is_not_a_number(const T& x) { 2441: return Checked::is_nan 2441: ::Policy>(Native_Checked_From_Wrapper::raw_value(x)); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: is_integer(const T& x) { 2441: return Checked::is_int 2441: ::Policy>(Native_Checked_From_Wrapper::raw_value(x)); 2441: } 2441: 2441: template 2441: inline 2441: Checked_Number::operator T() const { 2441: if (Policy::convertible) { 2441: return v; 2441: } 2441: } 2441: 2441: template 2441: inline T& 2441: Checked_Number::raw_value() { 2441: return v; 2441: } 2441: 2441: template 2441: inline const T& 2441: Checked_Number::raw_value() const { 2441: return v; 2441: } 2441: 2441: 2441: template 2441: inline const T& 2441: raw_value(const Checked_Number& x) { 2441: return x.raw_value(); 2441: } 2441: 2441: 2441: template 2441: inline T& 2441: raw_value(Checked_Number& x) { 2441: return x.raw_value(); 2441: } 2441: 2441: template 2441: inline bool 2441: Checked_Number::OK() const { 2441: return true; 2441: } 2441: 2441: template 2441: inline Result 2441: Checked_Number::classify(bool nan, bool inf, bool sign) const { 2441: return Checked::classify(v, nan, inf, sign); 2441: } 2441: 2441: template 2441: inline bool 2441: is_not_a_number(const Checked_Number& x) { 2441: return Checked::is_nan(x.raw_value()); 2441: } 2441: 2441: template 2441: inline bool 2441: is_minus_infinity(const Checked_Number& x) { 2441: return Checked::is_minf(x.raw_value()); 2441: } 2441: 2441: template 2441: inline bool 2441: is_plus_infinity(const Checked_Number& x) { 2441: return Checked::is_pinf(x.raw_value()); 2441: } 2441: 2441: 2441: template 2441: inline memory_size_type 2441: total_memory_in_bytes(const Checked_Number& x) { 2441: return total_memory_in_bytes(x.raw_value()); 2441: } 2441: 2441: 2441: template 2441: inline memory_size_type 2441: external_memory_in_bytes(const Checked_Number& x) { 2441: return external_memory_in_bytes(x.raw_value()); 2441: } 2441: 2441: 2441: 2441: template 2441: inline typename Enable_If::value, Result>::type 2441: assign_r(To& to, const char* x, Rounding_Dir dir) { 2441: std::istringstream s(x); 2441: return check_result(Checked::input 2441: ::Policy>(Native_Checked_To_Wrapper::raw_value(to), 2441: s, 2441: rounding_dir(dir)), 2441: dir); 2441: } 2441: # 365 "../../src/Checked_Number_inlines.hh" 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type construct(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::construct_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type assign_r(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::assign_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type floor_assign_r(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::floor_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type ceil_assign_r(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::ceil_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type trunc_assign_r(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::trunc_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type neg_assign_r(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::neg_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type abs_assign_r(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::abs_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type sqrt_assign_r(To& to, const From& x, Rounding_Dir dir) { return check_result(Checked::sqrt_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), rounding_dir(dir)), dir); } 2441: # 393 "../../src/Checked_Number_inlines.hh" 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type add_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { return check_result(Checked::add_2exp_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), exp, rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type sub_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { return check_result(Checked::sub_2exp_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), exp, rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type mul_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { return check_result(Checked::mul_2exp_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), exp, rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type div_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { return check_result(Checked::div_2exp_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), exp, rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type smod_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { return check_result(Checked::smod_2exp_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), exp, rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, Result>::type umod_2exp_assign_r(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { return check_result(Checked::umod_2exp_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), exp, rounding_dir(dir)), dir); } 2441: # 422 "../../src/Checked_Number_inlines.hh" 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type add_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::add_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type sub_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::sub_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type mul_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::mul_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type div_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::div_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type idiv_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::idiv_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type rem_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::rem_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type gcd_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::gcd_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type lcm_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::lcm_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type add_mul_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::add_mul_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type sub_mul_assign_r(To& to, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::sub_mul_ext ::Policy, typename Native_Checked_From_Wrapper ::Policy, typename Native_Checked_From_Wrapper ::Policy>(Native_Checked_To_Wrapper::raw_value(to), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: # 464 "../../src/Checked_Number_inlines.hh" 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value && Is_Native_Or_Checked::value, Result>::type gcdext_assign_r(To1& to, To2& s, To3& t, const From1& x, const From2& y, Rounding_Dir dir) { return check_result(Checked::gcdext_ext::Policy, typename Native_Checked_To_Wrapper::Policy, typename Native_Checked_To_Wrapper::Policy, typename Native_Checked_From_Wrapper::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_To_Wrapper::raw_value(to), Native_Checked_To_Wrapper::raw_value(s), Native_Checked_To_Wrapper::raw_value(t), Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y), rounding_dir(dir)), dir); } 2441: # 485 "../../src/Checked_Number_inlines.hh" 2441: template inline Checked_Number& Checked_Number::operator ++() { Policy::handle_result((add_assign_r)(*this, *this, T(1), Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template inline Checked_Number Checked_Number::operator ++(int) { T r = v; Policy::handle_result((add_assign_r)(*this, *this, T(1), Policy::ROUND_DEFAULT_OPERATOR)); return r;} 2441: template inline Checked_Number& Checked_Number::operator --() { Policy::handle_result((sub_assign_r)(*this, *this, T(1), Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template inline Checked_Number Checked_Number::operator --(int) { T r = v; Policy::handle_result((sub_assign_r)(*this, *this, T(1), Policy::ROUND_DEFAULT_OPERATOR)); return r;} 2441: 2441: 2441: 2441: template 2441: inline Checked_Number& 2441: Checked_Number::operator=(const Checked_Number& y) { 2441: Checked::copy(v, y.raw_value()); 2441: return *this; 2441: } 2441: template 2441: template 2441: inline Checked_Number& 2441: Checked_Number::operator=(const From& y) { 2441: Policy::handle_result(assign_r(*this, y, Policy::ROUND_DEFAULT_OPERATOR)); 2441: return *this; 2441: } 2441: # 531 "../../src/Checked_Number_inlines.hh" 2441: template template inline Checked_Number& Checked_Number::operator +=(const Checked_Number& y) { Policy::handle_result((add_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template inline Checked_Number& Checked_Number::operator +=(const T& y) { Policy::handle_result((add_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template template inline typename Enable_If::value, Checked_Number& >::type Checked_Number::operator +=(const From& y) { Checked_Number cy(y); Policy::handle_result((add_assign_r)(*this, *this, cy, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } 2441: template template inline Checked_Number& Checked_Number::operator -=(const Checked_Number& y) { Policy::handle_result((sub_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template inline Checked_Number& Checked_Number::operator -=(const T& y) { Policy::handle_result((sub_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template template inline typename Enable_If::value, Checked_Number& >::type Checked_Number::operator -=(const From& y) { Checked_Number cy(y); Policy::handle_result((sub_assign_r)(*this, *this, cy, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } 2441: template template inline Checked_Number& Checked_Number::operator *=(const Checked_Number& y) { Policy::handle_result((mul_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template inline Checked_Number& Checked_Number::operator *=(const T& y) { Policy::handle_result((mul_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template template inline typename Enable_If::value, Checked_Number& >::type Checked_Number::operator *=(const From& y) { Checked_Number cy(y); Policy::handle_result((mul_assign_r)(*this, *this, cy, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } 2441: template template inline Checked_Number& Checked_Number::operator /=(const Checked_Number& y) { Policy::handle_result((div_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template inline Checked_Number& Checked_Number::operator /=(const T& y) { Policy::handle_result((div_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template template inline typename Enable_If::value, Checked_Number& >::type Checked_Number::operator /=(const From& y) { Checked_Number cy(y); Policy::handle_result((div_assign_r)(*this, *this, cy, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } 2441: template template inline Checked_Number& Checked_Number::operator %=(const Checked_Number& y) { Policy::handle_result((rem_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template inline Checked_Number& Checked_Number::operator %=(const T& y) { Policy::handle_result((rem_assign_r)(*this, *this, y, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } template template inline typename Enable_If::value, Checked_Number& >::type Checked_Number::operator %=(const From& y) { Checked_Number cy(y); Policy::handle_result((rem_assign_r)(*this, *this, cy, Policy::ROUND_DEFAULT_OPERATOR)); return *this; } 2441: # 565 "../../src/Checked_Number_inlines.hh" 2441: template inline Checked_Number operator +(const Checked_Number& x, const Checked_Number& y) { Checked_Number r; Policy::handle_result((add_assign_r)(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator +(const Type& x, const Checked_Number& y) { Checked_Number r(x); Policy::handle_result((add_assign_r)(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator +(const Checked_Number& x, const Type& y) { Checked_Number r(y); Policy::handle_result((add_assign_r)(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); return r; } 2441: template inline Checked_Number operator -(const Checked_Number& x, const Checked_Number& y) { Checked_Number r; Policy::handle_result((sub_assign_r)(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator -(const Type& x, const Checked_Number& y) { Checked_Number r(x); Policy::handle_result((sub_assign_r)(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator -(const Checked_Number& x, const Type& y) { Checked_Number r(y); Policy::handle_result((sub_assign_r)(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); return r; } 2441: template inline Checked_Number operator *(const Checked_Number& x, const Checked_Number& y) { Checked_Number r; Policy::handle_result((mul_assign_r)(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator *(const Type& x, const Checked_Number& y) { Checked_Number r(x); Policy::handle_result((mul_assign_r)(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator *(const Checked_Number& x, const Type& y) { Checked_Number r(y); Policy::handle_result((mul_assign_r)(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); return r; } 2441: template inline Checked_Number operator /(const Checked_Number& x, const Checked_Number& y) { Checked_Number r; Policy::handle_result((div_assign_r)(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator /(const Type& x, const Checked_Number& y) { Checked_Number r(x); Policy::handle_result((div_assign_r)(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator /(const Checked_Number& x, const Type& y) { Checked_Number r(y); Policy::handle_result((div_assign_r)(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); return r; } 2441: template inline Checked_Number operator %(const Checked_Number& x, const Checked_Number& y) { Checked_Number r; Policy::handle_result((rem_assign_r)(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator %(const Type& x, const Checked_Number& y) { Checked_Number r(x); Policy::handle_result((rem_assign_r)(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); return r; } template inline typename Enable_If::value, Checked_Number >::type operator %(const Checked_Number& x, const Type& y) { Checked_Number r(y); Policy::handle_result((rem_assign_r)(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); return r; } 2441: # 587 "../../src/Checked_Number_inlines.hh" 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && (Is_Checked::value || Is_Checked::value), bool>::type operator ==(const T1& x, const T2& y) { return Checked::eq_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && (Is_Checked::value || Is_Checked::value), bool>::type operator !=(const T1& x, const T2& y) { return Checked::ne_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && (Is_Checked::value || Is_Checked::value), bool>::type operator >=(const T1& x, const T2& y) { return Checked::ge_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && (Is_Checked::value || Is_Checked::value), bool>::type operator >(const T1& x, const T2& y) { return Checked::gt_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && (Is_Checked::value || Is_Checked::value), bool>::type operator <=(const T1& x, const T2& y) { return Checked::le_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value && (Is_Checked::value || Is_Checked::value), bool>::type operator <(const T1& x, const T2& y) { return Checked::lt_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: # 608 "../../src/Checked_Number_inlines.hh" 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, bool>::type equal(const T1& x, const T2& y) { return Checked::eq_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, bool>::type not_equal(const T1& x, const T2& y) { return Checked::ne_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, bool>::type greater_or_equal(const T1& x, const T2& y) { return Checked::ge_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, bool>::type greater_than(const T1& x, const T2& y) { return Checked::gt_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, bool>::type less_or_equal(const T1& x, const T2& y) { return Checked::le_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: template inline typename Enable_If::value && Is_Native_Or_Checked::value, bool>::type less_than(const T1& x, const T2& y) { return Checked::lt_ext::Policy, typename Native_Checked_From_Wrapper::Policy> (Native_Checked_From_Wrapper::raw_value(x), Native_Checked_From_Wrapper::raw_value(y)); } 2441: 2441: 2441: 2441: 2441: template 2441: inline Checked_Number 2441: operator+(const Checked_Number& x) { 2441: return x; 2441: } 2441: 2441: 2441: template 2441: inline Checked_Number 2441: operator-(const Checked_Number& x) { 2441: Checked_Number r; 2441: Policy::handle_result(neg_assign_r(r, x, Policy::ROUND_DEFAULT_OPERATOR)); 2441: return r; 2441: } 2441: # 665 "../../src/Checked_Number_inlines.hh" 2441: template inline void sqrt_assign(Checked_Number& x, const Checked_Number& y) { Policy::handle_result((sqrt_assign_r)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void floor_assign(Checked_Number& x) { Policy::handle_result((floor_assign_r)(x, x, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: template inline void floor_assign(Checked_Number& x, const Checked_Number& y) { Policy::handle_result((floor_assign_r)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void ceil_assign(Checked_Number& x) { Policy::handle_result((ceil_assign_r)(x, x, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: template inline void ceil_assign(Checked_Number& x, const Checked_Number& y) { Policy::handle_result((ceil_assign_r)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void trunc_assign(Checked_Number& x) { Policy::handle_result((trunc_assign_r)(x, x, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: template inline void trunc_assign(Checked_Number& x, const Checked_Number& y) { Policy::handle_result((trunc_assign_r)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void neg_assign(Checked_Number& x) { Policy::handle_result((neg_assign_r)(x, x, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: template inline void neg_assign(Checked_Number& x, const Checked_Number& y) { Policy::handle_result((neg_assign_r)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void abs_assign(Checked_Number& x) { Policy::handle_result((abs_assign_r)(x, x, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: template inline void abs_assign(Checked_Number& x, const Checked_Number& y) { Policy::handle_result((abs_assign_r)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void add_mul_assign(Checked_Number& x, const Checked_Number& y, const Checked_Number& z) { Policy::handle_result((add_mul_assign_r)(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void sub_mul_assign(Checked_Number& x, const Checked_Number& y, const Checked_Number& z) { Policy::handle_result((sub_mul_assign_r)(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void rem_assign(Checked_Number& x, const Checked_Number& y, const Checked_Number& z) { Policy::handle_result((rem_assign_r)(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void gcd_assign(Checked_Number& x, const Checked_Number& y, const Checked_Number& z) { Policy::handle_result((gcd_assign_r)(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void gcdext_assign(Checked_Number& x, Checked_Number& s, Checked_Number& t, const Checked_Number& y, const Checked_Number& z) { Policy::handle_result((gcdext_assign_r)(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template inline void lcm_assign(Checked_Number& x, const Checked_Number& y, const Checked_Number& z) { Policy::handle_result((lcm_assign_r)(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: # 708 "../../src/Checked_Number_inlines.hh" 2441: template inline void mul_2exp_assign(Checked_Number& x, const Checked_Number& y, unsigned int exp) { Policy::handle_result((mul_2exp_assign_r)(x, y, exp, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: template inline void div_2exp_assign(Checked_Number& x, const Checked_Number& y, unsigned int exp) { Policy::handle_result((div_2exp_assign_r)(x, y, exp, Policy::ROUND_DEFAULT_FUNCTION)); } 2441: 2441: template 2441: inline void 2441: exact_div_assign(Checked_Number& x, 2441: const Checked_Number& y, 2441: const Checked_Number& z) { 2441: Policy::handle_result(div_assign_r(x, y, z, ROUND_NOT_NEEDED)); 2441: } 2441: 2441: 2441: template 2441: inline typename Enable_If::value, int>::type 2441: sgn(const From& x) { 2441: Result_Relation r 2441: = Checked::sgn_ext::Policy> 2441: (Native_Checked_From_Wrapper::raw_value(x)); 2441: switch (r) { 2441: case VR_LT: 2441: return -1; 2441: case VR_EQ: 2441: return 0; 2441: case VR_GT: 2441: return 1; 2441: default: 2441: throw(0); 2441: } 2441: } 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Is_Native_Or_Checked::value, 2441: int>::type 2441: cmp(const From1& x, const From2& y) { 2441: Result_Relation r 2441: = Checked::cmp_ext::Policy, 2441: typename Native_Checked_From_Wrapper::Policy> 2441: (Native_Checked_From_Wrapper::raw_value(x), 2441: Native_Checked_From_Wrapper::raw_value(y)); 2441: switch (r) { 2441: case VR_LT: 2441: return -1; 2441: case VR_EQ: 2441: return 0; 2441: case VR_GT: 2441: return 1; 2441: default: 2441: throw(0); 2441: } 2441: } 2441: 2441: 2441: template 2441: typename Enable_If::value, Result>::type 2441: output(std::ostream& os, const T& x, 2441: const Numeric_Format& format, Rounding_Dir dir) { 2441: return check_result(Checked::output_ext::Policy> 2441: (os, 2441: Native_Checked_From_Wrapper::raw_value(x), 2441: format, 2441: rounding_dir(dir)), 2441: dir); 2441: } 2441: 2441: 2441: template 2441: inline std::ostream& 2441: operator<<(std::ostream& os, const Checked_Number& x) { 2441: Policy::handle_result(output(os, x, Numeric_Format(), ROUND_IGNORE)); 2441: return os; 2441: } 2441: 2441: 2441: template 2441: typename Enable_If::value, Result>::type 2441: input(T& x, std::istream& is, Rounding_Dir dir) { 2441: return check_result(Checked::input_ext::Policy> 2441: (Native_Checked_To_Wrapper::raw_value(x), 2441: is, 2441: rounding_dir(dir)), 2441: dir); 2441: } 2441: 2441: 2441: template 2441: inline std::istream& operator>>(std::istream& is, 2441: Checked_Number& x) { 2441: Result r = input(x, is, Policy::ROUND_DEFAULT_INPUT); 2441: if (r == V_CVT_STR_UNK) { 2441: is.setstate(std::ios::failbit); 2441: } 2441: else { 2441: Policy::handle_result(r); 2441: } 2441: return is; 2441: } 2441: 2441: template 2441: inline T 2441: plus_infinity() { 2441: return PLUS_INFINITY; 2441: } 2441: 2441: template 2441: inline T 2441: minus_infinity() { 2441: return MINUS_INFINITY; 2441: } 2441: 2441: template 2441: inline T 2441: not_a_number() { 2441: return NOT_A_NUMBER; 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(Checked_Number& x, Checked_Number& y) { 2441: using std::swap; 2441: swap(x.raw_value(), y.raw_value()); 2441: } 2441: 2441: template 2441: inline void 2441: maybe_reset_fpu_inexact() { 2441: if (FPU_Related::value) { 2441: return fpu_reset_inexact(); 2441: } 2441: } 2441: 2441: template 2441: inline int 2441: maybe_check_fpu_inexact() { 2441: if (FPU_Related::value) { 2441: return fpu_check_inexact(); 2441: } 2441: else { 2441: return 0; 2441: } 2441: } 2441: 2441: } 2441: # 1068 "../../src/Checked_Number_defs.hh" 2 2441: # 1 "../../src/Checked_Number_templates.hh" 1 2441: # 28 "../../src/Checked_Number_templates.hh" 2441: # 1 "/usr/include/c++/8/iomanip" 1 3 2441: # 36 "/usr/include/c++/8/iomanip" 3 2441: 2441: # 37 "/usr/include/c++/8/iomanip" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/locale" 1 3 2441: # 36 "/usr/include/c++/8/locale" 3 2441: 2441: # 37 "/usr/include/c++/8/locale" 3 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/locale_facets_nonio.h" 1 3 2441: # 37 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: 2441: # 38 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: 2441: # 1 "/usr/include/c++/8/ctime" 1 3 2441: # 39 "/usr/include/c++/8/ctime" 3 2441: 2441: # 40 "/usr/include/c++/8/ctime" 3 2441: # 58 "/usr/include/c++/8/ctime" 3 2441: 2441: # 58 "/usr/include/c++/8/ctime" 3 2441: namespace std 2441: { 2441: using ::clock_t; 2441: using ::time_t; 2441: using ::tm; 2441: 2441: using ::clock; 2441: using ::difftime; 2441: using ::mktime; 2441: using ::time; 2441: using ::asctime; 2441: using ::ctime; 2441: using ::gmtime; 2441: using ::localtime; 2441: using ::strftime; 2441: } 2441: # 40 "/usr/include/c++/8/bits/locale_facets_nonio.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 52 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: class time_base 2441: { 2441: public: 2441: enum dateorder { no_order, dmy, mdy, ymd, ydm }; 2441: }; 2441: 2441: template 2441: struct __timepunct_cache : public locale::facet 2441: { 2441: 2441: static const _CharT* _S_timezones[14]; 2441: 2441: const _CharT* _M_date_format; 2441: const _CharT* _M_date_era_format; 2441: const _CharT* _M_time_format; 2441: const _CharT* _M_time_era_format; 2441: const _CharT* _M_date_time_format; 2441: const _CharT* _M_date_time_era_format; 2441: const _CharT* _M_am; 2441: const _CharT* _M_pm; 2441: const _CharT* _M_am_pm_format; 2441: 2441: 2441: const _CharT* _M_day1; 2441: const _CharT* _M_day2; 2441: const _CharT* _M_day3; 2441: const _CharT* _M_day4; 2441: const _CharT* _M_day5; 2441: const _CharT* _M_day6; 2441: const _CharT* _M_day7; 2441: 2441: 2441: const _CharT* _M_aday1; 2441: const _CharT* _M_aday2; 2441: const _CharT* _M_aday3; 2441: const _CharT* _M_aday4; 2441: const _CharT* _M_aday5; 2441: const _CharT* _M_aday6; 2441: const _CharT* _M_aday7; 2441: 2441: 2441: const _CharT* _M_month01; 2441: const _CharT* _M_month02; 2441: const _CharT* _M_month03; 2441: const _CharT* _M_month04; 2441: const _CharT* _M_month05; 2441: const _CharT* _M_month06; 2441: const _CharT* _M_month07; 2441: const _CharT* _M_month08; 2441: const _CharT* _M_month09; 2441: const _CharT* _M_month10; 2441: const _CharT* _M_month11; 2441: const _CharT* _M_month12; 2441: 2441: 2441: const _CharT* _M_amonth01; 2441: const _CharT* _M_amonth02; 2441: const _CharT* _M_amonth03; 2441: const _CharT* _M_amonth04; 2441: const _CharT* _M_amonth05; 2441: const _CharT* _M_amonth06; 2441: const _CharT* _M_amonth07; 2441: const _CharT* _M_amonth08; 2441: const _CharT* _M_amonth09; 2441: const _CharT* _M_amonth10; 2441: const _CharT* _M_amonth11; 2441: const _CharT* _M_amonth12; 2441: 2441: bool _M_allocated; 2441: 2441: __timepunct_cache(size_t __refs = 0) : facet(__refs), 2441: _M_date_format(0), _M_date_era_format(0), _M_time_format(0), 2441: _M_time_era_format(0), _M_date_time_format(0), 2441: _M_date_time_era_format(0), _M_am(0), _M_pm(0), 2441: _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0), 2441: _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0), 2441: _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0), 2441: _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0), 2441: _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0), 2441: _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0), 2441: _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0), 2441: _M_amonth02(0), _M_amonth03(0), _M_amonth04(0), 2441: _M_amonth05(0), _M_amonth06(0), _M_amonth07(0), 2441: _M_amonth08(0), _M_amonth09(0), _M_amonth10(0), 2441: _M_amonth11(0), _M_amonth12(0), _M_allocated(false) 2441: { } 2441: 2441: ~__timepunct_cache(); 2441: 2441: private: 2441: __timepunct_cache& 2441: operator=(const __timepunct_cache&); 2441: 2441: explicit 2441: __timepunct_cache(const __timepunct_cache&); 2441: }; 2441: 2441: template 2441: __timepunct_cache<_CharT>::~__timepunct_cache() 2441: { 2441: if (_M_allocated) 2441: { 2441: 2441: } 2441: } 2441: 2441: 2441: template<> 2441: const char* 2441: __timepunct_cache::_S_timezones[14]; 2441: 2441: 2441: template<> 2441: const wchar_t* 2441: __timepunct_cache::_S_timezones[14]; 2441: 2441: 2441: 2441: template 2441: const _CharT* __timepunct_cache<_CharT>::_S_timezones[14]; 2441: 2441: template 2441: class __timepunct : public locale::facet 2441: { 2441: public: 2441: 2441: typedef _CharT __char_type; 2441: typedef __timepunct_cache<_CharT> __cache_type; 2441: 2441: protected: 2441: __cache_type* _M_data; 2441: __c_locale _M_c_locale_timepunct; 2441: const char* _M_name_timepunct; 2441: 2441: public: 2441: 2441: static locale::id id; 2441: 2441: explicit 2441: __timepunct(size_t __refs = 0); 2441: 2441: explicit 2441: __timepunct(__cache_type* __cache, size_t __refs = 0); 2441: # 206 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0); 2441: 2441: 2441: 2441: void 2441: _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format, 2441: const tm* __tm) const throw (); 2441: 2441: void 2441: _M_date_formats(const _CharT** __date) const 2441: { 2441: 2441: __date[0] = _M_data->_M_date_format; 2441: __date[1] = _M_data->_M_date_era_format; 2441: } 2441: 2441: void 2441: _M_time_formats(const _CharT** __time) const 2441: { 2441: 2441: __time[0] = _M_data->_M_time_format; 2441: __time[1] = _M_data->_M_time_era_format; 2441: } 2441: 2441: void 2441: _M_date_time_formats(const _CharT** __dt) const 2441: { 2441: 2441: __dt[0] = _M_data->_M_date_time_format; 2441: __dt[1] = _M_data->_M_date_time_era_format; 2441: } 2441: 2441: 2441: void 2441: _M_am_pm_format(const _CharT*) const 2441: { } 2441: 2441: 2441: void 2441: _M_am_pm(const _CharT** __ampm) const 2441: { 2441: __ampm[0] = _M_data->_M_am; 2441: __ampm[1] = _M_data->_M_pm; 2441: } 2441: 2441: void 2441: _M_days(const _CharT** __days) const 2441: { 2441: __days[0] = _M_data->_M_day1; 2441: __days[1] = _M_data->_M_day2; 2441: __days[2] = _M_data->_M_day3; 2441: __days[3] = _M_data->_M_day4; 2441: __days[4] = _M_data->_M_day5; 2441: __days[5] = _M_data->_M_day6; 2441: __days[6] = _M_data->_M_day7; 2441: } 2441: 2441: void 2441: _M_days_abbreviated(const _CharT** __days) const 2441: { 2441: __days[0] = _M_data->_M_aday1; 2441: __days[1] = _M_data->_M_aday2; 2441: __days[2] = _M_data->_M_aday3; 2441: __days[3] = _M_data->_M_aday4; 2441: __days[4] = _M_data->_M_aday5; 2441: __days[5] = _M_data->_M_aday6; 2441: __days[6] = _M_data->_M_aday7; 2441: } 2441: 2441: void 2441: _M_months(const _CharT** __months) const 2441: { 2441: __months[0] = _M_data->_M_month01; 2441: __months[1] = _M_data->_M_month02; 2441: __months[2] = _M_data->_M_month03; 2441: __months[3] = _M_data->_M_month04; 2441: __months[4] = _M_data->_M_month05; 2441: __months[5] = _M_data->_M_month06; 2441: __months[6] = _M_data->_M_month07; 2441: __months[7] = _M_data->_M_month08; 2441: __months[8] = _M_data->_M_month09; 2441: __months[9] = _M_data->_M_month10; 2441: __months[10] = _M_data->_M_month11; 2441: __months[11] = _M_data->_M_month12; 2441: } 2441: 2441: void 2441: _M_months_abbreviated(const _CharT** __months) const 2441: { 2441: __months[0] = _M_data->_M_amonth01; 2441: __months[1] = _M_data->_M_amonth02; 2441: __months[2] = _M_data->_M_amonth03; 2441: __months[3] = _M_data->_M_amonth04; 2441: __months[4] = _M_data->_M_amonth05; 2441: __months[5] = _M_data->_M_amonth06; 2441: __months[6] = _M_data->_M_amonth07; 2441: __months[7] = _M_data->_M_amonth08; 2441: __months[8] = _M_data->_M_amonth09; 2441: __months[9] = _M_data->_M_amonth10; 2441: __months[10] = _M_data->_M_amonth11; 2441: __months[11] = _M_data->_M_amonth12; 2441: } 2441: 2441: protected: 2441: virtual 2441: ~__timepunct(); 2441: 2441: 2441: void 2441: _M_initialize_timepunct(__c_locale __cloc = 0); 2441: }; 2441: 2441: template 2441: locale::id __timepunct<_CharT>::id; 2441: 2441: 2441: template<> 2441: void 2441: __timepunct::_M_initialize_timepunct(__c_locale __cloc); 2441: 2441: template<> 2441: void 2441: __timepunct::_M_put(char*, size_t, const char*, const tm*) const throw (); 2441: 2441: 2441: template<> 2441: void 2441: __timepunct::_M_initialize_timepunct(__c_locale __cloc); 2441: 2441: template<> 2441: void 2441: __timepunct::_M_put(wchar_t*, size_t, const wchar_t*, 2441: const tm*) const throw (); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/time_members.h" 1 3 2441: # 37 "/usr/include/i386-linux-gnu/c++/8/bits/time_members.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: __timepunct<_CharT>::__timepunct(size_t __refs) 2441: : facet(__refs), _M_data(0), _M_c_locale_timepunct(0), 2441: _M_name_timepunct(_S_get_c_name()) 2441: { _M_initialize_timepunct(); } 2441: 2441: template 2441: __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs) 2441: : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(0), 2441: _M_name_timepunct(_S_get_c_name()) 2441: { _M_initialize_timepunct(); } 2441: 2441: template 2441: __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s, 2441: size_t __refs) 2441: : facet(__refs), _M_data(0), _M_c_locale_timepunct(0), 2441: _M_name_timepunct(0) 2441: { 2441: if (__builtin_strcmp(__s, _S_get_c_name()) != 0) 2441: { 2441: const size_t __len = __builtin_strlen(__s) + 1; 2441: char* __tmp = new char[__len]; 2441: __builtin_memcpy(__tmp, __s, __len); 2441: _M_name_timepunct = __tmp; 2441: } 2441: else 2441: _M_name_timepunct = _S_get_c_name(); 2441: 2441: try 2441: { _M_initialize_timepunct(__cloc); } 2441: catch(...) 2441: { 2441: if (_M_name_timepunct != _S_get_c_name()) 2441: delete [] _M_name_timepunct; 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: __timepunct<_CharT>::~__timepunct() 2441: { 2441: if (_M_name_timepunct != _S_get_c_name()) 2441: delete [] _M_name_timepunct; 2441: delete _M_data; 2441: _S_destroy_c_locale(_M_c_locale_timepunct); 2441: } 2441: 2441: 2441: } 2441: # 347 "/usr/include/c++/8/bits/locale_facets_nonio.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: namespace __cxx11 { 2441: # 367 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: class time_get : public locale::facet, public time_base 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _InIter iter_type; 2441: 2441: 2441: 2441: static locale::id id; 2441: # 388 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: time_get(size_t __refs = 0) 2441: : facet (__refs) { } 2441: # 405 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: dateorder 2441: date_order() const 2441: { return this->do_date_order(); } 2441: # 429 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: get_time(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { return this->do_get_time(__beg, __end, __io, __err, __tm); } 2441: # 454 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: get_date(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { return this->do_get_date(__beg, __end, __io, __err, __tm); } 2441: # 482 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: get_weekday(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { return this->do_get_weekday(__beg, __end, __io, __err, __tm); } 2441: # 511 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: get_monthname(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { return this->do_get_monthname(__beg, __end, __io, __err, __tm); } 2441: # 537 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: get_year(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { return this->do_get_year(__beg, __end, __io, __err, __tm); } 2441: # 558 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: inline 2441: iter_type get(iter_type __s, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm, char __format, 2441: char __modifier = 0) const 2441: { 2441: return this->do_get(__s, __end, __io, __err, __tm, __format, 2441: __modifier); 2441: } 2441: # 585 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type get(iter_type __s, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm, const char_type* __fmt, 2441: const char_type* __fmtend) const; 2441: 2441: 2441: protected: 2441: 2441: virtual 2441: ~time_get() { } 2441: # 605 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual dateorder 2441: do_date_order() const; 2441: # 623 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_get_time(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const; 2441: # 642 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_get_date(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const; 2441: # 661 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_get_weekday(iter_type __beg, iter_type __end, ios_base&, 2441: ios_base::iostate& __err, tm* __tm) const; 2441: # 680 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_get_monthname(iter_type __beg, iter_type __end, ios_base&, 2441: ios_base::iostate& __err, tm* __tm) const; 2441: # 699 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_get_year(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const; 2441: # 722 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual 2441: 2441: iter_type 2441: do_get(iter_type __s, iter_type __end, ios_base& __f, 2441: ios_base::iostate& __err, tm* __tm, 2441: char __format, char __modifier) const; 2441: 2441: 2441: 2441: iter_type 2441: _M_extract_num(iter_type __beg, iter_type __end, int& __member, 2441: int __min, int __max, size_t __len, 2441: ios_base& __io, ios_base::iostate& __err) const; 2441: 2441: 2441: iter_type 2441: _M_extract_name(iter_type __beg, iter_type __end, int& __member, 2441: const _CharT** __names, size_t __indexlen, 2441: ios_base& __io, ios_base::iostate& __err) const; 2441: 2441: 2441: iter_type 2441: _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member, 2441: const _CharT** __names, size_t __indexlen, 2441: ios_base& __io, ios_base::iostate& __err) const; 2441: 2441: 2441: iter_type 2441: _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm, 2441: const _CharT* __format) const; 2441: }; 2441: 2441: template 2441: locale::id time_get<_CharT, _InIter>::id; 2441: 2441: 2441: template 2441: class time_get_byname : public time_get<_CharT, _InIter> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef _InIter iter_type; 2441: 2441: explicit 2441: time_get_byname(const char*, size_t __refs = 0) 2441: : time_get<_CharT, _InIter>(__refs) { } 2441: 2441: 2441: explicit 2441: time_get_byname(const string& __s, size_t __refs = 0) 2441: : time_get_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~time_get_byname() { } 2441: }; 2441: 2441: } 2441: # 796 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: class time_put : public locale::facet 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _OutIter iter_type; 2441: 2441: 2441: 2441: static locale::id id; 2441: # 817 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: time_put(size_t __refs = 0) 2441: : facet(__refs) { } 2441: # 836 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, 2441: const _CharT* __beg, const _CharT* __end) const; 2441: # 856 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: put(iter_type __s, ios_base& __io, char_type __fill, 2441: const tm* __tm, char __format, char __mod = 0) const 2441: { return this->do_put(__s, __io, __fill, __tm, __format, __mod); } 2441: 2441: protected: 2441: 2441: virtual 2441: ~time_put() 2441: { } 2441: # 883 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, 2441: char __format, char __mod) const; 2441: }; 2441: 2441: template 2441: locale::id time_put<_CharT, _OutIter>::id; 2441: 2441: 2441: template 2441: class time_put_byname : public time_put<_CharT, _OutIter> 2441: { 2441: public: 2441: 2441: typedef _CharT char_type; 2441: typedef _OutIter iter_type; 2441: 2441: explicit 2441: time_put_byname(const char*, size_t __refs = 0) 2441: : time_put<_CharT, _OutIter>(__refs) 2441: { } 2441: 2441: 2441: explicit 2441: time_put_byname(const string& __s, size_t __refs = 0) 2441: : time_put_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~time_put_byname() { } 2441: }; 2441: # 928 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: class money_base 2441: { 2441: public: 2441: enum part { none, space, symbol, sign, value }; 2441: struct pattern { char field[4]; }; 2441: 2441: static const pattern _S_default_pattern; 2441: 2441: enum 2441: { 2441: _S_minus, 2441: _S_zero, 2441: _S_end = 11 2441: }; 2441: 2441: 2441: 2441: static const char* _S_atoms; 2441: 2441: 2441: 2441: __attribute__ ((__const__)) static pattern 2441: _S_construct_pattern(char __precedes, char __space, char __posn) throw (); 2441: }; 2441: 2441: template 2441: struct __moneypunct_cache : public locale::facet 2441: { 2441: const char* _M_grouping; 2441: size_t _M_grouping_size; 2441: bool _M_use_grouping; 2441: _CharT _M_decimal_point; 2441: _CharT _M_thousands_sep; 2441: const _CharT* _M_curr_symbol; 2441: size_t _M_curr_symbol_size; 2441: const _CharT* _M_positive_sign; 2441: size_t _M_positive_sign_size; 2441: const _CharT* _M_negative_sign; 2441: size_t _M_negative_sign_size; 2441: int _M_frac_digits; 2441: money_base::pattern _M_pos_format; 2441: money_base::pattern _M_neg_format; 2441: 2441: 2441: 2441: 2441: _CharT _M_atoms[money_base::_S_end]; 2441: 2441: bool _M_allocated; 2441: 2441: __moneypunct_cache(size_t __refs = 0) : facet(__refs), 2441: _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false), 2441: _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()), 2441: _M_curr_symbol(0), _M_curr_symbol_size(0), 2441: _M_positive_sign(0), _M_positive_sign_size(0), 2441: _M_negative_sign(0), _M_negative_sign_size(0), 2441: _M_frac_digits(0), 2441: _M_pos_format(money_base::pattern()), 2441: _M_neg_format(money_base::pattern()), _M_allocated(false) 2441: { } 2441: 2441: ~__moneypunct_cache(); 2441: 2441: void 2441: _M_cache(const locale& __loc); 2441: 2441: private: 2441: __moneypunct_cache& 2441: operator=(const __moneypunct_cache&); 2441: 2441: explicit 2441: __moneypunct_cache(const __moneypunct_cache&); 2441: }; 2441: 2441: template 2441: __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache() 2441: { 2441: if (_M_allocated) 2441: { 2441: delete [] _M_grouping; 2441: delete [] _M_curr_symbol; 2441: delete [] _M_positive_sign; 2441: delete [] _M_negative_sign; 2441: } 2441: } 2441: 2441: namespace __cxx11 { 2441: # 1023 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: class moneypunct : public locale::facet, public money_base 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: typedef __moneypunct_cache<_CharT, _Intl> __cache_type; 2441: 2441: private: 2441: __cache_type* _M_data; 2441: 2441: public: 2441: 2441: 2441: static const bool intl = _Intl; 2441: 2441: static locale::id id; 2441: # 1052 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: moneypunct(size_t __refs = 0) 2441: : facet(__refs), _M_data(0) 2441: { _M_initialize_moneypunct(); } 2441: # 1065 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: moneypunct(__cache_type* __cache, size_t __refs = 0) 2441: : facet(__refs), _M_data(__cache) 2441: { _M_initialize_moneypunct(); } 2441: # 1080 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0) 2441: : facet(__refs), _M_data(0) 2441: { _M_initialize_moneypunct(__cloc, __s); } 2441: # 1094 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: char_type 2441: decimal_point() const 2441: { return this->do_decimal_point(); } 2441: # 1107 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: char_type 2441: thousands_sep() const 2441: { return this->do_thousands_sep(); } 2441: # 1137 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: string 2441: grouping() const 2441: { return this->do_grouping(); } 2441: # 1150 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: string_type 2441: curr_symbol() const 2441: { return this->do_curr_symbol(); } 2441: # 1167 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: string_type 2441: positive_sign() const 2441: { return this->do_positive_sign(); } 2441: # 1184 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: string_type 2441: negative_sign() const 2441: { return this->do_negative_sign(); } 2441: # 1200 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: int 2441: frac_digits() const 2441: { return this->do_frac_digits(); } 2441: # 1236 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: pattern 2441: pos_format() const 2441: { return this->do_pos_format(); } 2441: 2441: pattern 2441: neg_format() const 2441: { return this->do_neg_format(); } 2441: 2441: 2441: protected: 2441: 2441: virtual 2441: ~moneypunct(); 2441: # 1258 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual char_type 2441: do_decimal_point() const 2441: { return _M_data->_M_decimal_point; } 2441: # 1270 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual char_type 2441: do_thousands_sep() const 2441: { return _M_data->_M_thousands_sep; } 2441: # 1283 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual string 2441: do_grouping() const 2441: { return _M_data->_M_grouping; } 2441: # 1296 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual string_type 2441: do_curr_symbol() const 2441: { return _M_data->_M_curr_symbol; } 2441: # 1309 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual string_type 2441: do_positive_sign() const 2441: { return _M_data->_M_positive_sign; } 2441: # 1322 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual string_type 2441: do_negative_sign() const 2441: { return _M_data->_M_negative_sign; } 2441: # 1336 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual int 2441: do_frac_digits() const 2441: { return _M_data->_M_frac_digits; } 2441: # 1350 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual pattern 2441: do_pos_format() const 2441: { return _M_data->_M_pos_format; } 2441: # 1364 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual pattern 2441: do_neg_format() const 2441: { return _M_data->_M_neg_format; } 2441: 2441: 2441: void 2441: _M_initialize_moneypunct(__c_locale __cloc = 0, 2441: const char* __name = 0); 2441: }; 2441: 2441: template 2441: locale::id moneypunct<_CharT, _Intl>::id; 2441: 2441: template 2441: const bool moneypunct<_CharT, _Intl>::intl; 2441: 2441: template<> 2441: moneypunct::~moneypunct(); 2441: 2441: template<> 2441: moneypunct::~moneypunct(); 2441: 2441: template<> 2441: void 2441: moneypunct::_M_initialize_moneypunct(__c_locale, const char*); 2441: 2441: template<> 2441: void 2441: moneypunct::_M_initialize_moneypunct(__c_locale, const char*); 2441: 2441: 2441: template<> 2441: moneypunct::~moneypunct(); 2441: 2441: template<> 2441: moneypunct::~moneypunct(); 2441: 2441: template<> 2441: void 2441: moneypunct::_M_initialize_moneypunct(__c_locale, 2441: const char*); 2441: 2441: template<> 2441: void 2441: moneypunct::_M_initialize_moneypunct(__c_locale, 2441: const char*); 2441: 2441: 2441: 2441: template 2441: class moneypunct_byname : public moneypunct<_CharT, _Intl> 2441: { 2441: public: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: static const bool intl = _Intl; 2441: 2441: explicit 2441: moneypunct_byname(const char* __s, size_t __refs = 0) 2441: : moneypunct<_CharT, _Intl>(__refs) 2441: { 2441: if (__builtin_strcmp(__s, "C") != 0 2441: && __builtin_strcmp(__s, "POSIX") != 0) 2441: { 2441: __c_locale __tmp; 2441: this->_S_create_c_locale(__tmp, __s); 2441: this->_M_initialize_moneypunct(__tmp); 2441: this->_S_destroy_c_locale(__tmp); 2441: } 2441: } 2441: 2441: 2441: explicit 2441: moneypunct_byname(const string& __s, size_t __refs = 0) 2441: : moneypunct_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~moneypunct_byname() { } 2441: }; 2441: 2441: template 2441: const bool moneypunct_byname<_CharT, _Intl>::intl; 2441: 2441: } 2441: 2441: namespace __cxx11 { 2441: # 1467 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: class money_get : public locale::facet 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _InIter iter_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: 2441: 2441: static locale::id id; 2441: # 1489 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: money_get(size_t __refs = 0) : facet(__refs) { } 2441: # 1519 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, 2441: ios_base::iostate& __err, long double& __units) const 2441: { return this->do_get(__s, __end, __intl, __io, __err, __units); } 2441: # 1550 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, 2441: ios_base::iostate& __err, string_type& __digits) const 2441: { return this->do_get(__s, __end, __intl, __io, __err, __digits); } 2441: 2441: protected: 2441: 2441: virtual 2441: ~money_get() { } 2441: # 1574 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, 2441: ios_base::iostate& __err, long double& __units) const; 2441: # 1586 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, 2441: ios_base::iostate& __err, string_type& __digits) const; 2441: # 1598 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: iter_type 2441: _M_extract(iter_type __s, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, string& __digits) const; 2441: }; 2441: 2441: template 2441: locale::id money_get<_CharT, _InIter>::id; 2441: # 1620 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: class money_put : public locale::facet 2441: { 2441: public: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _OutIter iter_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: 2441: 2441: static locale::id id; 2441: # 1641 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: money_put(size_t __refs = 0) : facet(__refs) { } 2441: # 1661 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: put(iter_type __s, bool __intl, ios_base& __io, 2441: char_type __fill, long double __units) const 2441: { return this->do_put(__s, __intl, __io, __fill, __units); } 2441: # 1684 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: iter_type 2441: put(iter_type __s, bool __intl, ios_base& __io, 2441: char_type __fill, const string_type& __digits) const 2441: { return this->do_put(__s, __intl, __io, __fill, __digits); } 2441: 2441: protected: 2441: 2441: virtual 2441: ~money_put() { } 2441: # 1719 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, 2441: long double __units) const; 2441: # 1743 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual iter_type 2441: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, 2441: const string_type& __digits) const; 2441: # 1755 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: iter_type 2441: _M_insert(iter_type __s, ios_base& __io, char_type __fill, 2441: const string_type& __digits) const; 2441: }; 2441: 2441: template 2441: locale::id money_put<_CharT, _OutIter>::id; 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: struct messages_base 2441: { 2441: typedef int catalog; 2441: }; 2441: 2441: namespace __cxx11 { 2441: # 1798 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: template 2441: class messages : public locale::facet, public messages_base 2441: { 2441: public: 2441: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: 2441: protected: 2441: 2441: 2441: __c_locale _M_c_locale_messages; 2441: const char* _M_name_messages; 2441: 2441: public: 2441: 2441: static locale::id id; 2441: # 1826 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: messages(size_t __refs = 0); 2441: # 1840 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: explicit 2441: messages(__c_locale __cloc, const char* __s, size_t __refs = 0); 2441: # 1853 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: catalog 2441: open(const basic_string& __s, const locale& __loc) const 2441: { return this->do_open(__s, __loc); } 2441: # 1871 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: catalog 2441: open(const basic_string&, const locale&, const char*) const; 2441: # 1889 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: string_type 2441: get(catalog __c, int __set, int __msgid, const string_type& __s) const 2441: { return this->do_get(__c, __set, __msgid, __s); } 2441: # 1900 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: void 2441: close(catalog __c) const 2441: { return this->do_close(__c); } 2441: 2441: protected: 2441: 2441: virtual 2441: ~messages(); 2441: # 1920 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual catalog 2441: do_open(const basic_string&, const locale&) const; 2441: # 1939 "/usr/include/c++/8/bits/locale_facets_nonio.h" 3 2441: virtual string_type 2441: do_get(catalog, int, int, const string_type& __dfault) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void 2441: do_close(catalog) const; 2441: 2441: 2441: char* 2441: _M_convert_to_char(const string_type& __msg) const 2441: { 2441: 2441: return reinterpret_cast(const_cast<_CharT*>(__msg.c_str())); 2441: } 2441: 2441: 2441: string_type 2441: _M_convert_from_char(char*) const 2441: { 2441: 2441: return string_type(); 2441: } 2441: }; 2441: 2441: template 2441: locale::id messages<_CharT>::id; 2441: 2441: 2441: template<> 2441: string 2441: messages::do_get(catalog, int, int, const string&) const; 2441: 2441: 2441: template<> 2441: wstring 2441: messages::do_get(catalog, int, int, const wstring&) const; 2441: 2441: 2441: 2441: template 2441: class messages_byname : public messages<_CharT> 2441: { 2441: public: 2441: typedef _CharT char_type; 2441: typedef basic_string<_CharT> string_type; 2441: 2441: explicit 2441: messages_byname(const char* __s, size_t __refs = 0); 2441: 2441: 2441: explicit 2441: messages_byname(const string& __s, size_t __refs = 0) 2441: : messages_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~messages_byname() 2441: { } 2441: }; 2441: 2441: } 2441: 2441: 2441: } 2441: 2441: 2441: # 1 "/usr/include/i386-linux-gnu/c++/8/bits/messages_members.h" 1 3 2441: # 36 "/usr/include/i386-linux-gnu/c++/8/bits/messages_members.h" 3 2441: # 1 "/usr/include/libintl.h" 1 3 4 2441: # 34 "/usr/include/libintl.h" 3 4 2441: extern "C" { 2441: 2441: 2441: 2441: 2441: extern char *gettext (const char *__msgid) 2441: throw () __attribute__ ((__format_arg__ (1))); 2441: 2441: 2441: 2441: extern char *dgettext (const char *__domainname, const char *__msgid) 2441: throw () __attribute__ ((__format_arg__ (2))); 2441: extern char *__dgettext (const char *__domainname, const char *__msgid) 2441: throw () __attribute__ ((__format_arg__ (2))); 2441: 2441: 2441: 2441: extern char *dcgettext (const char *__domainname, 2441: const char *__msgid, int __category) 2441: throw () __attribute__ ((__format_arg__ (2))); 2441: extern char *__dcgettext (const char *__domainname, 2441: const char *__msgid, int __category) 2441: throw () __attribute__ ((__format_arg__ (2))); 2441: 2441: 2441: 2441: 2441: extern char *ngettext (const char *__msgid1, const char *__msgid2, 2441: unsigned long int __n) 2441: throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); 2441: 2441: 2441: 2441: extern char *dngettext (const char *__domainname, const char *__msgid1, 2441: const char *__msgid2, unsigned long int __n) 2441: throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); 2441: 2441: 2441: 2441: extern char *dcngettext (const char *__domainname, const char *__msgid1, 2441: const char *__msgid2, unsigned long int __n, 2441: int __category) 2441: throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); 2441: 2441: 2441: 2441: 2441: 2441: extern char *textdomain (const char *__domainname) throw (); 2441: 2441: 2441: 2441: extern char *bindtextdomain (const char *__domainname, 2441: const char *__dirname) throw (); 2441: 2441: 2441: 2441: extern char *bind_textdomain_codeset (const char *__domainname, 2441: const char *__codeset) throw (); 2441: # 121 "/usr/include/libintl.h" 3 4 2441: } 2441: # 37 "/usr/include/i386-linux-gnu/c++/8/bits/messages_members.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: messages<_CharT>::messages(size_t __refs) 2441: : facet(__refs), _M_c_locale_messages(_S_get_c_locale()), 2441: _M_name_messages(_S_get_c_name()) 2441: { } 2441: 2441: template 2441: messages<_CharT>::messages(__c_locale __cloc, const char* __s, 2441: size_t __refs) 2441: : facet(__refs), _M_c_locale_messages(0), _M_name_messages(0) 2441: { 2441: if (__builtin_strcmp(__s, _S_get_c_name()) != 0) 2441: { 2441: const size_t __len = __builtin_strlen(__s) + 1; 2441: char* __tmp = new char[__len]; 2441: __builtin_memcpy(__tmp, __s, __len); 2441: _M_name_messages = __tmp; 2441: } 2441: else 2441: _M_name_messages = _S_get_c_name(); 2441: 2441: 2441: _M_c_locale_messages = _S_clone_c_locale(__cloc); 2441: } 2441: 2441: template 2441: typename messages<_CharT>::catalog 2441: messages<_CharT>::open(const basic_string& __s, const locale& __loc, 2441: const char* __dir) const 2441: { 2441: bindtextdomain(__s.c_str(), __dir); 2441: return this->do_open(__s, __loc); 2441: } 2441: 2441: 2441: template 2441: messages<_CharT>::~messages() 2441: { 2441: if (_M_name_messages != _S_get_c_name()) 2441: delete [] _M_name_messages; 2441: _S_destroy_c_locale(_M_c_locale_messages); 2441: } 2441: 2441: template 2441: typename messages<_CharT>::catalog 2441: messages<_CharT>::do_open(const basic_string& __s, 2441: const locale&) const 2441: { 2441: 2441: 2441: textdomain(__s.c_str()); 2441: return 0; 2441: } 2441: 2441: template 2441: void 2441: messages<_CharT>::do_close(catalog) const 2441: { } 2441: 2441: 2441: template 2441: messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs) 2441: : messages<_CharT>(__refs) 2441: { 2441: if (this->_M_name_messages != locale::facet::_S_get_c_name()) 2441: { 2441: delete [] this->_M_name_messages; 2441: if (__builtin_strcmp(__s, locale::facet::_S_get_c_name()) != 0) 2441: { 2441: const size_t __len = __builtin_strlen(__s) + 1; 2441: char* __tmp = new char[__len]; 2441: __builtin_memcpy(__tmp, __s, __len); 2441: this->_M_name_messages = __tmp; 2441: } 2441: else 2441: this->_M_name_messages = locale::facet::_S_get_c_name(); 2441: } 2441: 2441: if (__builtin_strcmp(__s, "C") != 0 2441: && __builtin_strcmp(__s, "POSIX") != 0) 2441: { 2441: this->_S_destroy_c_locale(this->_M_c_locale_messages); 2441: this->_S_create_c_locale(this->_M_c_locale_messages, __s); 2441: } 2441: } 2441: 2441: 2441: template<> 2441: typename messages::catalog 2441: messages::do_open(const basic_string&, 2441: const locale&) const; 2441: 2441: template<> 2441: void 2441: messages::do_close(catalog) const; 2441: 2441: 2441: template<> 2441: typename messages::catalog 2441: messages::do_open(const basic_string&, 2441: const locale&) const; 2441: 2441: template<> 2441: void 2441: messages::do_close(catalog) const; 2441: 2441: 2441: 2441: } 2441: # 2011 "/usr/include/c++/8/bits/locale_facets_nonio.h" 2 3 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/codecvt.h" 1 3 2441: # 39 "/usr/include/c++/8/bits/codecvt.h" 3 2441: 2441: # 40 "/usr/include/c++/8/bits/codecvt.h" 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: class codecvt_base 2441: { 2441: public: 2441: enum result 2441: { 2441: ok, 2441: partial, 2441: error, 2441: noconv 2441: }; 2441: }; 2441: # 67 "/usr/include/c++/8/bits/codecvt.h" 3 2441: template 2441: class __codecvt_abstract_base 2441: : public locale::facet, public codecvt_base 2441: { 2441: public: 2441: 2441: typedef codecvt_base::result result; 2441: typedef _InternT intern_type; 2441: typedef _ExternT extern_type; 2441: typedef _StateT state_type; 2441: # 115 "/usr/include/c++/8/bits/codecvt.h" 3 2441: result 2441: out(state_type& __state, const intern_type* __from, 2441: const intern_type* __from_end, const intern_type*& __from_next, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const 2441: { 2441: return this->do_out(__state, __from, __from_end, __from_next, 2441: __to, __to_end, __to_next); 2441: } 2441: # 154 "/usr/include/c++/8/bits/codecvt.h" 3 2441: result 2441: unshift(state_type& __state, extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const 2441: { return this->do_unshift(__state, __to,__to_end,__to_next); } 2441: # 195 "/usr/include/c++/8/bits/codecvt.h" 3 2441: result 2441: in(state_type& __state, const extern_type* __from, 2441: const extern_type* __from_end, const extern_type*& __from_next, 2441: intern_type* __to, intern_type* __to_end, 2441: intern_type*& __to_next) const 2441: { 2441: return this->do_in(__state, __from, __from_end, __from_next, 2441: __to, __to_end, __to_next); 2441: } 2441: 2441: int 2441: encoding() const throw() 2441: { return this->do_encoding(); } 2441: 2441: bool 2441: always_noconv() const throw() 2441: { return this->do_always_noconv(); } 2441: 2441: int 2441: length(state_type& __state, const extern_type* __from, 2441: const extern_type* __end, size_t __max) const 2441: { return this->do_length(__state, __from, __end, __max); } 2441: 2441: int 2441: max_length() const throw() 2441: { return this->do_max_length(); } 2441: 2441: protected: 2441: explicit 2441: __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { } 2441: 2441: virtual 2441: ~__codecvt_abstract_base() { } 2441: # 236 "/usr/include/c++/8/bits/codecvt.h" 3 2441: virtual result 2441: do_out(state_type& __state, const intern_type* __from, 2441: const intern_type* __from_end, const intern_type*& __from_next, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const = 0; 2441: 2441: virtual result 2441: do_unshift(state_type& __state, extern_type* __to, 2441: extern_type* __to_end, extern_type*& __to_next) const = 0; 2441: 2441: virtual result 2441: do_in(state_type& __state, const extern_type* __from, 2441: const extern_type* __from_end, const extern_type*& __from_next, 2441: intern_type* __to, intern_type* __to_end, 2441: intern_type*& __to_next) const = 0; 2441: 2441: virtual int 2441: do_encoding() const throw() = 0; 2441: 2441: virtual bool 2441: do_always_noconv() const throw() = 0; 2441: 2441: virtual int 2441: do_length(state_type&, const extern_type* __from, 2441: const extern_type* __end, size_t __max) const = 0; 2441: 2441: virtual int 2441: do_max_length() const throw() = 0; 2441: }; 2441: # 273 "/usr/include/c++/8/bits/codecvt.h" 3 2441: template 2441: class codecvt 2441: : public __codecvt_abstract_base<_InternT, _ExternT, _StateT> 2441: { 2441: public: 2441: 2441: typedef codecvt_base::result result; 2441: typedef _InternT intern_type; 2441: typedef _ExternT extern_type; 2441: typedef _StateT state_type; 2441: 2441: protected: 2441: __c_locale _M_c_locale_codecvt; 2441: 2441: public: 2441: static locale::id id; 2441: 2441: explicit 2441: codecvt(size_t __refs = 0) 2441: : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs), 2441: _M_c_locale_codecvt(0) 2441: { } 2441: 2441: explicit 2441: codecvt(__c_locale __cloc, size_t __refs = 0); 2441: 2441: protected: 2441: virtual 2441: ~codecvt() { } 2441: 2441: virtual result 2441: do_out(state_type& __state, const intern_type* __from, 2441: const intern_type* __from_end, const intern_type*& __from_next, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_unshift(state_type& __state, extern_type* __to, 2441: extern_type* __to_end, extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_in(state_type& __state, const extern_type* __from, 2441: const extern_type* __from_end, const extern_type*& __from_next, 2441: intern_type* __to, intern_type* __to_end, 2441: intern_type*& __to_next) const; 2441: 2441: virtual int 2441: do_encoding() const throw(); 2441: 2441: virtual bool 2441: do_always_noconv() const throw(); 2441: 2441: virtual int 2441: do_length(state_type&, const extern_type* __from, 2441: const extern_type* __end, size_t __max) const; 2441: 2441: virtual int 2441: do_max_length() const throw(); 2441: }; 2441: 2441: template 2441: locale::id codecvt<_InternT, _ExternT, _StateT>::id; 2441: 2441: 2441: template<> 2441: class codecvt 2441: : public __codecvt_abstract_base 2441: { 2441: friend class messages; 2441: 2441: public: 2441: 2441: typedef char intern_type; 2441: typedef char extern_type; 2441: typedef mbstate_t state_type; 2441: 2441: protected: 2441: __c_locale _M_c_locale_codecvt; 2441: 2441: public: 2441: static locale::id id; 2441: 2441: explicit 2441: codecvt(size_t __refs = 0); 2441: 2441: explicit 2441: codecvt(__c_locale __cloc, size_t __refs = 0); 2441: 2441: protected: 2441: virtual 2441: ~codecvt(); 2441: 2441: virtual result 2441: do_out(state_type& __state, const intern_type* __from, 2441: const intern_type* __from_end, const intern_type*& __from_next, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_unshift(state_type& __state, extern_type* __to, 2441: extern_type* __to_end, extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_in(state_type& __state, const extern_type* __from, 2441: const extern_type* __from_end, const extern_type*& __from_next, 2441: intern_type* __to, intern_type* __to_end, 2441: intern_type*& __to_next) const; 2441: 2441: virtual int 2441: do_encoding() const throw(); 2441: 2441: virtual bool 2441: do_always_noconv() const throw(); 2441: 2441: virtual int 2441: do_length(state_type&, const extern_type* __from, 2441: const extern_type* __end, size_t __max) const; 2441: 2441: virtual int 2441: do_max_length() const throw(); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: class codecvt 2441: : public __codecvt_abstract_base 2441: { 2441: friend class messages; 2441: 2441: public: 2441: 2441: typedef wchar_t intern_type; 2441: typedef char extern_type; 2441: typedef mbstate_t state_type; 2441: 2441: protected: 2441: __c_locale _M_c_locale_codecvt; 2441: 2441: public: 2441: static locale::id id; 2441: 2441: explicit 2441: codecvt(size_t __refs = 0); 2441: 2441: explicit 2441: codecvt(__c_locale __cloc, size_t __refs = 0); 2441: 2441: protected: 2441: virtual 2441: ~codecvt(); 2441: 2441: virtual result 2441: do_out(state_type& __state, const intern_type* __from, 2441: const intern_type* __from_end, const intern_type*& __from_next, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_unshift(state_type& __state, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_in(state_type& __state, 2441: const extern_type* __from, const extern_type* __from_end, 2441: const extern_type*& __from_next, 2441: intern_type* __to, intern_type* __to_end, 2441: intern_type*& __to_next) const; 2441: 2441: virtual 2441: int do_encoding() const throw(); 2441: 2441: virtual 2441: bool do_always_noconv() const throw(); 2441: 2441: virtual 2441: int do_length(state_type&, const extern_type* __from, 2441: const extern_type* __end, size_t __max) const; 2441: 2441: virtual int 2441: do_max_length() const throw(); 2441: }; 2441: # 467 "/usr/include/c++/8/bits/codecvt.h" 3 2441: template<> 2441: class codecvt 2441: : public __codecvt_abstract_base 2441: { 2441: public: 2441: 2441: typedef char16_t intern_type; 2441: typedef char extern_type; 2441: typedef mbstate_t state_type; 2441: 2441: public: 2441: static locale::id id; 2441: 2441: explicit 2441: codecvt(size_t __refs = 0) 2441: : __codecvt_abstract_base(__refs) { } 2441: 2441: protected: 2441: virtual 2441: ~codecvt(); 2441: 2441: virtual result 2441: do_out(state_type& __state, const intern_type* __from, 2441: const intern_type* __from_end, const intern_type*& __from_next, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_unshift(state_type& __state, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_in(state_type& __state, 2441: const extern_type* __from, const extern_type* __from_end, 2441: const extern_type*& __from_next, 2441: intern_type* __to, intern_type* __to_end, 2441: intern_type*& __to_next) const; 2441: 2441: virtual 2441: int do_encoding() const throw(); 2441: 2441: virtual 2441: bool do_always_noconv() const throw(); 2441: 2441: virtual 2441: int do_length(state_type&, const extern_type* __from, 2441: const extern_type* __end, size_t __max) const; 2441: 2441: virtual int 2441: do_max_length() const throw(); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template<> 2441: class codecvt 2441: : public __codecvt_abstract_base 2441: { 2441: public: 2441: 2441: typedef char32_t intern_type; 2441: typedef char extern_type; 2441: typedef mbstate_t state_type; 2441: 2441: public: 2441: static locale::id id; 2441: 2441: explicit 2441: codecvt(size_t __refs = 0) 2441: : __codecvt_abstract_base(__refs) { } 2441: 2441: protected: 2441: virtual 2441: ~codecvt(); 2441: 2441: virtual result 2441: do_out(state_type& __state, const intern_type* __from, 2441: const intern_type* __from_end, const intern_type*& __from_next, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_unshift(state_type& __state, 2441: extern_type* __to, extern_type* __to_end, 2441: extern_type*& __to_next) const; 2441: 2441: virtual result 2441: do_in(state_type& __state, 2441: const extern_type* __from, const extern_type* __from_end, 2441: const extern_type*& __from_next, 2441: intern_type* __to, intern_type* __to_end, 2441: intern_type*& __to_next) const; 2441: 2441: virtual 2441: int do_encoding() const throw(); 2441: 2441: virtual 2441: bool do_always_noconv() const throw(); 2441: 2441: virtual 2441: int do_length(state_type&, const extern_type* __from, 2441: const extern_type* __end, size_t __max) const; 2441: 2441: virtual int 2441: do_max_length() const throw(); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT> 2441: { 2441: public: 2441: explicit 2441: codecvt_byname(const char* __s, size_t __refs = 0) 2441: : codecvt<_InternT, _ExternT, _StateT>(__refs) 2441: { 2441: if (__builtin_strcmp(__s, "C") != 0 2441: && __builtin_strcmp(__s, "POSIX") != 0) 2441: { 2441: this->_S_destroy_c_locale(this->_M_c_locale_codecvt); 2441: this->_S_create_c_locale(this->_M_c_locale_codecvt, __s); 2441: } 2441: } 2441: 2441: 2441: explicit 2441: codecvt_byname(const string& __s, size_t __refs = 0) 2441: : codecvt_byname(__s.c_str(), __refs) { } 2441: 2441: 2441: protected: 2441: virtual 2441: ~codecvt_byname() { } 2441: }; 2441: 2441: 2441: template<> 2441: class codecvt_byname 2441: : public codecvt 2441: { 2441: public: 2441: explicit 2441: codecvt_byname(const char*, size_t __refs = 0) 2441: : codecvt(__refs) { } 2441: 2441: explicit 2441: codecvt_byname(const string& __s, size_t __refs = 0) 2441: : codecvt_byname(__s.c_str(), __refs) { } 2441: 2441: protected: 2441: virtual 2441: ~codecvt_byname() { } 2441: }; 2441: 2441: template<> 2441: class codecvt_byname 2441: : public codecvt 2441: { 2441: public: 2441: explicit 2441: codecvt_byname(const char*, size_t __refs = 0) 2441: : codecvt(__refs) { } 2441: 2441: explicit 2441: codecvt_byname(const string& __s, size_t __refs = 0) 2441: : codecvt_byname(__s.c_str(), __refs) { } 2441: 2441: protected: 2441: virtual 2441: ~codecvt_byname() { } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: extern template class codecvt_byname; 2441: 2441: extern template 2441: const codecvt& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: extern template class codecvt_byname; 2441: 2441: extern template 2441: const codecvt& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: 2441: extern template class codecvt_byname; 2441: extern template class codecvt_byname; 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 2014 "/usr/include/c++/8/bits/locale_facets_nonio.h" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/locale_facets_nonio.tcc" 1 3 2441: # 33 "/usr/include/c++/8/bits/locale_facets_nonio.tcc" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/locale_facets_nonio.tcc" 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: template 2441: struct __use_cache<__moneypunct_cache<_CharT, _Intl> > 2441: { 2441: const __moneypunct_cache<_CharT, _Intl>* 2441: operator() (const locale& __loc) const 2441: { 2441: const size_t __i = moneypunct<_CharT, _Intl>::id._M_id(); 2441: const locale::facet** __caches = __loc._M_impl->_M_caches; 2441: if (!__caches[__i]) 2441: { 2441: __moneypunct_cache<_CharT, _Intl>* __tmp = 0; 2441: try 2441: { 2441: __tmp = new __moneypunct_cache<_CharT, _Intl>; 2441: __tmp->_M_cache(__loc); 2441: } 2441: catch(...) 2441: { 2441: delete __tmp; 2441: throw; 2441: } 2441: __loc._M_impl->_M_install_cache(__tmp, __i); 2441: } 2441: return static_cast< 2441: const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]); 2441: } 2441: }; 2441: 2441: template 2441: void 2441: __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc) 2441: { 2441: const moneypunct<_CharT, _Intl>& __mp = 2441: use_facet >(__loc); 2441: 2441: _M_decimal_point = __mp.decimal_point(); 2441: _M_thousands_sep = __mp.thousands_sep(); 2441: _M_frac_digits = __mp.frac_digits(); 2441: 2441: char* __grouping = 0; 2441: _CharT* __curr_symbol = 0; 2441: _CharT* __positive_sign = 0; 2441: _CharT* __negative_sign = 0; 2441: try 2441: { 2441: const string& __g = __mp.grouping(); 2441: _M_grouping_size = __g.size(); 2441: __grouping = new char[_M_grouping_size]; 2441: __g.copy(__grouping, _M_grouping_size); 2441: _M_use_grouping = (_M_grouping_size 2441: && static_cast(__grouping[0]) > 0 2441: && (__grouping[0] 2441: != __gnu_cxx::__numeric_traits::__max)); 2441: 2441: const basic_string<_CharT>& __cs = __mp.curr_symbol(); 2441: _M_curr_symbol_size = __cs.size(); 2441: __curr_symbol = new _CharT[_M_curr_symbol_size]; 2441: __cs.copy(__curr_symbol, _M_curr_symbol_size); 2441: 2441: const basic_string<_CharT>& __ps = __mp.positive_sign(); 2441: _M_positive_sign_size = __ps.size(); 2441: __positive_sign = new _CharT[_M_positive_sign_size]; 2441: __ps.copy(__positive_sign, _M_positive_sign_size); 2441: 2441: const basic_string<_CharT>& __ns = __mp.negative_sign(); 2441: _M_negative_sign_size = __ns.size(); 2441: __negative_sign = new _CharT[_M_negative_sign_size]; 2441: __ns.copy(__negative_sign, _M_negative_sign_size); 2441: 2441: _M_pos_format = __mp.pos_format(); 2441: _M_neg_format = __mp.neg_format(); 2441: 2441: const ctype<_CharT>& __ct = use_facet >(__loc); 2441: __ct.widen(money_base::_S_atoms, 2441: money_base::_S_atoms + money_base::_S_end, _M_atoms); 2441: 2441: _M_grouping = __grouping; 2441: _M_curr_symbol = __curr_symbol; 2441: _M_positive_sign = __positive_sign; 2441: _M_negative_sign = __negative_sign; 2441: _M_allocated = true; 2441: } 2441: catch(...) 2441: { 2441: delete [] __grouping; 2441: delete [] __curr_symbol; 2441: delete [] __positive_sign; 2441: delete [] __negative_sign; 2441: throw; 2441: } 2441: } 2441: 2441: namespace __cxx11 { 2441: 2441: template 2441: template 2441: _InIter 2441: money_get<_CharT, _InIter>:: 2441: _M_extract(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, string& __units) const 2441: { 2441: typedef char_traits<_CharT> __traits_type; 2441: typedef typename string_type::size_type size_type; 2441: typedef money_base::part part; 2441: typedef __moneypunct_cache<_CharT, _Intl> __cache_type; 2441: 2441: const locale& __loc = __io._M_getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: __use_cache<__cache_type> __uc; 2441: const __cache_type* __lc = __uc(__loc); 2441: const char_type* __lit = __lc->_M_atoms; 2441: 2441: 2441: bool __negative = false; 2441: 2441: size_type __sign_size = 0; 2441: 2441: const bool __mandatory_sign = (__lc->_M_positive_sign_size 2441: && __lc->_M_negative_sign_size); 2441: 2441: string __grouping_tmp; 2441: if (__lc->_M_use_grouping) 2441: __grouping_tmp.reserve(32); 2441: 2441: int __last_pos = 0; 2441: 2441: int __n = 0; 2441: 2441: bool __testvalid = true; 2441: 2441: bool __testdecfound = false; 2441: 2441: 2441: string __res; 2441: __res.reserve(32); 2441: 2441: const char_type* __lit_zero = __lit + money_base::_S_zero; 2441: const money_base::pattern __p = __lc->_M_neg_format; 2441: for (int __i = 0; __i < 4 && __testvalid; ++__i) 2441: { 2441: const part __which = static_cast(__p.field[__i]); 2441: switch (__which) 2441: { 2441: case money_base::symbol: 2441: 2441: 2441: 2441: 2441: if (__io.flags() & ios_base::showbase || __sign_size > 1 2441: || __i == 0 2441: || (__i == 1 && (__mandatory_sign 2441: || (static_cast(__p.field[0]) 2441: == money_base::sign) 2441: || (static_cast(__p.field[2]) 2441: == money_base::space))) 2441: || (__i == 2 && ((static_cast(__p.field[3]) 2441: == money_base::value) 2441: || (__mandatory_sign 2441: && (static_cast(__p.field[3]) 2441: == money_base::sign))))) 2441: { 2441: const size_type __len = __lc->_M_curr_symbol_size; 2441: size_type __j = 0; 2441: for (; __beg != __end && __j < __len 2441: && *__beg == __lc->_M_curr_symbol[__j]; 2441: ++__beg, (void)++__j); 2441: if (__j != __len 2441: && (__j || __io.flags() & ios_base::showbase)) 2441: __testvalid = false; 2441: } 2441: break; 2441: case money_base::sign: 2441: 2441: if (__lc->_M_positive_sign_size && __beg != __end 2441: && *__beg == __lc->_M_positive_sign[0]) 2441: { 2441: __sign_size = __lc->_M_positive_sign_size; 2441: ++__beg; 2441: } 2441: else if (__lc->_M_negative_sign_size && __beg != __end 2441: && *__beg == __lc->_M_negative_sign[0]) 2441: { 2441: __negative = true; 2441: __sign_size = __lc->_M_negative_sign_size; 2441: ++__beg; 2441: } 2441: else if (__lc->_M_positive_sign_size 2441: && !__lc->_M_negative_sign_size) 2441: 2441: 2441: __negative = true; 2441: else if (__mandatory_sign) 2441: __testvalid = false; 2441: break; 2441: case money_base::value: 2441: 2441: 2441: for (; __beg != __end; ++__beg) 2441: { 2441: const char_type __c = *__beg; 2441: const char_type* __q = __traits_type::find(__lit_zero, 2441: 10, __c); 2441: if (__q != 0) 2441: { 2441: __res += money_base::_S_atoms[__q - __lit]; 2441: ++__n; 2441: } 2441: else if (__c == __lc->_M_decimal_point 2441: && !__testdecfound) 2441: { 2441: if (__lc->_M_frac_digits <= 0) 2441: break; 2441: 2441: __last_pos = __n; 2441: __n = 0; 2441: __testdecfound = true; 2441: } 2441: else if (__lc->_M_use_grouping 2441: && __c == __lc->_M_thousands_sep 2441: && !__testdecfound) 2441: { 2441: if (__n) 2441: { 2441: 2441: __grouping_tmp += static_cast(__n); 2441: __n = 0; 2441: } 2441: else 2441: { 2441: __testvalid = false; 2441: break; 2441: } 2441: } 2441: else 2441: break; 2441: } 2441: if (__res.empty()) 2441: __testvalid = false; 2441: break; 2441: case money_base::space: 2441: 2441: if (__beg != __end && __ctype.is(ctype_base::space, *__beg)) 2441: ++__beg; 2441: else 2441: __testvalid = false; 2441: 2441: case money_base::none: 2441: 2441: if (__i != 3) 2441: for (; __beg != __end 2441: && __ctype.is(ctype_base::space, *__beg); ++__beg); 2441: break; 2441: } 2441: } 2441: 2441: 2441: if (__sign_size > 1 && __testvalid) 2441: { 2441: const char_type* __sign = __negative ? __lc->_M_negative_sign 2441: : __lc->_M_positive_sign; 2441: size_type __i = 1; 2441: for (; __beg != __end && __i < __sign_size 2441: && *__beg == __sign[__i]; ++__beg, (void)++__i); 2441: 2441: if (__i != __sign_size) 2441: __testvalid = false; 2441: } 2441: 2441: if (__testvalid) 2441: { 2441: 2441: if (__res.size() > 1) 2441: { 2441: const size_type __first = __res.find_first_not_of('0'); 2441: const bool __only_zeros = __first == string::npos; 2441: if (__first) 2441: __res.erase(0, __only_zeros ? __res.size() - 1 : __first); 2441: } 2441: 2441: 2441: if (__negative && __res[0] != '0') 2441: __res.insert(__res.begin(), '-'); 2441: 2441: 2441: if (__grouping_tmp.size()) 2441: { 2441: 2441: __grouping_tmp += static_cast(__testdecfound ? __last_pos 2441: : __n); 2441: if (!std::__verify_grouping(__lc->_M_grouping, 2441: __lc->_M_grouping_size, 2441: __grouping_tmp)) 2441: __err |= ios_base::failbit; 2441: } 2441: 2441: 2441: if (__testdecfound && __n != __lc->_M_frac_digits) 2441: __testvalid = false; 2441: } 2441: 2441: 2441: if (!__testvalid) 2441: __err |= ios_base::failbit; 2441: else 2441: __units.swap(__res); 2441: 2441: 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: # 368 "/usr/include/c++/8/bits/locale_facets_nonio.tcc" 3 2441: template 2441: _InIter 2441: money_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io, 2441: ios_base::iostate& __err, long double& __units) const 2441: { 2441: string __str; 2441: __beg = __intl ? _M_extract(__beg, __end, __io, __err, __str) 2441: : _M_extract(__beg, __end, __io, __err, __str); 2441: std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale()); 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: money_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io, 2441: ios_base::iostate& __err, string_type& __digits) const 2441: { 2441: typedef typename string::size_type size_type; 2441: 2441: const locale& __loc = __io._M_getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: string __str; 2441: __beg = __intl ? _M_extract(__beg, __end, __io, __err, __str) 2441: : _M_extract(__beg, __end, __io, __err, __str); 2441: const size_type __len = __str.size(); 2441: if (__len) 2441: { 2441: __digits.resize(__len); 2441: __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]); 2441: } 2441: return __beg; 2441: } 2441: 2441: template 2441: template 2441: _OutIter 2441: money_put<_CharT, _OutIter>:: 2441: _M_insert(iter_type __s, ios_base& __io, char_type __fill, 2441: const string_type& __digits) const 2441: { 2441: typedef typename string_type::size_type size_type; 2441: typedef money_base::part part; 2441: typedef __moneypunct_cache<_CharT, _Intl> __cache_type; 2441: 2441: const locale& __loc = __io._M_getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: __use_cache<__cache_type> __uc; 2441: const __cache_type* __lc = __uc(__loc); 2441: const char_type* __lit = __lc->_M_atoms; 2441: 2441: 2441: 2441: const char_type* __beg = __digits.data(); 2441: 2441: money_base::pattern __p; 2441: const char_type* __sign; 2441: size_type __sign_size; 2441: if (!(*__beg == __lit[money_base::_S_minus])) 2441: { 2441: __p = __lc->_M_pos_format; 2441: __sign = __lc->_M_positive_sign; 2441: __sign_size = __lc->_M_positive_sign_size; 2441: } 2441: else 2441: { 2441: __p = __lc->_M_neg_format; 2441: __sign = __lc->_M_negative_sign; 2441: __sign_size = __lc->_M_negative_sign_size; 2441: if (__digits.size()) 2441: ++__beg; 2441: } 2441: 2441: 2441: size_type __len = __ctype.scan_not(ctype_base::digit, __beg, 2441: __beg + __digits.size()) - __beg; 2441: if (__len) 2441: { 2441: 2441: 2441: 2441: string_type __value; 2441: __value.reserve(2 * __len); 2441: 2441: 2441: 2441: long __paddec = __len - __lc->_M_frac_digits; 2441: if (__paddec > 0) 2441: { 2441: if (__lc->_M_frac_digits < 0) 2441: __paddec = __len; 2441: if (__lc->_M_grouping_size) 2441: { 2441: __value.assign(2 * __paddec, char_type()); 2441: _CharT* __vend = 2441: std::__add_grouping(&__value[0], __lc->_M_thousands_sep, 2441: __lc->_M_grouping, 2441: __lc->_M_grouping_size, 2441: __beg, __beg + __paddec); 2441: __value.erase(__vend - &__value[0]); 2441: } 2441: else 2441: __value.assign(__beg, __paddec); 2441: } 2441: 2441: 2441: if (__lc->_M_frac_digits > 0) 2441: { 2441: __value += __lc->_M_decimal_point; 2441: if (__paddec >= 0) 2441: __value.append(__beg + __paddec, __lc->_M_frac_digits); 2441: else 2441: { 2441: 2441: __value.append(-__paddec, __lit[money_base::_S_zero]); 2441: __value.append(__beg, __len); 2441: } 2441: } 2441: 2441: 2441: const ios_base::fmtflags __f = __io.flags() 2441: & ios_base::adjustfield; 2441: __len = __value.size() + __sign_size; 2441: __len += ((__io.flags() & ios_base::showbase) 2441: ? __lc->_M_curr_symbol_size : 0); 2441: 2441: string_type __res; 2441: __res.reserve(2 * __len); 2441: 2441: const size_type __width = static_cast(__io.width()); 2441: const bool __testipad = (__f == ios_base::internal 2441: && __len < __width); 2441: 2441: for (int __i = 0; __i < 4; ++__i) 2441: { 2441: const part __which = static_cast(__p.field[__i]); 2441: switch (__which) 2441: { 2441: case money_base::symbol: 2441: if (__io.flags() & ios_base::showbase) 2441: __res.append(__lc->_M_curr_symbol, 2441: __lc->_M_curr_symbol_size); 2441: break; 2441: case money_base::sign: 2441: 2441: 2441: 2441: if (__sign_size) 2441: __res += __sign[0]; 2441: break; 2441: case money_base::value: 2441: __res += __value; 2441: break; 2441: case money_base::space: 2441: 2441: 2441: 2441: if (__testipad) 2441: __res.append(__width - __len, __fill); 2441: else 2441: __res += __fill; 2441: break; 2441: case money_base::none: 2441: if (__testipad) 2441: __res.append(__width - __len, __fill); 2441: break; 2441: } 2441: } 2441: 2441: 2441: if (__sign_size > 1) 2441: __res.append(__sign + 1, __sign_size - 1); 2441: 2441: 2441: __len = __res.size(); 2441: if (__width > __len) 2441: { 2441: if (__f == ios_base::left) 2441: 2441: __res.append(__width - __len, __fill); 2441: else 2441: 2441: __res.insert(0, __width - __len, __fill); 2441: __len = __width; 2441: } 2441: 2441: 2441: __s = std::__write(__s, __res.data(), __len); 2441: } 2441: __io.width(0); 2441: return __s; 2441: } 2441: # 574 "/usr/include/c++/8/bits/locale_facets_nonio.tcc" 3 2441: template 2441: _OutIter 2441: money_put<_CharT, _OutIter>:: 2441: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, 2441: long double __units) const 2441: { 2441: const locale __loc = __io.getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: 2441: int __cs_size = 64; 2441: char* __cs = static_cast(__builtin_alloca(__cs_size)); 2441: 2441: 2441: int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 2441: "%.*Lf", 0, __units); 2441: 2441: if (__len >= __cs_size) 2441: { 2441: __cs_size = __len + 1; 2441: __cs = static_cast(__builtin_alloca(__cs_size)); 2441: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 2441: "%.*Lf", 0, __units); 2441: } 2441: # 606 "/usr/include/c++/8/bits/locale_facets_nonio.tcc" 3 2441: string_type __digits(__len, char_type()); 2441: __ctype.widen(__cs, __cs + __len, &__digits[0]); 2441: return __intl ? _M_insert(__s, __io, __fill, __digits) 2441: : _M_insert(__s, __io, __fill, __digits); 2441: } 2441: 2441: template 2441: _OutIter 2441: money_put<_CharT, _OutIter>:: 2441: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, 2441: const string_type& __digits) const 2441: { return __intl ? _M_insert(__s, __io, __fill, __digits) 2441: : _M_insert(__s, __io, __fill, __digits); } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: time_base::dateorder 2441: time_get<_CharT, _InIter>::do_date_order() const 2441: { return time_base::no_order; } 2441: 2441: 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm, 2441: const _CharT* __format) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: const size_t __len = char_traits<_CharT>::length(__format); 2441: 2441: ios_base::iostate __tmperr = ios_base::goodbit; 2441: size_t __i = 0; 2441: for (; __beg != __end && __i < __len && !__tmperr; ++__i) 2441: { 2441: if (__ctype.narrow(__format[__i], 0) == '%') 2441: { 2441: 2441: char __c = __ctype.narrow(__format[++__i], 0); 2441: int __mem = 0; 2441: if (__c == 'E' || __c == 'O') 2441: __c = __ctype.narrow(__format[++__i], 0); 2441: switch (__c) 2441: { 2441: const char* __cs; 2441: _CharT __wcs[10]; 2441: case 'a': 2441: 2441: const char_type* __days1[7]; 2441: __tp._M_days_abbreviated(__days1); 2441: __beg = _M_extract_name(__beg, __end, __mem, __days1, 2441: 7, __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_wday = __mem; 2441: break; 2441: case 'A': 2441: 2441: const char_type* __days2[7]; 2441: __tp._M_days(__days2); 2441: __beg = _M_extract_name(__beg, __end, __mem, __days2, 2441: 7, __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_wday = __mem; 2441: break; 2441: case 'h': 2441: case 'b': 2441: 2441: const char_type* __months1[12]; 2441: __tp._M_months_abbreviated(__months1); 2441: __beg = _M_extract_name(__beg, __end, __mem, 2441: __months1, 12, __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_mon = __mem; 2441: break; 2441: case 'B': 2441: 2441: const char_type* __months2[12]; 2441: __tp._M_months(__months2); 2441: __beg = _M_extract_name(__beg, __end, __mem, 2441: __months2, 12, __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_mon = __mem; 2441: break; 2441: case 'c': 2441: 2441: const char_type* __dt[2]; 2441: __tp._M_date_time_formats(__dt); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, 2441: __tm, __dt[0]); 2441: break; 2441: case 'd': 2441: 2441: __beg = _M_extract_num(__beg, __end, __mem, 1, 31, 2, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_mday = __mem; 2441: break; 2441: case 'e': 2441: 2441: 2441: if (__ctype.is(ctype_base::space, *__beg)) 2441: __beg = _M_extract_num(++__beg, __end, __mem, 1, 9, 2441: 1, __io, __tmperr); 2441: else 2441: __beg = _M_extract_num(__beg, __end, __mem, 10, 31, 2441: 2, __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_mday = __mem; 2441: break; 2441: case 'D': 2441: 2441: __cs = "%m/%d/%y"; 2441: __ctype.widen(__cs, __cs + 9, __wcs); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, 2441: __tm, __wcs); 2441: break; 2441: case 'H': 2441: 2441: __beg = _M_extract_num(__beg, __end, __mem, 0, 23, 2, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_hour = __mem; 2441: break; 2441: case 'I': 2441: 2441: __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_hour = __mem; 2441: break; 2441: case 'm': 2441: 2441: __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_mon = __mem - 1; 2441: break; 2441: case 'M': 2441: 2441: __beg = _M_extract_num(__beg, __end, __mem, 0, 59, 2, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_min = __mem; 2441: break; 2441: case 'n': 2441: if (__ctype.narrow(*__beg, 0) == '\n') 2441: ++__beg; 2441: else 2441: __tmperr |= ios_base::failbit; 2441: break; 2441: case 'R': 2441: 2441: __cs = "%H:%M"; 2441: __ctype.widen(__cs, __cs + 6, __wcs); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, 2441: __tm, __wcs); 2441: break; 2441: case 'S': 2441: 2441: 2441: 2441: __beg = _M_extract_num(__beg, __end, __mem, 0, 60, 2, 2441: 2441: 2441: 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_sec = __mem; 2441: break; 2441: case 't': 2441: if (__ctype.narrow(*__beg, 0) == '\t') 2441: ++__beg; 2441: else 2441: __tmperr |= ios_base::failbit; 2441: break; 2441: case 'T': 2441: 2441: __cs = "%H:%M:%S"; 2441: __ctype.widen(__cs, __cs + 9, __wcs); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, 2441: __tm, __wcs); 2441: break; 2441: case 'x': 2441: 2441: const char_type* __dates[2]; 2441: __tp._M_date_formats(__dates); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, 2441: __tm, __dates[0]); 2441: break; 2441: case 'X': 2441: 2441: const char_type* __times[2]; 2441: __tp._M_time_formats(__times); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, 2441: __tm, __times[0]); 2441: break; 2441: case 'y': 2441: case 'C': 2441: 2441: case 'Y': 2441: 2441: 2441: 2441: 2441: __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_year = __mem < 0 ? __mem + 100 : __mem - 1900; 2441: break; 2441: case 'Z': 2441: 2441: if (__ctype.is(ctype_base::upper, *__beg)) 2441: { 2441: int __tmp; 2441: __beg = _M_extract_name(__beg, __end, __tmp, 2441: __timepunct_cache<_CharT>::_S_timezones, 2441: 14, __io, __tmperr); 2441: 2441: 2441: if (__beg != __end && !__tmperr && __tmp == 0 2441: && (*__beg == __ctype.widen('-') 2441: || *__beg == __ctype.widen('+'))) 2441: { 2441: __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2, 2441: __io, __tmperr); 2441: __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2, 2441: __io, __tmperr); 2441: } 2441: } 2441: else 2441: __tmperr |= ios_base::failbit; 2441: break; 2441: default: 2441: 2441: __tmperr |= ios_base::failbit; 2441: } 2441: } 2441: else 2441: { 2441: 2441: if (__format[__i] == *__beg) 2441: ++__beg; 2441: else 2441: __tmperr |= ios_base::failbit; 2441: } 2441: } 2441: 2441: if (__tmperr || __i != __len) 2441: __err |= ios_base::failbit; 2441: 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: _M_extract_num(iter_type __beg, iter_type __end, int& __member, 2441: int __min, int __max, size_t __len, 2441: ios_base& __io, ios_base::iostate& __err) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: 2441: int __mult = __len == 2 ? 10 : (__len == 4 ? 1000 : 1); 2441: 2441: ++__min; 2441: size_t __i = 0; 2441: int __value = 0; 2441: for (; __beg != __end && __i < __len; ++__beg, (void)++__i) 2441: { 2441: const char __c = __ctype.narrow(*__beg, '*'); 2441: if (__c >= '0' && __c <= '9') 2441: { 2441: __value = __value * 10 + (__c - '0'); 2441: const int __valuec = __value * __mult; 2441: if (__valuec > __max || __valuec + __mult < __min) 2441: break; 2441: __mult /= 10; 2441: } 2441: else 2441: break; 2441: } 2441: if (__i == __len) 2441: __member = __value; 2441: 2441: else if (__len == 4 && __i == 2) 2441: __member = __value - 100; 2441: else 2441: __err |= ios_base::failbit; 2441: 2441: return __beg; 2441: } 2441: 2441: 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: _M_extract_name(iter_type __beg, iter_type __end, int& __member, 2441: const _CharT** __names, size_t __indexlen, 2441: ios_base& __io, ios_base::iostate& __err) const 2441: { 2441: typedef char_traits<_CharT> __traits_type; 2441: const locale& __loc = __io._M_getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: int* __matches = static_cast(__builtin_alloca(sizeof(int) 2441: * __indexlen)); 2441: size_t __nmatches = 0; 2441: size_t __pos = 0; 2441: bool __testvalid = true; 2441: const char_type* __name; 2441: 2441: 2441: 2441: 2441: 2441: if (__beg != __end) 2441: { 2441: const char_type __c = *__beg; 2441: for (size_t __i1 = 0; __i1 < __indexlen; ++__i1) 2441: if (__c == __names[__i1][0] 2441: || __c == __ctype.toupper(__names[__i1][0])) 2441: __matches[__nmatches++] = __i1; 2441: } 2441: 2441: while (__nmatches > 1) 2441: { 2441: 2441: size_t __minlen = __traits_type::length(__names[__matches[0]]); 2441: for (size_t __i2 = 1; __i2 < __nmatches; ++__i2) 2441: __minlen = std::min(__minlen, 2441: __traits_type::length(__names[__matches[__i2]])); 2441: ++__beg; 2441: ++__pos; 2441: if (__pos < __minlen && __beg != __end) 2441: for (size_t __i3 = 0; __i3 < __nmatches;) 2441: { 2441: __name = __names[__matches[__i3]]; 2441: if (!(__name[__pos] == *__beg)) 2441: __matches[__i3] = __matches[--__nmatches]; 2441: else 2441: ++__i3; 2441: } 2441: else 2441: break; 2441: } 2441: 2441: if (__nmatches == 1) 2441: { 2441: 2441: ++__beg; 2441: ++__pos; 2441: __name = __names[__matches[0]]; 2441: const size_t __len = __traits_type::length(__name); 2441: while (__pos < __len && __beg != __end && __name[__pos] == *__beg) 2441: ++__beg, (void)++__pos; 2441: 2441: if (__len == __pos) 2441: __member = __matches[0]; 2441: else 2441: __testvalid = false; 2441: } 2441: else 2441: __testvalid = false; 2441: if (!__testvalid) 2441: __err |= ios_base::failbit; 2441: 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member, 2441: const _CharT** __names, size_t __indexlen, 2441: ios_base& __io, ios_base::iostate& __err) const 2441: { 2441: typedef char_traits<_CharT> __traits_type; 2441: const locale& __loc = __io._M_getloc(); 2441: const ctype<_CharT>& __ctype = use_facet >(__loc); 2441: 2441: int* __matches = static_cast(__builtin_alloca(2 * sizeof(int) 2441: * __indexlen)); 2441: size_t __nmatches = 0; 2441: size_t* __matches_lengths = 0; 2441: size_t __pos = 0; 2441: 2441: if (__beg != __end) 2441: { 2441: const char_type __c = *__beg; 2441: for (size_t __i = 0; __i < 2 * __indexlen; ++__i) 2441: if (__c == __names[__i][0] 2441: || __c == __ctype.toupper(__names[__i][0])) 2441: __matches[__nmatches++] = __i; 2441: } 2441: 2441: if (__nmatches) 2441: { 2441: ++__beg; 2441: ++__pos; 2441: 2441: __matches_lengths 2441: = static_cast(__builtin_alloca(sizeof(size_t) 2441: * __nmatches)); 2441: for (size_t __i = 0; __i < __nmatches; ++__i) 2441: __matches_lengths[__i] 2441: = __traits_type::length(__names[__matches[__i]]); 2441: } 2441: 2441: for (; __beg != __end; ++__beg, (void)++__pos) 2441: { 2441: size_t __nskipped = 0; 2441: const char_type __c = *__beg; 2441: for (size_t __i = 0; __i < __nmatches;) 2441: { 2441: const char_type* __name = __names[__matches[__i]]; 2441: if (__pos >= __matches_lengths[__i]) 2441: ++__nskipped, ++__i; 2441: else if (!(__name[__pos] == __c)) 2441: { 2441: --__nmatches; 2441: __matches[__i] = __matches[__nmatches]; 2441: __matches_lengths[__i] = __matches_lengths[__nmatches]; 2441: } 2441: else 2441: ++__i; 2441: } 2441: if (__nskipped == __nmatches) 2441: break; 2441: } 2441: 2441: if ((__nmatches == 1 && __matches_lengths[0] == __pos) 2441: || (__nmatches == 2 && (__matches_lengths[0] == __pos 2441: || __matches_lengths[1] == __pos))) 2441: __member = (__matches[0] >= __indexlen 2441: ? __matches[0] - __indexlen : __matches[0]); 2441: else 2441: __err |= ios_base::failbit; 2441: 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: do_get_time(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); 2441: const char_type* __times[2]; 2441: __tp._M_time_formats(__times); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __err, 2441: __tm, __times[0]); 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: do_get_date(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); 2441: const char_type* __dates[2]; 2441: __tp._M_date_formats(__dates); 2441: __beg = _M_extract_via_format(__beg, __end, __io, __err, 2441: __tm, __dates[0]); 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); 2441: const char_type* __days[14]; 2441: __tp._M_days_abbreviated(__days); 2441: __tp._M_days(__days + 7); 2441: int __tmpwday; 2441: ios_base::iostate __tmperr = ios_base::goodbit; 2441: 2441: __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_wday = __tmpwday; 2441: else 2441: __err |= ios_base::failbit; 2441: 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: do_get_monthname(iter_type __beg, iter_type __end, 2441: ios_base& __io, ios_base::iostate& __err, tm* __tm) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); 2441: const char_type* __months[24]; 2441: __tp._M_months_abbreviated(__months); 2441: __tp._M_months(__months + 12); 2441: int __tmpmon; 2441: ios_base::iostate __tmperr = ios_base::goodbit; 2441: 2441: __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_mon = __tmpmon; 2441: else 2441: __err |= ios_base::failbit; 2441: 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: template 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: do_get_year(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm) const 2441: { 2441: int __tmpyear; 2441: ios_base::iostate __tmperr = ios_base::goodbit; 2441: 2441: __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 9999, 4, 2441: __io, __tmperr); 2441: if (!__tmperr) 2441: __tm->tm_year = __tmpyear < 0 ? __tmpyear + 100 : __tmpyear - 1900; 2441: else 2441: __err |= ios_base::failbit; 2441: 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: 2441: template 2441: inline 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: get(iter_type __s, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm, const char_type* __fmt, 2441: const char_type* __fmtend) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: ctype<_CharT> const& __ctype = use_facet >(__loc); 2441: __err = ios_base::goodbit; 2441: while (__fmt != __fmtend && 2441: __err == ios_base::goodbit) 2441: { 2441: if (__s == __end) 2441: { 2441: __err = ios_base::eofbit | ios_base::failbit; 2441: break; 2441: } 2441: else if (__ctype.narrow(*__fmt, 0) == '%') 2441: { 2441: char __format; 2441: char __mod = 0; 2441: if (++__fmt == __fmtend) 2441: { 2441: __err = ios_base::failbit; 2441: break; 2441: } 2441: const char __c = __ctype.narrow(*__fmt, 0); 2441: if (__c != 'E' && __c != 'O') 2441: __format = __c; 2441: else if (++__fmt != __fmtend) 2441: { 2441: __mod = __c; 2441: __format = __ctype.narrow(*__fmt, 0); 2441: } 2441: else 2441: { 2441: __err = ios_base::failbit; 2441: break; 2441: } 2441: __s = this->do_get(__s, __end, __io, __err, __tm, __format, 2441: __mod); 2441: ++__fmt; 2441: } 2441: else if (__ctype.is(ctype_base::space, *__fmt)) 2441: { 2441: ++__fmt; 2441: while (__fmt != __fmtend && 2441: __ctype.is(ctype_base::space, *__fmt)) 2441: ++__fmt; 2441: 2441: while (__s != __end && 2441: __ctype.is(ctype_base::space, *__s)) 2441: ++__s; 2441: } 2441: 2441: else if (__ctype.tolower(*__s) == __ctype.tolower(*__fmt) || 2441: __ctype.toupper(*__s) == __ctype.toupper(*__fmt)) 2441: { 2441: ++__s; 2441: ++__fmt; 2441: } 2441: else 2441: { 2441: __err = ios_base::failbit; 2441: break; 2441: } 2441: } 2441: return __s; 2441: } 2441: 2441: template 2441: inline 2441: _InIter 2441: time_get<_CharT, _InIter>:: 2441: do_get(iter_type __beg, iter_type __end, ios_base& __io, 2441: ios_base::iostate& __err, tm* __tm, 2441: char __format, char __mod) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: ctype<_CharT> const& __ctype = use_facet >(__loc); 2441: __err = ios_base::goodbit; 2441: 2441: char_type __fmt[4]; 2441: __fmt[0] = __ctype.widen('%'); 2441: if (!__mod) 2441: { 2441: __fmt[1] = __format; 2441: __fmt[2] = char_type(); 2441: } 2441: else 2441: { 2441: __fmt[1] = __mod; 2441: __fmt[2] = __format; 2441: __fmt[3] = char_type(); 2441: } 2441: 2441: __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __fmt); 2441: if (__beg == __end) 2441: __err |= ios_base::eofbit; 2441: return __beg; 2441: } 2441: 2441: 2441: 2441: template 2441: _OutIter 2441: time_put<_CharT, _OutIter>:: 2441: put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, 2441: const _CharT* __beg, const _CharT* __end) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: ctype<_CharT> const& __ctype = use_facet >(__loc); 2441: for (; __beg != __end; ++__beg) 2441: if (__ctype.narrow(*__beg, 0) != '%') 2441: { 2441: *__s = *__beg; 2441: ++__s; 2441: } 2441: else if (++__beg != __end) 2441: { 2441: char __format; 2441: char __mod = 0; 2441: const char __c = __ctype.narrow(*__beg, 0); 2441: if (__c != 'E' && __c != 'O') 2441: __format = __c; 2441: else if (++__beg != __end) 2441: { 2441: __mod = __c; 2441: __format = __ctype.narrow(*__beg, 0); 2441: } 2441: else 2441: break; 2441: __s = this->do_put(__s, __io, __fill, __tm, __format, __mod); 2441: } 2441: else 2441: break; 2441: return __s; 2441: } 2441: 2441: template 2441: _OutIter 2441: time_put<_CharT, _OutIter>:: 2441: do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm, 2441: char __format, char __mod) const 2441: { 2441: const locale& __loc = __io._M_getloc(); 2441: ctype<_CharT> const& __ctype = use_facet >(__loc); 2441: __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc); 2441: 2441: 2441: 2441: const size_t __maxlen = 128; 2441: char_type __res[__maxlen]; 2441: 2441: 2441: 2441: 2441: 2441: 2441: char_type __fmt[4]; 2441: __fmt[0] = __ctype.widen('%'); 2441: if (!__mod) 2441: { 2441: __fmt[1] = __format; 2441: __fmt[2] = char_type(); 2441: } 2441: else 2441: { 2441: __fmt[1] = __mod; 2441: __fmt[2] = __format; 2441: __fmt[3] = char_type(); 2441: } 2441: 2441: __tp._M_put(__res, __maxlen, __fmt, __tm); 2441: 2441: 2441: return std::__write(__s, __res, char_traits::length(__res)); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: extern template class moneypunct; 2441: extern template class moneypunct; 2441: extern template class moneypunct_byname; 2441: extern template class moneypunct_byname; 2441: extern template class __cxx11:: money_get; 2441: extern template class __cxx11:: money_put; 2441: extern template class __timepunct; 2441: extern template class time_put; 2441: extern template class time_put_byname; 2441: extern template class time_get; 2441: extern template class time_get_byname; 2441: extern template class messages; 2441: extern template class messages_byname; 2441: 2441: extern template 2441: const moneypunct& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const moneypunct& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const money_put& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const money_get& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const __timepunct& 2441: use_facet<__timepunct >(const locale&); 2441: 2441: extern template 2441: const time_put& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const time_get& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const messages& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet<__timepunct >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: extern template class moneypunct; 2441: extern template class moneypunct; 2441: extern template class moneypunct_byname; 2441: extern template class moneypunct_byname; 2441: extern template class __cxx11:: money_get; 2441: extern template class __cxx11:: money_put; 2441: extern template class __timepunct; 2441: extern template class time_put; 2441: extern template class time_put_byname; 2441: extern template class time_get; 2441: extern template class time_get_byname; 2441: extern template class messages; 2441: extern template class messages_byname; 2441: 2441: extern template 2441: const moneypunct& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const moneypunct& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const money_put& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const money_get& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const __timepunct& 2441: use_facet<__timepunct >(const locale&); 2441: 2441: extern template 2441: const time_put& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const time_get& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: const messages& 2441: use_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet<__timepunct >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: extern template 2441: bool 2441: has_facet >(const locale&); 2441: 2441: 2441: 2441: 2441: } 2441: # 2016 "/usr/include/c++/8/bits/locale_facets_nonio.h" 2 3 2441: # 42 "/usr/include/c++/8/locale" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/locale_conv.h" 1 3 2441: # 41 "/usr/include/c++/8/bits/locale_conv.h" 3 2441: # 1 "/usr/include/c++/8/bits/unique_ptr.h" 1 3 2441: # 41 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: template class auto_ptr; 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: 2441: template 2441: struct default_delete 2441: { 2441: 2441: constexpr default_delete() noexcept = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template::value>::type> 2441: default_delete(const default_delete<_Up>&) noexcept { } 2441: 2441: 2441: void 2441: operator()(_Tp* __ptr) const 2441: { 2441: static_assert(!is_void<_Tp>::value, 2441: "can't delete pointer to incomplete type"); 2441: static_assert(sizeof(_Tp)>0, 2441: "can't delete pointer to incomplete type"); 2441: delete __ptr; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: struct default_delete<_Tp[]> 2441: { 2441: public: 2441: 2441: constexpr default_delete() noexcept = default; 2441: # 104 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: template::value>::type> 2441: default_delete(const default_delete<_Up[]>&) noexcept { } 2441: 2441: 2441: template 2441: typename enable_if::value>::type 2441: operator()(_Up* __ptr) const 2441: { 2441: static_assert(sizeof(_Tp)>0, 2441: "can't delete pointer to incomplete type"); 2441: delete [] __ptr; 2441: } 2441: }; 2441: 2441: template 2441: class __uniq_ptr_impl 2441: { 2441: template 2441: struct _Ptr 2441: { 2441: using type = _Up*; 2441: }; 2441: 2441: template 2441: struct 2441: _Ptr<_Up, _Ep, __void_t::type::pointer>> 2441: { 2441: using type = typename remove_reference<_Ep>::type::pointer; 2441: }; 2441: 2441: public: 2441: using _DeleterConstraint = enable_if< 2441: __and_<__not_>, 2441: is_default_constructible<_Dp>>::value>; 2441: 2441: using pointer = typename _Ptr<_Tp, _Dp>::type; 2441: 2441: __uniq_ptr_impl() = default; 2441: __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; } 2441: 2441: template 2441: __uniq_ptr_impl(pointer __p, _Del&& __d) 2441: : _M_t(__p, std::forward<_Del>(__d)) { } 2441: 2441: pointer& _M_ptr() { return std::get<0>(_M_t); } 2441: pointer _M_ptr() const { return std::get<0>(_M_t); } 2441: _Dp& _M_deleter() { return std::get<1>(_M_t); } 2441: const _Dp& _M_deleter() const { return std::get<1>(_M_t); } 2441: 2441: private: 2441: tuple _M_t; 2441: }; 2441: 2441: 2441: template > 2441: class unique_ptr 2441: { 2441: template 2441: using _DeleterConstraint = 2441: typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type; 2441: 2441: __uniq_ptr_impl<_Tp, _Dp> _M_t; 2441: 2441: public: 2441: using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer; 2441: using element_type = _Tp; 2441: using deleter_type = _Dp; 2441: 2441: 2441: 2441: template 2441: using __safe_conversion_up = __and_< 2441: is_convertible::pointer, pointer>, 2441: __not_>, 2441: __or_<__and_, 2441: is_same>, 2441: __and_<__not_>, 2441: is_convertible<_Ep, deleter_type>> 2441: > 2441: >; 2441: 2441: 2441: 2441: 2441: template > 2441: constexpr unique_ptr() noexcept 2441: : _M_t() 2441: { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template > 2441: explicit 2441: unique_ptr(pointer __p) noexcept 2441: : _M_t(__p) 2441: { } 2441: # 215 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: unique_ptr(pointer __p, 2441: typename conditional::value, 2441: deleter_type, const deleter_type&>::type __d) noexcept 2441: : _M_t(__p, __d) { } 2441: # 227 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: unique_ptr(pointer __p, 2441: typename remove_reference::type&& __d) noexcept 2441: : _M_t(std::move(__p), std::move(__d)) 2441: { static_assert(!std::is_reference::value, 2441: "rvalue deleter bound to reference"); } 2441: 2441: 2441: template > 2441: constexpr unique_ptr(nullptr_t) noexcept : _M_t() { } 2441: 2441: 2441: 2441: 2441: unique_ptr(unique_ptr&& __u) noexcept 2441: : _M_t(__u.release(), std::forward(__u.get_deleter())) { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template, 2441: typename conditional::value, 2441: is_same<_Ep, _Dp>, 2441: is_convertible<_Ep, _Dp>>::type>> 2441: unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept 2441: : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) 2441: { } 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: 2441: template, is_same<_Dp, default_delete<_Tp>>>> 2441: unique_ptr(auto_ptr<_Up>&& __u) noexcept; 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: 2441: ~unique_ptr() noexcept 2441: { 2441: auto& __ptr = _M_t._M_ptr(); 2441: if (__ptr != nullptr) 2441: get_deleter()(__ptr); 2441: __ptr = pointer(); 2441: } 2441: # 286 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: unique_ptr& 2441: operator=(unique_ptr&& __u) noexcept 2441: { 2441: reset(__u.release()); 2441: get_deleter() = std::forward(__u.get_deleter()); 2441: return *this; 2441: } 2441: # 301 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: template 2441: typename enable_if< __and_< 2441: __safe_conversion_up<_Up, _Ep>, 2441: is_assignable 2441: >::value, 2441: unique_ptr&>::type 2441: operator=(unique_ptr<_Up, _Ep>&& __u) noexcept 2441: { 2441: reset(__u.release()); 2441: get_deleter() = std::forward<_Ep>(__u.get_deleter()); 2441: return *this; 2441: } 2441: 2441: 2441: unique_ptr& 2441: operator=(nullptr_t) noexcept 2441: { 2441: reset(); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: typename add_lvalue_reference::type 2441: operator*() const 2441: { 2441: ; 2441: return *get(); 2441: } 2441: 2441: 2441: pointer 2441: operator->() const noexcept 2441: { 2441: ; 2441: return get(); 2441: } 2441: 2441: 2441: pointer 2441: get() const noexcept 2441: { return _M_t._M_ptr(); } 2441: 2441: 2441: deleter_type& 2441: get_deleter() noexcept 2441: { return _M_t._M_deleter(); } 2441: 2441: 2441: const deleter_type& 2441: get_deleter() const noexcept 2441: { return _M_t._M_deleter(); } 2441: 2441: 2441: explicit operator bool() const noexcept 2441: { return get() == pointer() ? false : true; } 2441: 2441: 2441: 2441: 2441: pointer 2441: release() noexcept 2441: { 2441: pointer __p = get(); 2441: _M_t._M_ptr() = pointer(); 2441: return __p; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: reset(pointer __p = pointer()) noexcept 2441: { 2441: using std::swap; 2441: swap(_M_t._M_ptr(), __p); 2441: if (__p != pointer()) 2441: get_deleter()(__p); 2441: } 2441: 2441: 2441: void 2441: swap(unique_ptr& __u) noexcept 2441: { 2441: using std::swap; 2441: swap(_M_t, __u._M_t); 2441: } 2441: 2441: 2441: unique_ptr(const unique_ptr&) = delete; 2441: unique_ptr& operator=(const unique_ptr&) = delete; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class unique_ptr<_Tp[], _Dp> 2441: { 2441: template 2441: using _DeleterConstraint = 2441: typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type; 2441: 2441: __uniq_ptr_impl<_Tp, _Dp> _M_t; 2441: 2441: template 2441: using __remove_cv = typename remove_cv<_Up>::type; 2441: 2441: 2441: template 2441: using __is_derived_Tp 2441: = __and_< is_base_of<_Tp, _Up>, 2441: __not_, __remove_cv<_Up>>> >; 2441: 2441: public: 2441: using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer; 2441: using element_type = _Tp; 2441: using deleter_type = _Dp; 2441: 2441: 2441: 2441: template, 2441: typename _Up_element_type = typename _Up_up::element_type> 2441: using __safe_conversion_up = __and_< 2441: is_array<_Up>, 2441: is_same, 2441: is_same, 2441: is_convertible<_Up_element_type(*)[], element_type(*)[]>, 2441: __or_<__and_, is_same>, 2441: __and_<__not_>, 2441: is_convertible<_Ep, deleter_type>>> 2441: >; 2441: 2441: 2441: template 2441: using __safe_conversion_raw = __and_< 2441: __or_<__or_, 2441: is_same<_Up, nullptr_t>>, 2441: __and_, 2441: is_same, 2441: is_convertible< 2441: typename remove_pointer<_Up>::type(*)[], 2441: element_type(*)[]> 2441: > 2441: > 2441: >; 2441: 2441: 2441: 2441: 2441: template > 2441: constexpr unique_ptr() noexcept 2441: : _M_t() 2441: { } 2441: # 470 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: template, 2441: typename = typename enable_if< 2441: __safe_conversion_raw<_Up>::value, bool>::type> 2441: explicit 2441: unique_ptr(_Up __p) noexcept 2441: : _M_t(__p) 2441: { } 2441: # 488 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: template::value, bool>::type> 2441: unique_ptr(_Up __p, 2441: typename conditional::value, 2441: deleter_type, const deleter_type&>::type __d) noexcept 2441: : _M_t(__p, __d) { } 2441: # 504 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: template::value, bool>::type> 2441: unique_ptr(_Up __p, typename 2441: remove_reference::type&& __d) noexcept 2441: : _M_t(std::move(__p), std::move(__d)) 2441: { static_assert(!is_reference::value, 2441: "rvalue deleter bound to reference"); } 2441: 2441: 2441: unique_ptr(unique_ptr&& __u) noexcept 2441: : _M_t(__u.release(), std::forward(__u.get_deleter())) { } 2441: 2441: 2441: template > 2441: constexpr unique_ptr(nullptr_t) noexcept : _M_t() { } 2441: 2441: template>> 2441: unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept 2441: : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) 2441: { } 2441: 2441: 2441: ~unique_ptr() 2441: { 2441: auto& __ptr = _M_t._M_ptr(); 2441: if (__ptr != nullptr) 2441: get_deleter()(__ptr); 2441: __ptr = pointer(); 2441: } 2441: # 545 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: unique_ptr& 2441: operator=(unique_ptr&& __u) noexcept 2441: { 2441: reset(__u.release()); 2441: get_deleter() = std::forward(__u.get_deleter()); 2441: return *this; 2441: } 2441: # 560 "/usr/include/c++/8/bits/unique_ptr.h" 3 2441: template 2441: typename 2441: enable_if<__and_<__safe_conversion_up<_Up, _Ep>, 2441: is_assignable 2441: >::value, 2441: unique_ptr&>::type 2441: operator=(unique_ptr<_Up, _Ep>&& __u) noexcept 2441: { 2441: reset(__u.release()); 2441: get_deleter() = std::forward<_Ep>(__u.get_deleter()); 2441: return *this; 2441: } 2441: 2441: 2441: unique_ptr& 2441: operator=(nullptr_t) noexcept 2441: { 2441: reset(); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: typename std::add_lvalue_reference::type 2441: operator[](size_t __i) const 2441: { 2441: ; 2441: return get()[__i]; 2441: } 2441: 2441: 2441: pointer 2441: get() const noexcept 2441: { return _M_t._M_ptr(); } 2441: 2441: 2441: deleter_type& 2441: get_deleter() noexcept 2441: { return _M_t._M_deleter(); } 2441: 2441: 2441: const deleter_type& 2441: get_deleter() const noexcept 2441: { return _M_t._M_deleter(); } 2441: 2441: 2441: explicit operator bool() const noexcept 2441: { return get() == pointer() ? false : true; } 2441: 2441: 2441: 2441: 2441: pointer 2441: release() noexcept 2441: { 2441: pointer __p = get(); 2441: _M_t._M_ptr() = pointer(); 2441: return __p; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template , 2441: __and_, 2441: is_pointer<_Up>, 2441: is_convertible< 2441: typename remove_pointer<_Up>::type(*)[], 2441: element_type(*)[] 2441: > 2441: > 2441: > 2441: >> 2441: void 2441: reset(_Up __p) noexcept 2441: { 2441: pointer __ptr = __p; 2441: using std::swap; 2441: swap(_M_t._M_ptr(), __ptr); 2441: if (__ptr != nullptr) 2441: get_deleter()(__ptr); 2441: } 2441: 2441: void reset(nullptr_t = nullptr) noexcept 2441: { 2441: reset(pointer()); 2441: } 2441: 2441: 2441: void 2441: swap(unique_ptr& __u) noexcept 2441: { 2441: using std::swap; 2441: swap(_M_t, __u._M_t); 2441: } 2441: 2441: 2441: unique_ptr(const unique_ptr&) = delete; 2441: unique_ptr& operator=(const unique_ptr&) = delete; 2441: }; 2441: 2441: template 2441: inline 2441: 2441: 2441: typename enable_if<__is_swappable<_Dp>::value>::type 2441: 2441: 2441: 2441: swap(unique_ptr<_Tp, _Dp>& __x, 2441: unique_ptr<_Tp, _Dp>& __y) noexcept 2441: { __x.swap(__y); } 2441: 2441: 2441: template 2441: typename enable_if::value>::type 2441: swap(unique_ptr<_Tp, _Dp>&, 2441: unique_ptr<_Tp, _Dp>&) = delete; 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const unique_ptr<_Tp, _Dp>& __x, 2441: const unique_ptr<_Up, _Ep>& __y) 2441: { return __x.get() == __y.get(); } 2441: 2441: template 2441: inline bool 2441: operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept 2441: { return !__x; } 2441: 2441: template 2441: inline bool 2441: operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept 2441: { return !__x; } 2441: 2441: template 2441: inline bool 2441: operator!=(const unique_ptr<_Tp, _Dp>& __x, 2441: const unique_ptr<_Up, _Ep>& __y) 2441: { return __x.get() != __y.get(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept 2441: { return (bool)__x; } 2441: 2441: template 2441: inline bool 2441: operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept 2441: { return (bool)__x; } 2441: 2441: template 2441: inline bool 2441: operator<(const unique_ptr<_Tp, _Dp>& __x, 2441: const unique_ptr<_Up, _Ep>& __y) 2441: { 2441: typedef typename 2441: std::common_type::pointer, 2441: typename unique_ptr<_Up, _Ep>::pointer>::type _CT; 2441: return std::less<_CT>()(__x.get(), __y.get()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 2441: { return std::less::pointer>()(__x.get(), 2441: nullptr); } 2441: 2441: template 2441: inline bool 2441: operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 2441: { return std::less::pointer>()(nullptr, 2441: __x.get()); } 2441: 2441: template 2441: inline bool 2441: operator<=(const unique_ptr<_Tp, _Dp>& __x, 2441: const unique_ptr<_Up, _Ep>& __y) 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 2441: { return !(nullptr < __x); } 2441: 2441: template 2441: inline bool 2441: operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 2441: { return !(__x < nullptr); } 2441: 2441: template 2441: inline bool 2441: operator>(const unique_ptr<_Tp, _Dp>& __x, 2441: const unique_ptr<_Up, _Ep>& __y) 2441: { return (__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 2441: { return std::less::pointer>()(nullptr, 2441: __x.get()); } 2441: 2441: template 2441: inline bool 2441: operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 2441: { return std::less::pointer>()(__x.get(), 2441: nullptr); } 2441: 2441: template 2441: inline bool 2441: operator>=(const unique_ptr<_Tp, _Dp>& __x, 2441: const unique_ptr<_Up, _Ep>& __y) 2441: { return !(__x < __y); } 2441: 2441: template 2441: inline bool 2441: operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) 2441: { return !(__x < nullptr); } 2441: 2441: template 2441: inline bool 2441: operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) 2441: { return !(nullptr < __x); } 2441: 2441: 2441: template 2441: struct hash> 2441: : public __hash_base>, 2441: private __poison_hash::pointer> 2441: { 2441: size_t 2441: operator()(const unique_ptr<_Tp, _Dp>& __u) const noexcept 2441: { 2441: typedef unique_ptr<_Tp, _Dp> _UP; 2441: return std::hash()(__u.get()); 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct _MakeUniq 2441: { typedef unique_ptr<_Tp> __single_object; }; 2441: 2441: template 2441: struct _MakeUniq<_Tp[]> 2441: { typedef unique_ptr<_Tp[]> __array; }; 2441: 2441: template 2441: struct _MakeUniq<_Tp[_Bound]> 2441: { struct __invalid_type { }; }; 2441: 2441: 2441: template 2441: inline typename _MakeUniq<_Tp>::__single_object 2441: make_unique(_Args&&... __args) 2441: { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } 2441: 2441: 2441: template 2441: inline typename _MakeUniq<_Tp>::__array 2441: make_unique(size_t __num) 2441: { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); } 2441: 2441: 2441: template 2441: inline typename _MakeUniq<_Tp>::__invalid_type 2441: make_unique(_Args&&...) = delete; 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 42 "/usr/include/c++/8/bits/locale_conv.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool 2441: __do_str_codecvt(const _InChar* __first, const _InChar* __last, 2441: _OutStr& __outstr, const _Codecvt& __cvt, _State& __state, 2441: size_t& __count, _Fn __fn) 2441: { 2441: if (__first == __last) 2441: { 2441: __outstr.clear(); 2441: __count = 0; 2441: return true; 2441: } 2441: 2441: size_t __outchars = 0; 2441: auto __next = __first; 2441: const auto __maxlen = __cvt.max_length() + 1; 2441: 2441: codecvt_base::result __result; 2441: do 2441: { 2441: __outstr.resize(__outstr.size() + (__last - __next) * __maxlen); 2441: auto __outnext = &__outstr.front() + __outchars; 2441: auto const __outlast = &__outstr.back() + 1; 2441: __result = (__cvt.*__fn)(__state, __next, __last, __next, 2441: __outnext, __outlast, __outnext); 2441: __outchars = __outnext - &__outstr.front(); 2441: } 2441: while (__result == codecvt_base::partial && __next != __last 2441: && (__outstr.size() - __outchars) < __maxlen); 2441: 2441: if (__result == codecvt_base::error) 2441: { 2441: __count = __next - __first; 2441: return false; 2441: } 2441: 2441: if (__result == codecvt_base::noconv) 2441: { 2441: __outstr.assign(__first, __last); 2441: __count = __last - __first; 2441: } 2441: else 2441: { 2441: __outstr.resize(__outchars); 2441: __count = __next - __first; 2441: } 2441: 2441: return true; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: __str_codecvt_in(const char* __first, const char* __last, 2441: basic_string<_CharT, _Traits, _Alloc>& __outstr, 2441: const codecvt<_CharT, char, _State>& __cvt, 2441: _State& __state, size_t& __count) 2441: { 2441: using _Codecvt = codecvt<_CharT, char, _State>; 2441: using _ConvFn 2441: = codecvt_base::result 2441: (_Codecvt::*)(_State&, const char*, const char*, const char*&, 2441: _CharT*, _CharT*, _CharT*&) const; 2441: _ConvFn __fn = &codecvt<_CharT, char, _State>::in; 2441: return __do_str_codecvt(__first, __last, __outstr, __cvt, __state, 2441: __count, __fn); 2441: } 2441: 2441: template 2441: inline bool 2441: __str_codecvt_in(const char* __first, const char* __last, 2441: basic_string<_CharT, _Traits, _Alloc>& __outstr, 2441: const codecvt<_CharT, char, _State>& __cvt) 2441: { 2441: _State __state = {}; 2441: size_t __n; 2441: return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: __str_codecvt_out(const _CharT* __first, const _CharT* __last, 2441: basic_string& __outstr, 2441: const codecvt<_CharT, char, _State>& __cvt, 2441: _State& __state, size_t& __count) 2441: { 2441: using _Codecvt = codecvt<_CharT, char, _State>; 2441: using _ConvFn 2441: = codecvt_base::result 2441: (_Codecvt::*)(_State&, const _CharT*, const _CharT*, const _CharT*&, 2441: char*, char*, char*&) const; 2441: _ConvFn __fn = &codecvt<_CharT, char, _State>::out; 2441: return __do_str_codecvt(__first, __last, __outstr, __cvt, __state, 2441: __count, __fn); 2441: } 2441: 2441: template 2441: inline bool 2441: __str_codecvt_out(const _CharT* __first, const _CharT* __last, 2441: basic_string& __outstr, 2441: const codecvt<_CharT, char, _State>& __cvt) 2441: { 2441: _State __state = {}; 2441: size_t __n; 2441: return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n); 2441: } 2441: 2441: 2441: 2441: namespace __cxx11 { 2441: 2441: 2441: template, 2441: typename _Byte_alloc = allocator> 2441: class wstring_convert 2441: { 2441: public: 2441: typedef basic_string, _Byte_alloc> byte_string; 2441: typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string; 2441: typedef typename _Codecvt::state_type state_type; 2441: typedef typename wide_string::traits_type::int_type int_type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: wstring_convert(_Codecvt* __pcvt = new _Codecvt()) : _M_cvt(__pcvt) 2441: { 2441: if (!_M_cvt) 2441: __throw_logic_error("wstring_convert"); 2441: } 2441: # 198 "/usr/include/c++/8/bits/locale_conv.h" 3 2441: wstring_convert(_Codecvt* __pcvt, state_type __state) 2441: : _M_cvt(__pcvt), _M_state(__state), _M_with_cvtstate(true) 2441: { 2441: if (!_M_cvt) 2441: __throw_logic_error("wstring_convert"); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: wstring_convert(const byte_string& __byte_err, 2441: const wide_string& __wide_err = wide_string()) 2441: : _M_cvt(new _Codecvt), 2441: _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err), 2441: _M_with_strings(true) 2441: { 2441: if (!_M_cvt) 2441: __throw_logic_error("wstring_convert"); 2441: } 2441: 2441: ~wstring_convert() = default; 2441: 2441: 2441: 2441: wstring_convert(const wstring_convert&) = delete; 2441: wstring_convert& operator=(const wstring_convert&) = delete; 2441: 2441: 2441: wide_string 2441: from_bytes(char __byte) 2441: { 2441: char __bytes[2] = { __byte }; 2441: return from_bytes(__bytes, __bytes+1); 2441: } 2441: 2441: wide_string 2441: from_bytes(const char* __ptr) 2441: { return from_bytes(__ptr, __ptr+char_traits::length(__ptr)); } 2441: 2441: wide_string 2441: from_bytes(const byte_string& __str) 2441: { 2441: auto __ptr = __str.data(); 2441: return from_bytes(__ptr, __ptr + __str.size()); 2441: } 2441: 2441: wide_string 2441: from_bytes(const char* __first, const char* __last) 2441: { 2441: if (!_M_with_cvtstate) 2441: _M_state = state_type(); 2441: wide_string __out{ _M_wide_err_string.get_allocator() }; 2441: if (__str_codecvt_in(__first, __last, __out, *_M_cvt, _M_state, 2441: _M_count)) 2441: return __out; 2441: if (_M_with_strings) 2441: return _M_wide_err_string; 2441: __throw_range_error("wstring_convert::from_bytes"); 2441: } 2441: 2441: 2441: 2441: byte_string 2441: to_bytes(_Elem __wchar) 2441: { 2441: _Elem __wchars[2] = { __wchar }; 2441: return to_bytes(__wchars, __wchars+1); 2441: } 2441: 2441: byte_string 2441: to_bytes(const _Elem* __ptr) 2441: { 2441: return to_bytes(__ptr, __ptr+wide_string::traits_type::length(__ptr)); 2441: } 2441: 2441: byte_string 2441: to_bytes(const wide_string& __wstr) 2441: { 2441: auto __ptr = __wstr.data(); 2441: return to_bytes(__ptr, __ptr + __wstr.size()); 2441: } 2441: 2441: byte_string 2441: to_bytes(const _Elem* __first, const _Elem* __last) 2441: { 2441: if (!_M_with_cvtstate) 2441: _M_state = state_type(); 2441: byte_string __out{ _M_byte_err_string.get_allocator() }; 2441: if (__str_codecvt_out(__first, __last, __out, *_M_cvt, _M_state, 2441: _M_count)) 2441: return __out; 2441: if (_M_with_strings) 2441: return _M_byte_err_string; 2441: __throw_range_error("wstring_convert::to_bytes"); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: size_t converted() const noexcept { return _M_count; } 2441: 2441: 2441: state_type state() const { return _M_state; } 2441: 2441: private: 2441: unique_ptr<_Codecvt> _M_cvt; 2441: byte_string _M_byte_err_string; 2441: wide_string _M_wide_err_string; 2441: state_type _M_state = state_type(); 2441: size_t _M_count = 0; 2441: bool _M_with_cvtstate = false; 2441: bool _M_with_strings = false; 2441: }; 2441: 2441: } 2441: 2441: 2441: template> 2441: class wbuffer_convert : public basic_streambuf<_Elem, _Tr> 2441: { 2441: typedef basic_streambuf<_Elem, _Tr> _Wide_streambuf; 2441: 2441: public: 2441: typedef typename _Codecvt::state_type state_type; 2441: # 336 "/usr/include/c++/8/bits/locale_conv.h" 3 2441: explicit 2441: wbuffer_convert(streambuf* __bytebuf = 0, _Codecvt* __pcvt = new _Codecvt, 2441: state_type __state = state_type()) 2441: : _M_buf(__bytebuf), _M_cvt(__pcvt), _M_state(__state) 2441: { 2441: if (!_M_cvt) 2441: __throw_logic_error("wbuffer_convert"); 2441: 2441: _M_always_noconv = _M_cvt->always_noconv(); 2441: 2441: if (_M_buf) 2441: { 2441: this->setp(_M_put_area, _M_put_area + _S_buffer_length); 2441: this->setg(_M_get_area + _S_putback_length, 2441: _M_get_area + _S_putback_length, 2441: _M_get_area + _S_putback_length); 2441: } 2441: } 2441: 2441: ~wbuffer_convert() = default; 2441: 2441: 2441: 2441: wbuffer_convert(const wbuffer_convert&) = delete; 2441: wbuffer_convert& operator=(const wbuffer_convert&) = delete; 2441: 2441: streambuf* rdbuf() const noexcept { return _M_buf; } 2441: 2441: streambuf* 2441: rdbuf(streambuf *__bytebuf) noexcept 2441: { 2441: auto __prev = _M_buf; 2441: _M_buf = __bytebuf; 2441: return __prev; 2441: } 2441: 2441: 2441: state_type state() const noexcept { return _M_state; } 2441: 2441: protected: 2441: int 2441: sync() 2441: { return _M_buf && _M_conv_put() && !_M_buf->pubsync() ? 0 : -1; } 2441: 2441: typename _Wide_streambuf::int_type 2441: overflow(typename _Wide_streambuf::int_type __out) 2441: { 2441: if (!_M_buf || !_M_conv_put()) 2441: return _Tr::eof(); 2441: else if (!_Tr::eq_int_type(__out, _Tr::eof())) 2441: return this->sputc(__out); 2441: return _Tr::not_eof(__out); 2441: } 2441: 2441: typename _Wide_streambuf::int_type 2441: underflow() 2441: { 2441: if (!_M_buf) 2441: return _Tr::eof(); 2441: 2441: if (this->gptr() < this->egptr() || (_M_buf && _M_conv_get())) 2441: return _Tr::to_int_type(*this->gptr()); 2441: else 2441: return _Tr::eof(); 2441: } 2441: 2441: streamsize 2441: xsputn(const typename _Wide_streambuf::char_type* __s, streamsize __n) 2441: { 2441: if (!_M_buf || __n == 0) 2441: return 0; 2441: streamsize __done = 0; 2441: do 2441: { 2441: auto __nn = std::min(this->epptr() - this->pptr(), 2441: __n - __done); 2441: _Tr::copy(this->pptr(), __s + __done, __nn); 2441: this->pbump(__nn); 2441: __done += __nn; 2441: } while (__done < __n && _M_conv_put()); 2441: return __done; 2441: } 2441: 2441: private: 2441: 2441: bool 2441: _M_conv_get() 2441: { 2441: const streamsize __pb1 = this->gptr() - this->eback(); 2441: const streamsize __pb2 = _S_putback_length; 2441: const streamsize __npb = std::min(__pb1, __pb2); 2441: 2441: _Tr::move(_M_get_area + _S_putback_length - __npb, 2441: this->gptr() - __npb, __npb); 2441: 2441: streamsize __nbytes = sizeof(_M_get_buf) - _M_unconv; 2441: __nbytes = std::min(__nbytes, _M_buf->in_avail()); 2441: if (__nbytes < 1) 2441: __nbytes = 1; 2441: __nbytes = _M_buf->sgetn(_M_get_buf + _M_unconv, __nbytes); 2441: if (__nbytes < 1) 2441: return false; 2441: __nbytes += _M_unconv; 2441: 2441: 2441: 2441: _Elem* __outbuf = _M_get_area + _S_putback_length; 2441: _Elem* __outnext = __outbuf; 2441: const char* __bnext = _M_get_buf; 2441: 2441: codecvt_base::result __result; 2441: if (_M_always_noconv) 2441: __result = codecvt_base::noconv; 2441: else 2441: { 2441: _Elem* __outend = _M_get_area + _S_buffer_length; 2441: 2441: __result = _M_cvt->in(_M_state, 2441: __bnext, __bnext + __nbytes, __bnext, 2441: __outbuf, __outend, __outnext); 2441: } 2441: 2441: if (__result == codecvt_base::noconv) 2441: { 2441: 2441: auto __get_buf = reinterpret_cast(_M_get_buf); 2441: _Tr::copy(__outbuf, __get_buf, __nbytes); 2441: _M_unconv = 0; 2441: return true; 2441: } 2441: 2441: if ((_M_unconv = _M_get_buf + __nbytes - __bnext)) 2441: char_traits::move(_M_get_buf, __bnext, _M_unconv); 2441: 2441: this->setg(__outbuf, __outbuf, __outnext); 2441: 2441: return __result != codecvt_base::error; 2441: } 2441: 2441: 2441: bool 2441: _M_put(...) 2441: { return false; } 2441: 2441: bool 2441: _M_put(const char* __p, streamsize __n) 2441: { 2441: if (_M_buf->sputn(__p, __n) < __n) 2441: return false; 2441: return true; 2441: } 2441: 2441: 2441: bool 2441: _M_conv_put() 2441: { 2441: _Elem* const __first = this->pbase(); 2441: const _Elem* const __last = this->pptr(); 2441: const streamsize __pending = __last - __first; 2441: 2441: if (_M_always_noconv) 2441: return _M_put(__first, __pending); 2441: 2441: char __outbuf[2 * _S_buffer_length]; 2441: 2441: const _Elem* __next = __first; 2441: const _Elem* __start; 2441: do 2441: { 2441: __start = __next; 2441: char* __outnext = __outbuf; 2441: char* const __outlast = __outbuf + sizeof(__outbuf); 2441: auto __result = _M_cvt->out(_M_state, __next, __last, __next, 2441: __outnext, __outlast, __outnext); 2441: if (__result == codecvt_base::error) 2441: return false; 2441: else if (__result == codecvt_base::noconv) 2441: return _M_put(__next, __pending); 2441: 2441: if (!_M_put(__outbuf, __outnext - __outbuf)) 2441: return false; 2441: } 2441: while (__next != __last && __next != __start); 2441: 2441: if (__next != __last) 2441: _Tr::move(__first, __next, __last - __next); 2441: 2441: this->pbump(__first - __next); 2441: return __next != __first; 2441: } 2441: 2441: streambuf* _M_buf; 2441: unique_ptr<_Codecvt> _M_cvt; 2441: state_type _M_state; 2441: 2441: static const streamsize _S_buffer_length = 32; 2441: static const streamsize _S_putback_length = 3; 2441: _Elem _M_put_area[_S_buffer_length]; 2441: _Elem _M_get_area[_S_buffer_length]; 2441: streamsize _M_unconv = 0; 2441: char _M_get_buf[_S_buffer_length-_S_putback_length]; 2441: bool _M_always_noconv; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 44 "/usr/include/c++/8/locale" 2 3 2441: # 44 "/usr/include/c++/8/iomanip" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/quoted_string.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/quoted_string.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/quoted_string.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: namespace __detail { 2441: 2441: 2441: 2441: template 2441: struct _Quoted_string 2441: { 2441: static_assert(is_reference<_String>::value 2441: || is_pointer<_String>::value, 2441: "String type must be pointer or reference"); 2441: 2441: _Quoted_string(_String __str, _CharT __del, _CharT __esc) 2441: : _M_string(__str), _M_delim{__del}, _M_escape{__esc} 2441: { } 2441: 2441: _Quoted_string& 2441: operator=(_Quoted_string&) = delete; 2441: 2441: _String _M_string; 2441: _CharT _M_delim; 2441: _CharT _M_escape; 2441: }; 2441: # 91 "/usr/include/c++/8/bits/quoted_string.h" 3 2441: template 2441: std::basic_ostream<_CharT, _Traits>& 2441: operator<<(std::basic_ostream<_CharT, _Traits>& __os, 2441: const _Quoted_string& __str) 2441: { 2441: std::basic_ostringstream<_CharT, _Traits> __ostr; 2441: __ostr << __str._M_delim; 2441: for (const _CharT* __c = __str._M_string; *__c; ++__c) 2441: { 2441: if (*__c == __str._M_delim || *__c == __str._M_escape) 2441: __ostr << __str._M_escape; 2441: __ostr << *__c; 2441: } 2441: __ostr << __str._M_delim; 2441: 2441: return __os << __ostr.str(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: std::basic_ostream<_CharT, _Traits>& 2441: operator<<(std::basic_ostream<_CharT, _Traits>& __os, 2441: const _Quoted_string<_String, _CharT>& __str) 2441: { 2441: std::basic_ostringstream<_CharT, _Traits> __ostr; 2441: __ostr << __str._M_delim; 2441: for (auto __c : __str._M_string) 2441: { 2441: if (__c == __str._M_delim || __c == __str._M_escape) 2441: __ostr << __str._M_escape; 2441: __ostr << __c; 2441: } 2441: __ostr << __str._M_delim; 2441: 2441: return __os << __ostr.str(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: std::basic_istream<_CharT, _Traits>& 2441: operator>>(std::basic_istream<_CharT, _Traits>& __is, 2441: const _Quoted_string&, 2441: _CharT>& __str) 2441: { 2441: _CharT __c; 2441: __is >> __c; 2441: if (!__is.good()) 2441: return __is; 2441: if (__c != __str._M_delim) 2441: { 2441: __is.unget(); 2441: __is >> __str._M_string; 2441: return __is; 2441: } 2441: __str._M_string.clear(); 2441: std::ios_base::fmtflags __flags 2441: = __is.flags(__is.flags() & ~std::ios_base::skipws); 2441: do 2441: { 2441: __is >> __c; 2441: if (!__is.good()) 2441: break; 2441: if (__c == __str._M_escape) 2441: { 2441: __is >> __c; 2441: if (!__is.good()) 2441: break; 2441: } 2441: else if (__c == __str._M_delim) 2441: break; 2441: __str._M_string += __c; 2441: } 2441: while (true); 2441: __is.setf(__flags); 2441: 2441: return __is; 2441: } 2441: } 2441: 2441: 2441: } 2441: # 46 "/usr/include/c++/8/iomanip" 2 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: struct _Resetiosflags { ios_base::fmtflags _M_mask; }; 2441: # 65 "/usr/include/c++/8/iomanip" 3 2441: inline _Resetiosflags 2441: resetiosflags(ios_base::fmtflags __mask) 2441: { return { __mask }; } 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f) 2441: { 2441: __is.setf(ios_base::fmtflags(0), __f._M_mask); 2441: return __is; 2441: } 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f) 2441: { 2441: __os.setf(ios_base::fmtflags(0), __f._M_mask); 2441: return __os; 2441: } 2441: 2441: 2441: struct _Setiosflags { ios_base::fmtflags _M_mask; }; 2441: # 95 "/usr/include/c++/8/iomanip" 3 2441: inline _Setiosflags 2441: setiosflags(ios_base::fmtflags __mask) 2441: { return { __mask }; } 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f) 2441: { 2441: __is.setf(__f._M_mask); 2441: return __is; 2441: } 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f) 2441: { 2441: __os.setf(__f._M_mask); 2441: return __os; 2441: } 2441: 2441: 2441: struct _Setbase { int _M_base; }; 2441: # 126 "/usr/include/c++/8/iomanip" 3 2441: inline _Setbase 2441: setbase(int __base) 2441: { return { __base }; } 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f) 2441: { 2441: __is.setf(__f._M_base == 8 ? ios_base::oct : 2441: __f._M_base == 10 ? ios_base::dec : 2441: __f._M_base == 16 ? ios_base::hex : 2441: ios_base::fmtflags(0), ios_base::basefield); 2441: return __is; 2441: } 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f) 2441: { 2441: __os.setf(__f._M_base == 8 ? ios_base::oct : 2441: __f._M_base == 10 ? ios_base::dec : 2441: __f._M_base == 16 ? ios_base::hex : 2441: ios_base::fmtflags(0), ios_base::basefield); 2441: return __os; 2441: } 2441: 2441: 2441: template 2441: struct _Setfill { _CharT _M_c; }; 2441: # 163 "/usr/include/c++/8/iomanip" 3 2441: template 2441: inline _Setfill<_CharT> 2441: setfill(_CharT __c) 2441: { return { __c }; } 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f) 2441: { 2441: __is.fill(__f._M_c); 2441: return __is; 2441: } 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f) 2441: { 2441: __os.fill(__f._M_c); 2441: return __os; 2441: } 2441: 2441: 2441: struct _Setprecision { int _M_n; }; 2441: # 194 "/usr/include/c++/8/iomanip" 3 2441: inline _Setprecision 2441: setprecision(int __n) 2441: { return { __n }; } 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f) 2441: { 2441: __is.precision(__f._M_n); 2441: return __is; 2441: } 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f) 2441: { 2441: __os.precision(__f._M_n); 2441: return __os; 2441: } 2441: 2441: 2441: struct _Setw { int _M_n; }; 2441: # 224 "/usr/include/c++/8/iomanip" 3 2441: inline _Setw 2441: setw(int __n) 2441: { return { __n }; } 2441: 2441: template 2441: inline basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f) 2441: { 2441: __is.width(__f._M_n); 2441: return __is; 2441: } 2441: 2441: template 2441: inline basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f) 2441: { 2441: __os.width(__f._M_n); 2441: return __os; 2441: } 2441: 2441: 2441: 2441: template 2441: struct _Get_money { _MoneyT& _M_mon; bool _M_intl; }; 2441: # 257 "/usr/include/c++/8/iomanip" 3 2441: template 2441: inline _Get_money<_MoneyT> 2441: get_money(_MoneyT& __mon, bool __intl = false) 2441: { return { __mon, __intl }; } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Get_money<_MoneyT> __f) 2441: { 2441: typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: typedef istreambuf_iterator<_CharT, _Traits> _Iter; 2441: typedef money_get<_CharT, _Iter> _MoneyGet; 2441: 2441: const _MoneyGet& __mg = use_facet<_MoneyGet>(__is.getloc()); 2441: __mg.get(_Iter(__is.rdbuf()), _Iter(), __f._M_intl, 2441: __is, __err, __f._M_mon); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __is._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __is._M_setstate(ios_base::badbit); } 2441: if (__err) 2441: __is.setstate(__err); 2441: } 2441: return __is; 2441: } 2441: 2441: 2441: template 2441: struct _Put_money { const _MoneyT& _M_mon; bool _M_intl; }; 2441: # 304 "/usr/include/c++/8/iomanip" 3 2441: template 2441: inline _Put_money<_MoneyT> 2441: put_money(const _MoneyT& __mon, bool __intl = false) 2441: { return { __mon, __intl }; } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f) 2441: { 2441: typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: typedef ostreambuf_iterator<_CharT, _Traits> _Iter; 2441: typedef money_put<_CharT, _Iter> _MoneyPut; 2441: 2441: const _MoneyPut& __mp = use_facet<_MoneyPut>(__os.getloc()); 2441: if (__mp.put(_Iter(__os.rdbuf()), __f._M_intl, __os, 2441: __os.fill(), __f._M_mon).failed()) 2441: __err |= ios_base::badbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __os._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __os._M_setstate(ios_base::badbit); } 2441: if (__err) 2441: __os.setstate(__err); 2441: } 2441: return __os; 2441: } 2441: 2441: template 2441: struct _Put_time 2441: { 2441: const std::tm* _M_tmb; 2441: const _CharT* _M_fmt; 2441: }; 2441: # 356 "/usr/include/c++/8/iomanip" 3 2441: template 2441: inline _Put_time<_CharT> 2441: put_time(const std::tm* __tmb, const _CharT* __fmt) 2441: { return { __tmb, __fmt }; } 2441: 2441: template 2441: basic_ostream<_CharT, _Traits>& 2441: operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_time<_CharT> __f) 2441: { 2441: typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: typedef ostreambuf_iterator<_CharT, _Traits> _Iter; 2441: typedef time_put<_CharT, _Iter> _TimePut; 2441: 2441: const _CharT* const __fmt_end = __f._M_fmt + 2441: _Traits::length(__f._M_fmt); 2441: 2441: const _TimePut& __mp = use_facet<_TimePut>(__os.getloc()); 2441: if (__mp.put(_Iter(__os.rdbuf()), __os, __os.fill(), 2441: __f._M_tmb, __f._M_fmt, __fmt_end).failed()) 2441: __err |= ios_base::badbit; 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __os._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __os._M_setstate(ios_base::badbit); } 2441: if (__err) 2441: __os.setstate(__err); 2441: } 2441: return __os; 2441: } 2441: 2441: template 2441: struct _Get_time 2441: { 2441: std::tm* _M_tmb; 2441: const _CharT* _M_fmt; 2441: }; 2441: # 411 "/usr/include/c++/8/iomanip" 3 2441: template 2441: inline _Get_time<_CharT> 2441: get_time(std::tm* __tmb, const _CharT* __fmt) 2441: { return { __tmb, __fmt }; } 2441: 2441: template 2441: basic_istream<_CharT, _Traits>& 2441: operator>>(basic_istream<_CharT, _Traits>& __is, _Get_time<_CharT> __f) 2441: { 2441: typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false); 2441: if (__cerb) 2441: { 2441: ios_base::iostate __err = ios_base::goodbit; 2441: try 2441: { 2441: typedef istreambuf_iterator<_CharT, _Traits> _Iter; 2441: typedef time_get<_CharT, _Iter> _TimeGet; 2441: 2441: const _CharT* const __fmt_end = __f._M_fmt + 2441: _Traits::length(__f._M_fmt); 2441: 2441: const _TimeGet& __mg = use_facet<_TimeGet>(__is.getloc()); 2441: __mg.get(_Iter(__is.rdbuf()), _Iter(), __is, 2441: __err, __f._M_tmb, __f._M_fmt, __fmt_end); 2441: } 2441: catch(__cxxabiv1::__forced_unwind&) 2441: { 2441: __is._M_setstate(ios_base::badbit); 2441: throw; 2441: } 2441: catch(...) 2441: { __is._M_setstate(ios_base::badbit); } 2441: if (__err) 2441: __is.setstate(__err); 2441: } 2441: return __is; 2441: } 2441: # 459 "/usr/include/c++/8/iomanip" 3 2441: template 2441: inline auto 2441: quoted(const _CharT* __string, 2441: _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\')) 2441: { 2441: return __detail::_Quoted_string(__string, __delim, 2441: __escape); 2441: } 2441: 2441: template 2441: inline auto 2441: quoted(const basic_string<_CharT, _Traits, _Alloc>& __string, 2441: _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\')) 2441: { 2441: return __detail::_Quoted_string< 2441: const basic_string<_CharT, _Traits, _Alloc>&, _CharT>( 2441: __string, __delim, __escape); 2441: } 2441: 2441: template 2441: inline auto 2441: quoted(basic_string<_CharT, _Traits, _Alloc>& __string, 2441: _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\')) 2441: { 2441: return __detail::_Quoted_string< 2441: basic_string<_CharT, _Traits, _Alloc>&, _CharT>( 2441: __string, __delim, __escape); 2441: } 2441: # 508 "/usr/include/c++/8/iomanip" 3 2441: extern template ostream& operator<<(ostream&, _Setfill); 2441: extern template ostream& operator<<(ostream&, _Setiosflags); 2441: extern template ostream& operator<<(ostream&, _Resetiosflags); 2441: extern template ostream& operator<<(ostream&, _Setbase); 2441: extern template ostream& operator<<(ostream&, _Setprecision); 2441: extern template ostream& operator<<(ostream&, _Setw); 2441: extern template istream& operator>>(istream&, _Setfill); 2441: extern template istream& operator>>(istream&, _Setiosflags); 2441: extern template istream& operator>>(istream&, _Resetiosflags); 2441: extern template istream& operator>>(istream&, _Setbase); 2441: extern template istream& operator>>(istream&, _Setprecision); 2441: extern template istream& operator>>(istream&, _Setw); 2441: 2441: 2441: extern template wostream& operator<<(wostream&, _Setfill); 2441: extern template wostream& operator<<(wostream&, _Setiosflags); 2441: extern template wostream& operator<<(wostream&, _Resetiosflags); 2441: extern template wostream& operator<<(wostream&, _Setbase); 2441: extern template wostream& operator<<(wostream&, _Setprecision); 2441: extern template wostream& operator<<(wostream&, _Setw); 2441: extern template wistream& operator>>(wistream&, _Setfill); 2441: extern template wistream& operator>>(wistream&, _Setiosflags); 2441: extern template wistream& operator>>(wistream&, _Resetiosflags); 2441: extern template wistream& operator>>(wistream&, _Setbase); 2441: extern template wistream& operator>>(wistream&, _Setprecision); 2441: extern template wistream& operator>>(wistream&, _Setw); 2441: 2441: 2441: 2441: 2441: } 2441: # 29 "../../src/Checked_Number_templates.hh" 2 2441: 2441: 2441: 2441: # 31 "../../src/Checked_Number_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: typename Enable_If::value, void>::type 2441: ascii_dump(std::ostream& s, const T& t) { 2441: if (std::numeric_limits::is_exact) { 2441: 2441: s << t; 2441: } 2441: else { 2441: 2441: 2441: const std::ios::fmtflags old_flags = s.setf(std::ios::hex, 2441: std::ios::basefield); 2441: const unsigned char* p = reinterpret_cast(&t); 2441: for (unsigned i = 0; i < sizeof(T); ++i) { 2441: s << std::setw(2) << std::setfill('0') << static_cast(p[i]); 2441: } 2441: s.flags(old_flags); 2441: 2441: s << " (" << t << ")"; 2441: } 2441: } 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: ascii_load(std::istream& s, T& t) { 2441: if (std::numeric_limits::is_exact) { 2441: 2441: s >> t; 2441: return !s.fail(); 2441: } 2441: else { 2441: 2441: 2441: std::string str; 2441: if (!(s >> str) || str.size() != 2*sizeof(T)) { 2441: return false; 2441: } 2441: unsigned char* p = reinterpret_cast(&t); 2441: 2441: for (unsigned i = 0; i < sizeof(T); ++i) { 2441: unsigned byte_value = 0; 2441: for (unsigned j = 0; j < 2; ++j) { 2441: byte_value <<= 4; 2441: unsigned half_byte_value; 2441: 2441: switch (str[2*i + j]) { 2441: case '0': 2441: half_byte_value = 0; 2441: break; 2441: case '1': 2441: half_byte_value = 1; 2441: break; 2441: case '2': 2441: half_byte_value = 2; 2441: break; 2441: case '3': 2441: half_byte_value = 3; 2441: break; 2441: case '4': 2441: half_byte_value = 4; 2441: break; 2441: case '5': 2441: half_byte_value = 5; 2441: break; 2441: case '6': 2441: half_byte_value = 6; 2441: break; 2441: case '7': 2441: half_byte_value = 7; 2441: break; 2441: case '8': 2441: half_byte_value = 8; 2441: break; 2441: case '9': 2441: half_byte_value = 9; 2441: break; 2441: case 'A': 2441: case 'a': 2441: half_byte_value = 10; 2441: break; 2441: case 'B': 2441: case 'b': 2441: half_byte_value = 11; 2441: break; 2441: case 'C': 2441: case 'c': 2441: half_byte_value = 12; 2441: break; 2441: case 'D': 2441: case 'd': 2441: half_byte_value = 13; 2441: break; 2441: case 'E': 2441: case 'e': 2441: half_byte_value = 14; 2441: break; 2441: case 'F': 2441: case 'f': 2441: half_byte_value = 15; 2441: break; 2441: default: 2441: return false; 2441: } 2441: byte_value += half_byte_value; 2441: } 2441: ((void) 0); 2441: p[i] = static_cast(byte_value); 2441: } 2441: 2441: if (!(s >> str)) { 2441: return false; 2441: } 2441: const std::string::size_type sz = str.size(); 2441: return sz > 2 && str[0] == '(' && str[sz-1] == ')'; 2441: } 2441: } 2441: 2441: } 2441: # 1069 "../../src/Checked_Number_defs.hh" 2 2441: # 28 "../../src/checked_numeric_limits.hh" 2 2441: 2441: 2441: 2441: namespace std { 2441: 2441: using namespace Parma_Polyhedra_Library; 2441: # 74 "../../src/checked_numeric_limits.hh" 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: template class numeric_limits > : public numeric_limits { private: typedef Checked_Number Type; public: static const bool has_infinity = Policy::has_infinity; static const bool has_quiet_NaN = Policy::has_nan; static Type min() { Type v; v.raw_value() = Checked::Extended_Int::min; return v; } static Type max() { Type v; v.raw_value() = Checked::Extended_Int::max; return v; } static Type infinity() { Type v; Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, ROUND_IGNORE); return v; } static Type quiet_NaN() { Type v; Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); return v; } }; 2441: # 98 "../../src/checked_numeric_limits.hh" 2441: template struct numeric_limits > : public numeric_limits { }; 2441: 2441: 2441: template struct numeric_limits > : public numeric_limits { }; 2441: 2441: 2441: template struct numeric_limits > : public numeric_limits { }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class 2441: numeric_limits > 2441: : public numeric_limits { 2441: private: 2441: typedef Checked_Number Type; 2441: 2441: public: 2441: static const bool has_infinity = Policy::has_infinity; 2441: static const bool has_quiet_NaN = Policy::has_nan; 2441: 2441: static Type infinity() { 2441: Type v; 2441: Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, 2441: ROUND_IGNORE); 2441: return v; 2441: } 2441: 2441: static Type quiet_NaN() { 2441: Type v; 2441: Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); 2441: return v; 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class 2441: numeric_limits > 2441: : public numeric_limits { 2441: private: 2441: typedef Checked_Number Type; 2441: 2441: public: 2441: static const bool has_infinity = Policy::has_infinity; 2441: static const bool has_quiet_NaN = Policy::has_nan; 2441: 2441: static Type infinity() { 2441: Type v; 2441: Checked::assign_special(v.raw_value(), VC_PLUS_INFINITY, 2441: ROUND_IGNORE); 2441: return v; 2441: } 2441: 2441: static Type quiet_NaN() { 2441: Type v; 2441: Checked::assign_special(v.raw_value(), VC_NAN, ROUND_IGNORE); 2441: return v; 2441: } 2441: }; 2441: 2441: } 2441: # 4 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/stdiobuf_defs.hh" 1 2441: # 27 "../../src/stdiobuf_defs.hh" 2441: # 1 "../../src/stdiobuf_types.hh" 1 2441: # 16 "../../src/stdiobuf_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class stdiobuf; 2441: 2441: } 2441: # 28 "../../src/stdiobuf_defs.hh" 2 2441: # 1 "/usr/include/c++/8/cstdio" 1 3 2441: # 39 "/usr/include/c++/8/cstdio" 3 2441: 2441: # 40 "/usr/include/c++/8/cstdio" 3 2441: # 29 "../../src/stdiobuf_defs.hh" 2 2441: 2441: 2441: class Parma_Polyhedra_Library::stdiobuf 2441: : public std::basic_streambuf > { 2441: public: 2441: 2441: stdiobuf(FILE* file); 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type underflow(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type uflow(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual std::streamsize xsgetn(char_type* s, std::streamsize n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type pbackfail(int_type c = traits_type::eof()); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual std::streamsize xsputn(const char_type* s, std::streamsize n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type overflow(int_type c); 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int sync(); 2441: 2441: private: 2441: 2441: typedef char char_type; 2441: 2441: 2441: typedef std::char_traits traits_type; 2441: 2441: 2441: typedef traits_type::int_type int_type; 2441: 2441: 2441: FILE* fp; 2441: 2441: 2441: int_type unget_char_buf; 2441: }; 2441: 2441: # 1 "../../src/stdiobuf_inlines.hh" 1 2441: # 27 "../../src/stdiobuf_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: stdiobuf::stdiobuf(FILE* file) 2441: : fp(file), unget_char_buf(traits_type::eof()) { 2441: } 2441: 2441: } 2441: # 110 "../../src/stdiobuf_defs.hh" 2 2441: # 5 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/c_streambuf_defs.hh" 1 2441: # 27 "../../src/c_streambuf_defs.hh" 2441: # 1 "../../src/c_streambuf_types.hh" 1 2441: # 16 "../../src/c_streambuf_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class c_streambuf; 2441: 2441: } 2441: # 28 "../../src/c_streambuf_defs.hh" 2 2441: 2441: 2441: 2441: class Parma_Polyhedra_Library::c_streambuf 2441: : public std::basic_streambuf > { 2441: public: 2441: 2441: c_streambuf(); 2441: 2441: 2441: virtual ~c_streambuf(); 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type underflow(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type uflow(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual std::streamsize xsgetn(char_type* s, std::streamsize n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type pbackfail(int_type c = traits_type::eof()); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual std::streamsize xsputn(const char_type* s, std::streamsize n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int_type overflow(int_type c); 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int sync(); 2441: 2441: private: 2441: 2441: typedef char char_type; 2441: 2441: 2441: typedef std::char_traits traits_type; 2441: 2441: 2441: typedef traits_type::int_type int_type; 2441: 2441: 2441: int_type unget_char_buf; 2441: 2441: 2441: int_type next_char_buf; 2441: 2441: virtual size_t cb_read(char *, size_t) { 2441: return 0; 2441: } 2441: virtual size_t cb_write(const char *, size_t) { 2441: return 0; 2441: } 2441: virtual int cb_sync() { 2441: return 0; 2441: } 2441: virtual int cb_flush() { 2441: return 0; 2441: } 2441: }; 2441: 2441: # 1 "../../src/c_streambuf_inlines.hh" 1 2441: # 27 "../../src/c_streambuf_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: c_streambuf::c_streambuf() 2441: : unget_char_buf(traits_type::eof()), next_char_buf(traits_type::eof()) { 2441: } 2441: 2441: } 2441: # 126 "../../src/c_streambuf_defs.hh" 2 2441: # 6 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/Integer_Interval.hh" 1 2441: # 27 "../../src/Integer_Interval.hh" 2441: # 1 "../../src/Interval_defs.hh" 1 2441: # 27 "../../src/Interval_defs.hh" 2441: # 1 "../../src/Interval_types.hh" 1 2441: # 16 "../../src/Interval_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Interval; 2441: 2441: } 2441: # 28 "../../src/Interval_defs.hh" 2 2441: 2441: 2441: # 1 "../../src/assign_or_swap.hh" 1 2441: # 28 "../../src/assign_or_swap.hh" 2441: # 1 "../../src/Has_Assign_Or_Swap.hh" 1 2441: # 29 "../../src/Has_Assign_Or_Swap.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct Has_Assign_Or_Swap : public False { 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct Has_Assign_Or_Swap::type> 2441: : public True { 2441: }; 2441: 2441: } 2441: # 29 "../../src/assign_or_swap.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline typename Enable_If::value, void>::type 2441: assign_or_swap(T& to, T& from) { 2441: to.assign_or_swap(from); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && !Slow_Copy::value, void>::type 2441: assign_or_swap(T& to, T& from) { 2441: to = from; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline typename Enable_If::value 2441: && Slow_Copy::value, void>::type 2441: assign_or_swap(T& to, T& from) { 2441: using std::swap; 2441: swap(to, from); 2441: } 2441: 2441: } 2441: # 31 "../../src/Interval_defs.hh" 2 2441: # 1 "../../src/intervals_defs.hh" 1 2441: # 29 "../../src/intervals_defs.hh" 2441: # 1 "/usr/include/c++/8/cstdlib" 1 3 2441: # 39 "/usr/include/c++/8/cstdlib" 3 2441: 2441: # 40 "/usr/include/c++/8/cstdlib" 3 2441: # 30 "../../src/intervals_defs.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: enum I_Result { 2441: 2441: 2441: 2441: I_EMPTY = 1U, 2441: 2441: 2441: 2441: I_SINGLETON = 2U, 2441: 2441: 2441: 2441: 2441: 2441: I_SOME = 4U, 2441: 2441: 2441: 2441: I_UNIVERSE = 8U, 2441: 2441: 2441: 2441: I_NOT_EMPTY = I_SINGLETON | I_SOME | I_UNIVERSE, 2441: 2441: 2441: 2441: I_ANY = I_EMPTY | I_NOT_EMPTY, 2441: 2441: 2441: 2441: I_NOT_UNIVERSE = I_EMPTY | I_SINGLETON | I_SOME, 2441: 2441: 2441: 2441: I_NOT_DEGENERATE = I_SINGLETON | I_SOME, 2441: 2441: 2441: 2441: I_EXACT = 16, 2441: 2441: 2441: 2441: I_INEXACT = 32, 2441: 2441: 2441: 2441: I_CHANGED = 64, 2441: 2441: 2441: 2441: I_UNCHANGED = 128, 2441: 2441: 2441: 2441: I_SINGULARITIES = 256 2441: }; 2441: 2441: inline I_Result 2441: operator|(I_Result a, I_Result b) { 2441: return static_cast(static_cast(a) 2441: | static_cast(b)); 2441: } 2441: 2441: inline I_Result 2441: operator&(I_Result a, I_Result b) { 2441: return static_cast(static_cast(a) 2441: & static_cast(b)); 2441: } 2441: 2441: inline I_Result 2441: operator-(I_Result a, I_Result b) { 2441: return static_cast(static_cast(a) 2441: & ~static_cast(b)); 2441: } 2441: 2441: template 2441: struct Use_By_Ref; 2441: 2441: struct Use_Slow_Copy; 2441: template 2441: struct Use_By_Ref 2441: : public Bool::value> { 2441: }; 2441: 2441: struct By_Value; 2441: template 2441: struct Use_By_Ref 2441: : public False { 2441: }; 2441: 2441: struct By_Ref; 2441: template 2441: struct Use_By_Ref 2441: : public True { 2441: }; 2441: 2441: template 2441: class Val_Or_Ref; 2441: 2441: template 2441: class Val_Or_Ref::value>::type> { 2441: T value; 2441: public: 2441: typedef T Arg_Type; 2441: typedef T Return_Type; 2441: Val_Or_Ref() 2441: : value() { 2441: } 2441: explicit Val_Or_Ref(Arg_Type v, bool = false) 2441: : value(v) { 2441: } 2441: Val_Or_Ref& operator=(Arg_Type v) { 2441: value = v; 2441: return *this; 2441: } 2441: void set(Arg_Type v, bool = false) { 2441: value = v; 2441: } 2441: Return_Type get() const { 2441: return value; 2441: } 2441: operator Return_Type() const { 2441: return get(); 2441: } 2441: }; 2441: 2441: template 2441: class Val_Or_Ref::value>::type> { 2441: const T* ptr; 2441: public: 2441: typedef T& Arg_Type; 2441: typedef const T& Return_Type; 2441: Val_Or_Ref() 2441: : ptr(0) { 2441: } 2441: explicit Val_Or_Ref(Arg_Type v) 2441: : ptr(&v) { 2441: } 2441: Val_Or_Ref(const T& v, bool) 2441: : ptr(&v) { 2441: } 2441: Val_Or_Ref& operator=(Arg_Type v) { 2441: ptr = &v; 2441: return *this; 2441: } 2441: void set(Arg_Type v) { 2441: ptr = &v; 2441: } 2441: void set(const T& v, bool) { 2441: ptr = &v; 2441: } 2441: Return_Type get() const { 2441: return *ptr; 2441: } 2441: operator Return_Type() const { 2441: return get(); 2441: } 2441: }; 2441: 2441: class I_Constraint_Base { 2441: }; 2441: 2441: template 2441: class I_Constraint_Common : public I_Constraint_Base { 2441: public: 2441: template 2441: Result convert_real(T& to) const { 2441: const Derived& c = static_cast(*this); 2441: Result r = c.rel(); 2441: switch (r) { 2441: case V_EMPTY: 2441: case V_LGE: 2441: return r; 2441: case V_LE: 2441: r = assign_r(to, c.value(), (ROUND_UP | ROUND_STRICT_RELATION)); 2441: r = result_relation_class(r); 2441: if (r == V_EQ) { 2441: return V_LE; 2441: } 2441: goto lt; 2441: case V_LT: 2441: r = assign_r(to, c.value(), ROUND_UP); 2441: r = result_relation_class(r); 2441: lt: 2441: switch (r) { 2441: case V_EMPTY: 2441: case V_LT_PLUS_INFINITY: 2441: case V_EQ_MINUS_INFINITY: 2441: return r; 2441: case V_LT: 2441: case V_LE: 2441: case V_EQ: 2441: return V_LT; 2441: default: 2441: break; 2441: } 2441: break; 2441: case V_GE: 2441: r = assign_r(to, c.value(), (ROUND_DOWN | ROUND_STRICT_RELATION)); 2441: r = result_relation_class(r); 2441: if (r == V_EQ) { 2441: return V_GE; 2441: } 2441: goto gt; 2441: case V_GT: 2441: r = assign_r(to, c.value(), ROUND_DOWN); 2441: r = result_relation_class(r); 2441: gt: 2441: switch (r) { 2441: case V_EMPTY: 2441: case V_GT_MINUS_INFINITY: 2441: case V_EQ_PLUS_INFINITY: 2441: return r; 2441: case V_LT: 2441: case V_LE: 2441: case V_EQ: 2441: return V_GT; 2441: default: 2441: break; 2441: } 2441: break; 2441: case V_EQ: 2441: r = assign_r(to, c.value(), ROUND_CHECK); 2441: r = result_relation_class(r); 2441: ((void) 0); 2441: if (r == V_EQ) { 2441: return V_EQ; 2441: } 2441: else { 2441: return V_EMPTY; 2441: } 2441: case V_NE: 2441: r = assign_r(to, c.value(), ROUND_CHECK); 2441: r = result_relation_class(r); 2441: if (r == V_EQ) { 2441: return V_NE; 2441: } 2441: else { 2441: return V_LGE; 2441: } 2441: default: 2441: break; 2441: } 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_EMPTY; 2441: } 2441: template 2441: Result convert_real(T& to1, Result& rel2, T& to2) const { 2441: const Derived& c = static_cast(*this); 2441: Result rel1; 2441: if (c.rel() != V_EQ) { 2441: rel2 = convert(to2); 2441: return V_LGE; 2441: } 2441: rel2 = assign_r(to2, c.value(), ROUND_UP); 2441: rel2 = result_relation_class(rel2); 2441: switch (rel2) { 2441: case V_EMPTY: 2441: case V_EQ_MINUS_INFINITY: 2441: case V_EQ: 2441: return V_LGE; 2441: default: 2441: break; 2441: } 2441: rel1 = assign_r(to1, c.value(), ROUND_DOWN); 2441: rel1 = result_relation_class(rel1); 2441: switch (rel1) { 2441: case V_EQ: 2441: ((void) 0); 2441: goto eq; 2441: case V_EQ_PLUS_INFINITY: 2441: case V_EMPTY: 2441: rel2 = rel1; 2441: return V_LGE; 2441: case V_GE: 2441: if (rel2 == V_LE && to1 == to2) { 2441: eq: 2441: rel2 = V_EQ; 2441: return V_LGE; 2441: } 2441: 2441: case V_GT: 2441: case V_GT_MINUS_INFINITY: 2441: return rel1; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_EMPTY; 2441: } 2441: switch (rel2) { 2441: case V_LE: 2441: case V_LT: 2441: case V_LT_PLUS_INFINITY: 2441: return rel1; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_EMPTY; 2441: } 2441: } 2441: template 2441: Result convert_integer(T& to) const { 2441: Result rel = convert_real(to); 2441: switch (rel) { 2441: case V_LT: 2441: if (is_integer(to)) { 2441: rel = sub_assign_r(to, to, T(1), (ROUND_UP | ROUND_STRICT_RELATION)); 2441: rel = result_relation_class(rel); 2441: return (rel == V_EQ) ? V_LE : rel; 2441: } 2441: 2441: case V_LE: 2441: rel = floor_assign_r(to, to, ROUND_UP); 2441: rel = result_relation_class(rel); 2441: ((void) 0); 2441: return V_LE; 2441: case V_GT: 2441: if (is_integer(to)) { 2441: rel = add_assign_r(to, to, T(1), (ROUND_DOWN | ROUND_STRICT_RELATION)); 2441: rel = result_relation_class(rel); 2441: return (rel == V_EQ) ? V_GE : rel; 2441: } 2441: 2441: case V_GE: 2441: rel = ceil_assign_r(to, to, ROUND_DOWN); 2441: rel = result_relation_class(rel); 2441: ((void) 0); 2441: return V_GE; 2441: case V_EQ: 2441: if (is_integer(to)) { 2441: return V_EQ; 2441: } 2441: return V_EMPTY; 2441: case V_NE: 2441: if (is_integer(to)) { 2441: return V_NE; 2441: } 2441: return V_LGE; 2441: default: 2441: return rel; 2441: } 2441: } 2441: }; 2441: 2441: struct I_Constraint_Rel { 2441: Result rel; 2441: I_Constraint_Rel(Result r) 2441: : rel(r) { 2441: ((void) 0); 2441: } 2441: I_Constraint_Rel(Relation_Symbol r) 2441: : rel(static_cast(r)) { 2441: } 2441: operator Result() const { 2441: return rel; 2441: } 2441: }; 2441: 2441: template 2441: class I_Constraint 2441: : public I_Constraint_Common > { 2441: typedef Val_Or_Ref Val_Ref; 2441: typedef typename Val_Ref::Arg_Type Arg_Type; 2441: typedef typename Val_Ref::Return_Type Return_Type; 2441: Result rel_; 2441: Val_Ref value_; 2441: public: 2441: typedef T value_type; 2441: explicit I_Constraint() 2441: : rel_(V_LGE) { 2441: } 2441: I_Constraint(I_Constraint_Rel r, Arg_Type v) 2441: : rel_(r), value_(v) { 2441: } 2441: I_Constraint(I_Constraint_Rel r, const T& v, bool force) 2441: : rel_(r), value_(v, force) { 2441: } 2441: template 2441: I_Constraint(I_Constraint_Rel r, const U& v) 2441: : rel_(r), value_(v) { 2441: } 2441: void set(I_Constraint_Rel r, Arg_Type v) { 2441: rel_ = r; 2441: value_.set(v); 2441: } 2441: void set(I_Constraint_Rel r, const T& v, bool force) { 2441: rel_ = r; 2441: value_.set(v, force); 2441: } 2441: template 2441: void set(I_Constraint_Rel r, const U& v) { 2441: rel_ = r; 2441: value_.set(v); 2441: } 2441: Return_Type value() const { 2441: return value_; 2441: } 2441: Result rel() const { 2441: return rel_; 2441: } 2441: }; 2441: 2441: template 2441: inline I_Constraint 2441: i_constraint(I_Constraint_Rel rel, const T& v) { 2441: return I_Constraint(rel, v); 2441: } 2441: 2441: template 2441: inline I_Constraint 2441: i_constraint(I_Constraint_Rel rel, const T& v, bool force) { 2441: return I_Constraint(rel, v, force); 2441: } 2441: 2441: template 2441: inline I_Constraint 2441: i_constraint(I_Constraint_Rel rel, T& v) { 2441: return I_Constraint(rel, v); 2441: } 2441: 2441: template 2441: inline I_Constraint 2441: i_constraint(I_Constraint_Rel rel, const T& v, const Val_Or_Ref_Criteria&) { 2441: return I_Constraint(rel, v); 2441: } 2441: 2441: template 2441: inline I_Constraint 2441: i_constraint(I_Constraint_Rel rel, const T& v, bool force, 2441: const Val_Or_Ref_Criteria&) { 2441: return I_Constraint(rel, v, force); 2441: } 2441: 2441: template 2441: inline I_Constraint 2441: i_constraint(I_Constraint_Rel rel, T& v, const Val_Or_Ref_Criteria&) { 2441: return I_Constraint(rel, v); 2441: } 2441: 2441: } 2441: # 32 "../../src/Interval_defs.hh" 2 2441: # 1 "../../src/Interval_Info_defs.hh" 1 2441: # 27 "../../src/Interval_Info_defs.hh" 2441: # 1 "../../src/Boundary_defs.hh" 1 2441: # 29 "../../src/Boundary_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Boundary_NS { 2441: 2441: struct Property { 2441: enum Type { 2441: SPECIAL_, 2441: OPEN_ 2441: }; 2441: typedef bool Value; 2441: static const Value default_value = true; 2441: static const Value unsupported_value = false; 2441: Property(Type t) 2441: : type(t) { 2441: } 2441: Type type; 2441: }; 2441: 2441: static const Property SPECIAL(Property::SPECIAL_); 2441: static const Property OPEN(Property::OPEN_); 2441: 2441: enum Boundary_Type { 2441: LOWER = ROUND_DOWN, 2441: UPPER = ROUND_UP 2441: }; 2441: 2441: inline Rounding_Dir 2441: round_dir_check(Boundary_Type t, bool check = false) { 2441: if (check) { 2441: return static_cast(t) | ROUND_STRICT_RELATION; 2441: } 2441: else { 2441: return static_cast(t); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: special_set_boundary_infinity(Boundary_Type type, T&, Info& info) { 2441: ((void) 0); 2441: info.set_boundary_property(type, SPECIAL); 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline bool 2441: special_is_open(Boundary_Type, const T&, const Info&) { 2441: return !Info::may_contain_infinity; 2441: } 2441: 2441: template 2441: inline bool 2441: normal_is_open(Boundary_Type type, const T& x, const Info& info) { 2441: if (Info::store_open) { 2441: return info.get_boundary_property(type, OPEN); 2441: } 2441: else { 2441: return !Info::store_special && !Info::may_contain_infinity 2441: && normal_is_boundary_infinity(type, x, info); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: is_open(Boundary_Type type, const T& x, const Info& info) { 2441: if (Info::store_open) { 2441: return info.get_boundary_property(type, OPEN); 2441: } 2441: else { 2441: return !Info::may_contain_infinity 2441: && is_boundary_infinity(type, x, info); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: set_unbounded(Boundary_Type type, T& x, Info& info) { 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_109 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(Info::store_special || std::numeric_limits::is_bounded || std::numeric_limits::has_infinity)>) } 2441: 2441: 2441: ; 2441: Result r; 2441: if (Info::store_special) { 2441: r = special_set_boundary_infinity(type, x, info); 2441: } 2441: else if (type == LOWER) { 2441: r = assign_r(x, MINUS_INFINITY, ROUND_UP); 2441: } 2441: else { 2441: r = assign_r(x, PLUS_INFINITY, ROUND_DOWN); 2441: } 2441: if (result_relation(r) == VR_EQ && !Info::may_contain_infinity) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return r; 2441: } 2441: 2441: template 2441: inline Result 2441: set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) { 2441: if (open) { 2441: ((void) 0); 2441: } 2441: else { 2441: ((void) 0); 2441: } 2441: Result r; 2441: if (Info::store_special) { 2441: ((void) 0); 2441: r = special_set_boundary_infinity(type, x, info); 2441: } 2441: else { 2441: r = assign_r(x, MINUS_INFINITY, round_dir_check(type)); 2441: ((void) 0); 2441: } 2441: if (open || result_relation(r) != VR_EQ) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return r; 2441: } 2441: 2441: template 2441: inline Result 2441: set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) { 2441: if (open) { 2441: ((void) 0); 2441: } 2441: else { 2441: ((void) 0); 2441: } 2441: Result r; 2441: if (Info::store_special) { 2441: ((void) 0); 2441: r = special_set_boundary_infinity(type, x, info); 2441: } 2441: else { 2441: r = assign_r(x, PLUS_INFINITY, round_dir_check(type)); 2441: ((void) 0); 2441: } 2441: if (open || result_relation(r) != VR_EQ) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return r; 2441: } 2441: 2441: template 2441: inline Result 2441: set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) { 2441: ((void) 0); 2441: Result r; 2441: if (Info::store_special) { 2441: r = special_set_boundary_infinity(type, x, info); 2441: } 2441: else if (type == LOWER) { 2441: r = assign_r(x, MINUS_INFINITY, round_dir_check(type)); 2441: } 2441: else { 2441: r = assign_r(x, PLUS_INFINITY, round_dir_check(type)); 2441: } 2441: ((void) 0); 2441: if (open) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return r; 2441: } 2441: 2441: template 2441: inline bool 2441: is_domain_inf(Boundary_Type type, const T& x, const Info& info) { 2441: if (Info::store_special && type == LOWER) { 2441: return info.get_boundary_property(type, SPECIAL); 2441: } 2441: else if (std::numeric_limits::has_infinity) { 2441: return Parma_Polyhedra_Library::is_minus_infinity(x); 2441: } 2441: else if (std::numeric_limits::is_bounded) { 2441: return x == std::numeric_limits::min(); 2441: } 2441: else { 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: is_domain_sup(Boundary_Type type, const T& x, const Info& info) { 2441: if (Info::store_special && type == UPPER) { 2441: return info.get_boundary_property(type, SPECIAL); 2441: } 2441: else if (std::numeric_limits::has_infinity) { 2441: return Parma_Polyhedra_Library::is_plus_infinity(x); 2441: } 2441: else if (std::numeric_limits::is_bounded) { 2441: return x == std::numeric_limits::max(); 2441: } 2441: else { 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) { 2441: if (!std::numeric_limits::has_infinity) { 2441: return false; 2441: } 2441: if (type == LOWER) { 2441: return Parma_Polyhedra_Library::is_minus_infinity(x); 2441: } 2441: else { 2441: return Parma_Polyhedra_Library::is_plus_infinity(x); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: is_boundary_infinity(Boundary_Type type, const T& x, const Info& info) { 2441: if (Info::store_special) { 2441: return info.get_boundary_property(type, SPECIAL); 2441: } 2441: else { 2441: return normal_is_boundary_infinity(type, x, info); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: normal_is_reverse_infinity(Boundary_Type type, const T& x, const Info&) { 2441: if (!Info::may_contain_infinity) { 2441: return false; 2441: } 2441: else if (type == LOWER) { 2441: return Parma_Polyhedra_Library::is_plus_infinity(x); 2441: } 2441: else { 2441: return Parma_Polyhedra_Library::is_minus_infinity(x); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: is_minus_infinity(Boundary_Type type, const T& x, const Info& info) { 2441: if (type == LOWER) { 2441: if (Info::store_special) { 2441: return info.get_boundary_property(type, SPECIAL); 2441: } 2441: else { 2441: return normal_is_boundary_infinity(type, x, info); 2441: } 2441: } 2441: else { 2441: return !Info::store_special && normal_is_reverse_infinity(type, x, info); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: is_plus_infinity(Boundary_Type type, const T& x, const Info& info) { 2441: if (type == UPPER) { 2441: if (Info::store_special) { 2441: return info.get_boundary_property(type, SPECIAL); 2441: } 2441: else { 2441: return normal_is_boundary_infinity(type, x, info); 2441: } 2441: } 2441: else { 2441: return !Info::store_special && normal_is_reverse_infinity(type, x, info); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) { 2441: return normal_is_reverse_infinity(type, x, info); 2441: } 2441: 2441: template 2441: inline int 2441: infinity_sign(Boundary_Type type, const T& x, const Info& info) { 2441: if (is_boundary_infinity(type, x, info)) { 2441: return (type == LOWER) ? -1 : 1; 2441: } 2441: else if (is_reverse_infinity(type, x, info)) { 2441: return (type == UPPER) ? -1 : 1; 2441: } 2441: else { 2441: return 0; 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: is_boundary_infinity_closed(Boundary_Type type, const T& x, const Info& info) { 2441: return Info::may_contain_infinity 2441: && !info.get_boundary_property(type, OPEN) 2441: && is_boundary_infinity(type, x, info); 2441: } 2441: 2441: template 2441: inline bool 2441: boundary_infinity_is_open(Boundary_Type type, const Info& info) { 2441: return !Info::may_contain_infinity 2441: || info.get_boundary_property(type, OPEN); 2441: } 2441: 2441: template 2441: inline int 2441: sgn_b(Boundary_Type type, const T& x, const Info& info) { 2441: if (info.get_boundary_property(type, SPECIAL)) { 2441: return (type == LOWER) ? -1 : 1; 2441: } 2441: else { 2441: 2441: 2441: return Parma_Polyhedra_Library::sgn(x); 2441: } 2441: } 2441: 2441: template 2441: inline int 2441: sgn(Boundary_Type type, const T& x, const Info& info) { 2441: int sign = sgn_b(type, x, info); 2441: if (x == 0 && info.get_boundary_property(type, OPEN)) { 2441: return (type == LOWER) ? -1 : 1; 2441: } 2441: else { 2441: return sign; 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: eq(Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: if (type1 == type2) { 2441: if (is_open(type1, x1, info1) 2441: != is_open(type2, x2, info2)) { 2441: return false; 2441: } 2441: } 2441: else if (is_open(type1, x1, info1) 2441: || is_open(type2, x2, info2)) { 2441: return false; 2441: } 2441: if (is_minus_infinity(type1, x1, info1)) { 2441: return is_minus_infinity(type2, x2, info2); 2441: } 2441: else if (is_plus_infinity(type1, x1, info1)) { 2441: return is_plus_infinity(type2, x2, info2); 2441: } 2441: else if (is_minus_infinity(type2, x2, info2) 2441: || is_plus_infinity(type2, x2, info2)) { 2441: return false; 2441: } 2441: else { 2441: return equal(x1, x2); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: lt(Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: if (is_open(type1, x1, info1)) { 2441: if (type1 == UPPER 2441: && (type2 == LOWER 2441: || !is_open(type2, x2, info2))) { 2441: goto le; 2441: } 2441: } 2441: else if (type2 == LOWER 2441: && is_open(type2, x2, info2)) { 2441: le: 2441: if (is_minus_infinity(type1, x1, info1) 2441: || is_plus_infinity(type2, x2, info2)) { 2441: return true; 2441: } 2441: if (is_plus_infinity(type1, x1, info1) 2441: || is_minus_infinity(type2, x2, info2)) { 2441: return false; 2441: } 2441: else { 2441: return less_or_equal(x1, x2); 2441: } 2441: } 2441: if (is_plus_infinity(type1, x1, info1) 2441: || is_minus_infinity(type2, x2, info2)) { 2441: return false; 2441: } 2441: if (is_minus_infinity(type1, x1, info1) 2441: || is_plus_infinity(type2, x2, info2)) { 2441: return true; 2441: } 2441: else { 2441: return less_than(x1, x2); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: gt(Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: return lt(type2, x2, info2, type1, x1, info1); 2441: } 2441: 2441: template 2441: inline bool 2441: le(Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: return !gt(type1, x1, info1, type2, x2, info2); 2441: } 2441: 2441: template 2441: inline bool 2441: ge(Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: return !lt(type1, x1, info1, type2, x2, info2); 2441: } 2441: 2441: template 2441: inline Result 2441: adjust_boundary(Boundary_Type type, T& x, Info& info, 2441: bool open, Result r) { 2441: r = result_relation_class(r); 2441: if (type == LOWER) { 2441: switch (r) { 2441: case V_GT_MINUS_INFINITY: 2441: open = true; 2441: 2441: case V_EQ_MINUS_INFINITY: 2441: if (!Info::store_special) { 2441: return r; 2441: } 2441: if (open) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return special_set_boundary_infinity(type, x, info); 2441: case V_GT: 2441: open = true; 2441: 2441: case V_GE: 2441: case V_EQ: 2441: if (open) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return r; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN; 2441: } 2441: } 2441: else { 2441: switch (r) { 2441: case V_LT_PLUS_INFINITY: 2441: open = true; 2441: 2441: case V_EQ_PLUS_INFINITY: 2441: if (!Info::store_special) { 2441: return r; 2441: } 2441: if (open) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return special_set_boundary_infinity(type, x, info); 2441: case V_LT: 2441: open = true; 2441: 2441: case V_LE: 2441: case V_EQ: 2441: if (open) { 2441: info.set_boundary_property(type, OPEN); 2441: } 2441: return r; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return V_NAN; 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: complement(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type, const T& x, const Info& info) { 2441: ((void) 0); 2441: bool should_shrink; 2441: if (info.get_boundary_property(type, SPECIAL)) { 2441: should_shrink = !special_is_open(type, x, info); 2441: if (type == LOWER) { 2441: return set_minus_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: else { 2441: return set_plus_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: } 2441: should_shrink = !normal_is_open(type, x, info); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: Result r = assign_r(to, x, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type, const T& x, const Info& info, 2441: bool should_shrink = false) { 2441: ((void) 0); 2441: if (info.get_boundary_property(type, SPECIAL)) { 2441: should_shrink = (should_shrink || special_is_open(type, x, info)); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = (should_shrink || normal_is_open(type, x, info)); 2441: const bool check 2441: = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: const Result r = assign_r(to, x, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: min_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type, const T& x, const Info& info) { 2441: if (lt(type, x, info, to_type, to, to_info)) { 2441: to_info.clear_boundary_properties(to_type); 2441: return assign(to_type, to, to_info, type, x, info); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: min_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: if (lt(type1, x1, info1, type2, x2, info2)) { 2441: return assign(to_type, to, to_info, type1, x1, info1); 2441: } 2441: else { 2441: return assign(to_type, to, to_info, type2, x2, info2); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: max_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type, const T& x, const Info& info) { 2441: if (gt(type, x, info, to_type, to, to_info)) { 2441: to_info.clear_boundary_properties(to_type); 2441: return assign(to_type, to, to_info, type, x, info); 2441: } 2441: return V_EQ; 2441: } 2441: 2441: template 2441: inline Result 2441: max_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: if (gt(type1, x1, info1, type2, x2, info2)) { 2441: return assign(to_type, to, to_info, type1, x1, info1); 2441: } 2441: else { 2441: return assign(to_type, to, to_info, type2, x2, info2); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: neg_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type, const T& x, const Info& info) { 2441: ((void) 0); 2441: bool should_shrink; 2441: if (info.get_boundary_property(type, SPECIAL)) { 2441: should_shrink = special_is_open(type, x, info); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = normal_is_open(type, x, info); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: Result r = neg_assign_r(to, x, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: add_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: ((void) 0); 2441: bool should_shrink; 2441: if (is_boundary_infinity(type1, x1, info1)) { 2441: should_shrink = (boundary_infinity_is_open(type1, info1) 2441: && !is_boundary_infinity_closed(type2, x2, info2)); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: else if (is_boundary_infinity(type2, x2, info2)) { 2441: should_shrink = (boundary_infinity_is_open(type2, info2) 2441: && !is_boundary_infinity_closed(type1, x1, info1)); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = (normal_is_open(type1, x1, info1) 2441: || normal_is_open(type2, x2, info2)); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: 2441: Result r = add_assign_r(to, x1, x2, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: sub_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: ((void) 0); 2441: bool should_shrink; 2441: if (is_boundary_infinity(type1, x1, info1)) { 2441: should_shrink = (boundary_infinity_is_open(type1, info1) 2441: && !is_boundary_infinity_closed(type2, x2, info2)); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: else if (is_boundary_infinity(type2, x2, info2)) { 2441: should_shrink = (boundary_infinity_is_open(type2, info2) 2441: && !is_boundary_infinity_closed(type1, x1, info1)); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = (normal_is_open(type1, x1, info1) 2441: || normal_is_open(type2, x2, info2)); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: 2441: Result r = sub_assign_r(to, x1, x2, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: mul_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: bool should_shrink; 2441: if (is_boundary_infinity(type1, x1, info1)) { 2441: should_shrink = (boundary_infinity_is_open(type1, info1) 2441: && !is_boundary_infinity_closed(type2, x2, info2)); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: else if (is_boundary_infinity(type2, x2, info2)) { 2441: should_shrink = (boundary_infinity_is_open(type2, info2) 2441: && !is_boundary_infinity_closed(type1, x1, info1)); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = (normal_is_open(type1, x1, info1) 2441: || normal_is_open(type2, x2, info2)); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: ((void) 0); 2441: 2441: Result r = mul_assign_r(to, x1, x2, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: set_zero(Boundary_Type to_type, To& to, To_Info& to_info, bool should_shrink) { 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: Result r = assign_r(to, Constant<0>::value, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: mul_assign_z(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, int x1s, 2441: Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) { 2441: bool should_shrink; 2441: if (x1s != 0) { 2441: if (x2s != 0) { 2441: return mul_assign(to_type, to, to_info, 2441: type1, x1, info1, 2441: type2, x2, info2); 2441: } 2441: else { 2441: should_shrink = info2.get_boundary_property(type2, OPEN); 2441: } 2441: } 2441: else { 2441: should_shrink = (info1.get_boundary_property(type1, OPEN) 2441: && (x2s != 0 || info2.get_boundary_property(type2, OPEN))); 2441: } 2441: return set_zero(to_type, to, to_info, should_shrink); 2441: } 2441: 2441: template 2441: inline Result 2441: div_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, 2441: Boundary_Type type2, const T2& x2, const Info2& info2) { 2441: bool should_shrink; 2441: if (is_boundary_infinity(type1, x1, info1)) { 2441: should_shrink = boundary_infinity_is_open(type1, info1); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: else if (is_boundary_infinity(type2, x2, info2)) { 2441: should_shrink = boundary_infinity_is_open(type2, info2); 2441: return set_zero(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = (normal_is_open(type1, x1, info1) 2441: || normal_is_open(type2, x2, info2)); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: ((void) 0); 2441: 2441: Result r = div_assign_r(to, x1, x2, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: 2441: template 2441: inline Result 2441: div_assign_z(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type1, const T1& x1, const Info1& info1, int x1s, 2441: Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) { 2441: if (x1s != 0) { 2441: if (x2s != 0) { 2441: return div_assign(to_type, to, to_info, 2441: type1, x1, info1, 2441: type2, x2, info2); 2441: } 2441: else { 2441: return set_boundary_infinity(to_type, to, to_info, true); 2441: } 2441: } 2441: else { 2441: bool should_shrink = info1.get_boundary_property(type1, OPEN) 2441: && !is_boundary_infinity_closed(type2, x2, info2); 2441: return set_zero(to_type, to, to_info, should_shrink); 2441: } 2441: } 2441: 2441: template 2441: inline Result 2441: umod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type, const T& x, const Info& info, 2441: unsigned int exp) { 2441: ((void) 0); 2441: bool should_shrink; 2441: if (is_boundary_infinity(type, x, info)) { 2441: should_shrink = boundary_infinity_is_open(type, info); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = normal_is_open(type, x, info); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: Result r = umod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: template 2441: inline Result 2441: smod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info, 2441: Boundary_Type type, const T& x, const Info& info, 2441: unsigned int exp) { 2441: ((void) 0); 2441: bool should_shrink; 2441: if (is_boundary_infinity(type, x, info)) { 2441: should_shrink = boundary_infinity_is_open(type, info); 2441: return set_boundary_infinity(to_type, to, to_info, should_shrink); 2441: } 2441: should_shrink = normal_is_open(type, x, info); 2441: bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open)); 2441: Result r = smod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check)); 2441: return adjust_boundary(to_type, to, to_info, should_shrink, r); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 28 "../../src/Interval_Info_defs.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Interval_NS { 2441: 2441: struct Property { 2441: enum Type { 2441: CARDINALITY_0_, 2441: CARDINALITY_1_, 2441: CARDINALITY_IS_ 2441: }; 2441: typedef bool Value; 2441: static const Value default_value = true; 2441: static const Value unsupported_value = false; 2441: Property(Type t) 2441: : type(t) { 2441: } 2441: Type type; 2441: }; 2441: 2441: const Property CARDINALITY_0(Property::CARDINALITY_0_); 2441: const Property CARDINALITY_1(Property::CARDINALITY_1_); 2441: const Property CARDINALITY_IS(Property::CARDINALITY_IS_); 2441: 2441: template 2441: inline void 2441: reset_bits(T& bits) { 2441: bits = 0; 2441: } 2441: 2441: template 2441: inline void 2441: reset_bit(T& bits, unsigned int bit) { 2441: bits &= ~(static_cast(1) << bit); 2441: } 2441: 2441: template 2441: inline void 2441: set_bit(T& bits, unsigned int bit, bool value) { 2441: if (value) { 2441: bits |= static_cast(1) << bit; 2441: } 2441: else { 2441: reset_bit(bits, bit); 2441: } 2441: } 2441: 2441: template 2441: inline bool 2441: get_bit(const T& bits, unsigned int bit) { 2441: return (bits & (static_cast(1) << bit)) != 0; 2441: } 2441: 2441: template 2441: inline void 2441: set_bits(T& bits, unsigned int start, unsigned int len, T value) { 2441: bits &= ~(((static_cast(1) << len) - 1) << start); 2441: bits |= value << start; 2441: } 2441: 2441: template 2441: inline T 2441: get_bits(T& bits, unsigned int start, unsigned int len) { 2441: return (bits >> start) & ((static_cast(1) << len) - 1); 2441: } 2441: 2441: } 2441: 2441: using namespace Interval_NS; 2441: using namespace Boundary_NS; 2441: 2441: 2441: template 2441: class Interval_Info_Null { 2441: public: 2441: enum const_bool_value_may_be_empty { may_be_empty = (Policy::may_be_empty) }; 2441: enum const_bool_value_may_contain_infinity { may_contain_infinity = (Policy::may_contain_infinity) }; 2441: enum const_bool_value_check_inexact { check_inexact = (Policy::check_inexact) }; 2441: enum const_bool_value_store_special { store_special = (false) }; 2441: enum const_bool_value_store_open { store_open = (false) }; 2441: enum const_bool_value_cache_empty { cache_empty = (false) }; 2441: enum const_bool_value_cache_singleton { cache_singleton = (false) }; 2441: Interval_Info_Null() { 2441: } 2441: void clear() { 2441: } 2441: void clear_boundary_properties(Boundary_Type) { 2441: } 2441: 2441: template 2441: void set_boundary_property(Boundary_Type, const Property&, typename Property::Value = Property::default_value) { 2441: } 2441: template 2441: typename Property::Value get_boundary_property(Boundary_Type, const Property&) const { 2441: return Property::unsupported_value; 2441: } 2441: template 2441: void set_interval_property(const Property&, typename Property::Value = Property::default_value) { 2441: } 2441: template 2441: typename Property::Value get_interval_property(const Property&) const { 2441: return Property::unsupported_value; 2441: } 2441: 2441: 2441: void m_swap(Interval_Info_Null& y); 2441: 2441: void ascii_dump(std::ostream& s) const; 2441: bool ascii_load(std::istream& s); 2441: }; 2441: 2441: template 2441: class Interval_Info_Null_Open : public Interval_Info_Null { 2441: public: 2441: enum const_bool_value_store_open { store_open = (true) }; 2441: Interval_Info_Null_Open(bool o) 2441: : open(o) { 2441: } 2441: bool get_boundary_property(Boundary_Type, 2441: const Boundary_NS::Property& p) const { 2441: if (p.type == Boundary_NS::Property::OPEN_) { 2441: return open; 2441: } 2441: else { 2441: return Boundary_NS::Property::unsupported_value; 2441: } 2441: } 2441: 2441: void ascii_dump(std::ostream& s) const; 2441: bool ascii_load(std::istream& s); 2441: 2441: private: 2441: bool open; 2441: }; 2441: 2441: 2441: template 2441: class Interval_Info_Bitset { 2441: public: 2441: enum const_bool_value_may_be_empty { may_be_empty = (Policy::may_be_empty) }; 2441: enum const_bool_value_may_contain_infinity { may_contain_infinity = (Policy::may_contain_infinity) }; 2441: enum const_bool_value_check_inexact { check_inexact = (Policy::check_inexact) }; 2441: enum const_bool_value_store_special { store_special = (Policy::store_special) }; 2441: enum const_bool_value_store_open { store_open = (Policy::store_open) }; 2441: enum const_bool_value_cache_empty { cache_empty = (Policy::cache_empty) }; 2441: enum const_bool_value_cache_singleton { cache_singleton = (Policy::cache_singleton) }; 2441: enum anonymous_enum_lower_special_bit { lower_special_bit = (Policy::next_bit) }; 2441: enum anonymous_enum_lower_open_bit { lower_open_bit = (lower_special_bit + (store_special ? 1 : 0)) }; 2441: enum anonymous_enum_upper_special_bit { upper_special_bit = (lower_open_bit + (store_open ? 1 : 0)) }; 2441: enum anonymous_enum_upper_open_bit { upper_open_bit = (upper_special_bit + (store_special ? 1 : 0)) }; 2441: enum anonymous_enum_cardinality_is_bit { cardinality_is_bit = (upper_open_bit + (store_open ? 1 : 0)) }; 2441: enum anonymous_enum_cardinality_0_bit { cardinality_0_bit = (cardinality_is_bit + ((cache_empty || cache_singleton) ? 1 : 0)) } 2441: ; 2441: enum anonymous_enum_cardinality_1_bit { cardinality_1_bit = (cardinality_0_bit + (cache_empty ? 1 : 0)) }; 2441: enum anonymous_enum_next_bit { next_bit = (cardinality_1_bit + (cache_singleton ? 1 : 0)) }; 2441: 2441: Interval_Info_Bitset() { 2441: 2441: 2441: clear(); 2441: } 2441: 2441: void clear() { 2441: reset_bits(bitset); 2441: } 2441: void clear_boundary_properties(Boundary_Type t) { 2441: set_boundary_property(t, SPECIAL, false); 2441: set_boundary_property(t, OPEN, false); 2441: } 2441: void set_boundary_property(Boundary_Type t, 2441: const Boundary_NS::Property& p, 2441: bool value = true) { 2441: switch (p.type) { 2441: case Boundary_NS::Property::SPECIAL_: 2441: if (store_special) { 2441: if (t == LOWER) { 2441: set_bit(bitset, lower_special_bit, value); 2441: } 2441: else { 2441: set_bit(bitset, upper_special_bit, value); 2441: } 2441: } 2441: break; 2441: case Boundary_NS::Property::OPEN_: 2441: if (store_open) { 2441: if (t == LOWER) { 2441: set_bit(bitset, lower_open_bit, value); 2441: } 2441: else { 2441: set_bit(bitset, upper_open_bit, value); 2441: } 2441: } 2441: break; 2441: default: 2441: break; 2441: } 2441: } 2441: bool get_boundary_property(Boundary_Type t, const Boundary_NS::Property& p) const { 2441: switch (p.type) { 2441: case Boundary_NS::Property::SPECIAL_: 2441: if (!store_special) { 2441: return false; 2441: } 2441: if (t == LOWER) { 2441: return get_bit(bitset, lower_special_bit); 2441: } 2441: else { 2441: return get_bit(bitset, upper_special_bit); 2441: } 2441: case Boundary_NS::Property::OPEN_: 2441: if (!store_open) { 2441: return false; 2441: } 2441: else if (t == LOWER) { 2441: return get_bit(bitset, lower_open_bit); 2441: } 2441: else { 2441: return get_bit(bitset, upper_open_bit); 2441: } 2441: default: 2441: return false; 2441: } 2441: } 2441: void set_interval_property(const Interval_NS::Property& p, bool value = true) { 2441: switch (p.type) { 2441: case Interval_NS::Property::CARDINALITY_0_: 2441: if (cache_empty) { 2441: set_bit(bitset, cardinality_0_bit, value); 2441: } 2441: break; 2441: case Interval_NS::Property::CARDINALITY_1_: 2441: if (cache_singleton) { 2441: set_bit(bitset, cardinality_1_bit, value); 2441: } 2441: break; 2441: case Interval_NS::Property::CARDINALITY_IS_: 2441: if (cache_empty || cache_singleton) { 2441: set_bit(bitset, cardinality_is_bit, value); 2441: } 2441: break; 2441: default: 2441: break; 2441: } 2441: } 2441: bool get_interval_property(Interval_NS::Property p) const { 2441: switch (p.type) { 2441: case Interval_NS::Property::CARDINALITY_0_: 2441: return cache_empty && get_bit(bitset, cardinality_0_bit); 2441: case Interval_NS::Property::CARDINALITY_1_: 2441: return cache_singleton && get_bit(bitset, cardinality_1_bit); 2441: case Interval_NS::Property::CARDINALITY_IS_: 2441: return (cache_empty || cache_singleton) 2441: && get_bit(bitset, cardinality_is_bit); 2441: default: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: void m_swap(Interval_Info_Bitset& y); 2441: 2441: void ascii_dump(std::ostream& s) const; 2441: bool ascii_load(std::istream& s); 2441: 2441: protected: 2441: T bitset; 2441: }; 2441: 2441: } 2441: 2441: # 1 "../../src/Interval_Info_inlines.hh" 1 2441: # 29 "../../src/Interval_Info_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline void 2441: Interval_Info_Null::m_swap(Interval_Info_Null&) { 2441: } 2441: 2441: template 2441: inline void 2441: Interval_Info_Null::ascii_dump(std::ostream&) const { 2441: } 2441: 2441: template 2441: inline bool 2441: Interval_Info_Null::ascii_load(std::istream&) { 2441: return true; 2441: } 2441: 2441: template 2441: inline void 2441: Interval_Info_Null_Open::ascii_dump(std::ostream& s) const { 2441: s << (open ? "open" : "closed"); 2441: } 2441: 2441: template 2441: inline bool 2441: Interval_Info_Null_Open::ascii_load(std::istream& s) { 2441: std::string str; 2441: if (!(s >> str)) { 2441: return false; 2441: } 2441: if (str == "open") { 2441: open = true; 2441: return true; 2441: } 2441: if (str == "closed") { 2441: open = false; 2441: return true; 2441: } 2441: return false; 2441: } 2441: 2441: template 2441: inline void 2441: Interval_Info_Bitset::m_swap(Interval_Info_Bitset& y) { 2441: using std::swap; 2441: swap(bitset, y.bitset); 2441: } 2441: 2441: template 2441: inline void 2441: Interval_Info_Bitset::ascii_dump(std::ostream& s) const { 2441: const std::ios::fmtflags old_flags = s.setf(std::ios::hex, 2441: std::ios::basefield); 2441: s << bitset; 2441: s.flags(old_flags); 2441: } 2441: 2441: template 2441: inline bool 2441: Interval_Info_Bitset::ascii_load(std::istream& s) { 2441: const std::ios::fmtflags old_flags = s.setf(std::ios::hex, 2441: std::ios::basefield); 2441: s >> bitset; 2441: s.flags(old_flags); 2441: return !s.fail(); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: swap(Interval_Info_Null& x, Interval_Info_Null& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: swap(Interval_Info_Bitset& x, Interval_Info_Bitset& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 300 "../../src/Interval_Info_defs.hh" 2 2441: # 33 "../../src/Interval_defs.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: enum Ternary { T_YES, T_NO, T_MAYBE }; 2441: 2441: inline I_Result 2441: combine(Result l, Result u) { 2441: const unsigned res 2441: = static_cast(l) | (static_cast(u) << 6); 2441: return static_cast(res); 2441: } 2441: 2441: struct Interval_Base { 2441: }; 2441: 2441: using namespace Boundary_NS; 2441: using namespace Interval_NS; 2441: 2441: template 2441: struct Is_Singleton : public Is_Native_Or_Checked {}; 2441: 2441: template 2441: struct Is_Interval : public Is_Same_Or_Derived {}; 2441: # 80 "../../src/Interval_defs.hh" 2441: template 2441: class Interval : public Interval_Base, private Info { 2441: private: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_86 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!Info::store_special || !std::numeric_limits::has_infinity)>) } 2441: 2441: 2441: ; 2441: Info& w_info() const { 2441: return const_cast(*this); 2441: } 2441: 2441: public: 2441: typedef Boundary boundary_type; 2441: typedef Info info_type; 2441: 2441: typedef Interval_NS::Property Property; 2441: 2441: template 2441: typename Enable_If::value || Is_Interval::value, Interval&>::type 2441: operator=(const T& x) { 2441: assign(x); 2441: return *this; 2441: } 2441: 2441: template 2441: typename Enable_If::value || Is_Interval::value, Interval&>::type 2441: operator+=(const T& x) { 2441: add_assign(*this, x); 2441: return *this; 2441: } 2441: template 2441: typename Enable_If::value || Is_Interval::value, Interval&>::type 2441: operator-=(const T& x) { 2441: sub_assign(*this, x); 2441: return *this; 2441: } 2441: template 2441: typename Enable_If::value || Is_Interval::value, Interval&>::type 2441: operator*=(const T& x) { 2441: mul_assign(*this, x); 2441: return *this; 2441: } 2441: template 2441: typename Enable_If::value || Is_Interval::value, Interval&>::type 2441: operator/=(const T& x) { 2441: div_assign(*this, x); 2441: return *this; 2441: } 2441: 2441: 2441: void m_swap(Interval& y); 2441: 2441: Info& info() { 2441: return *this; 2441: } 2441: 2441: const Info& info() const { 2441: return *this; 2441: } 2441: 2441: Boundary& lower() { 2441: return lower_; 2441: } 2441: 2441: const Boundary& lower() const { 2441: return lower_; 2441: } 2441: 2441: Boundary& upper() { 2441: return upper_; 2441: } 2441: 2441: const Boundary& upper() const { 2441: return upper_; 2441: } 2441: 2441: I_Constraint lower_constraint() const { 2441: ((void) 0); 2441: if (info().get_boundary_property(LOWER, SPECIAL)) { 2441: return I_Constraint(); 2441: } 2441: return i_constraint(lower_is_open() ? GREATER_THAN : GREATER_OR_EQUAL, 2441: lower(), true); 2441: } 2441: I_Constraint upper_constraint() const { 2441: ((void) 0); 2441: if (info().get_boundary_property(UPPER, SPECIAL)) { 2441: return I_Constraint(); 2441: } 2441: return i_constraint(upper_is_open() ? LESS_THAN : LESS_OR_EQUAL, 2441: upper(), true); 2441: } 2441: 2441: bool is_empty() const { 2441: return lt(UPPER, upper(), info(), LOWER, lower(), info()); 2441: } 2441: 2441: bool check_empty(I_Result r) const { 2441: return (r & I_ANY) == I_EMPTY 2441: || ((r & I_ANY) != I_NOT_EMPTY && is_empty()); 2441: } 2441: 2441: bool is_singleton() const { 2441: return eq(LOWER, lower(), info(), UPPER, upper(), info()); 2441: } 2441: 2441: bool lower_is_open() const { 2441: ((void) 0); 2441: return is_open(LOWER, lower(), info()); 2441: } 2441: 2441: bool upper_is_open() const { 2441: ((void) 0); 2441: return is_open(UPPER, upper(), info()); 2441: } 2441: 2441: bool lower_is_boundary_infinity() const { 2441: ((void) 0); 2441: return Boundary_NS::is_boundary_infinity(LOWER, lower(), info()); 2441: } 2441: 2441: bool upper_is_boundary_infinity() const { 2441: ((void) 0); 2441: return Boundary_NS::is_boundary_infinity(UPPER, upper(), info()); 2441: } 2441: 2441: bool lower_is_domain_inf() const { 2441: ((void) 0); 2441: return Boundary_NS::is_domain_inf(LOWER, lower(), info()); 2441: } 2441: 2441: bool upper_is_domain_sup() const { 2441: ((void) 0); 2441: return Boundary_NS::is_domain_sup(UPPER, upper(), info()); 2441: } 2441: 2441: bool is_bounded() const { 2441: ((void) 0); 2441: return !lower_is_boundary_infinity() && !upper_is_boundary_infinity(); 2441: } 2441: 2441: bool is_universe() const { 2441: ((void) 0); 2441: return lower_is_domain_inf() && upper_is_domain_sup(); 2441: } 2441: 2441: I_Result lower_extend() { 2441: info().clear_boundary_properties(LOWER); 2441: set_unbounded(LOWER, lower(), info()); 2441: return I_ANY; 2441: } 2441: 2441: template 2441: typename Enable_If::value, I_Result>::type 2441: lower_extend(const C& c); 2441: 2441: I_Result upper_extend() { 2441: info().clear_boundary_properties(UPPER); 2441: set_unbounded(UPPER, upper(), info()); 2441: return I_ANY; 2441: } 2441: 2441: template 2441: typename Enable_If::value, I_Result>::type 2441: upper_extend(const C& c); 2441: 2441: I_Result build() { 2441: return assign(UNIVERSE); 2441: } 2441: 2441: template 2441: typename Enable_If::value, I_Result>::type 2441: build(const C& c) { 2441: Relation_Symbol rs; 2441: switch (c.rel()) { 2441: case V_LGE: 2441: case V_GT_MINUS_INFINITY: 2441: case V_LT_PLUS_INFINITY: 2441: return assign(UNIVERSE); 2441: default: 2441: return assign(EMPTY); 2441: case V_LT: 2441: case V_LE: 2441: case V_GT: 2441: case V_GE: 2441: case V_EQ: 2441: case V_NE: 2441: assign(UNIVERSE); 2441: rs = static_cast(c.rel()); 2441: return refine_existential(rs, c.value()); 2441: } 2441: } 2441: 2441: template 2441: typename Enable_If::value 2441: && 2441: Is_Same_Or_Derived::value, 2441: I_Result>::type 2441: build(const C1& c1, const C2& c2) { 2441: switch (c1.rel()) { 2441: case V_LGE: 2441: return build(c2); 2441: case V_NAN: 2441: return assign(EMPTY); 2441: default: 2441: break; 2441: } 2441: switch (c2.rel()) { 2441: case V_LGE: 2441: return build(c1); 2441: case V_NAN: 2441: return assign(EMPTY); 2441: default: 2441: break; 2441: } 2441: build(c1); 2441: const I_Result r = add_constraint(c2); 2441: return r - (I_CHANGED | I_UNCHANGED); 2441: } 2441: 2441: template 2441: typename Enable_If::value, I_Result>::type 2441: add_constraint(const C& c) { 2441: Interval x; 2441: x.build(c); 2441: return intersect_assign(x); 2441: } 2441: 2441: I_Result assign(Degenerate_Element e) { 2441: I_Result r; 2441: info().clear(); 2441: switch (e) { 2441: case EMPTY: 2441: lower_ = 1; 2441: upper_ = 0; 2441: r = I_EMPTY | I_EXACT; 2441: break; 2441: case UNIVERSE: 2441: set_unbounded(LOWER, lower(), info()); 2441: set_unbounded(UPPER, upper(), info()); 2441: r = I_UNIVERSE | I_EXACT; 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: r = I_EMPTY; 2441: break; 2441: } 2441: ((void) 0); 2441: return r; 2441: } 2441: 2441: template 2441: typename Enable_If::value, I_Result>::type 2441: assign(const From&) { 2441: info().clear(); 2441: Result rl; 2441: Result ru; 2441: switch (From::vclass) { 2441: case VC_MINUS_INFINITY: 2441: rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info()); 2441: ru = Boundary_NS::set_minus_infinity(UPPER, upper(), info()); 2441: break; 2441: case VC_PLUS_INFINITY: 2441: rl = Boundary_NS::set_plus_infinity(LOWER, lower(), info()); 2441: ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info()); 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: rl = V_NAN; 2441: ru = V_NAN; 2441: break; 2441: } 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: I_Result set_infinities() { 2441: info().clear(); 2441: Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info()); 2441: Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info()); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: static bool is_always_topologically_closed() { 2441: return !Info::store_open; 2441: } 2441: 2441: bool is_topologically_closed() const { 2441: ((void) 0); 2441: return is_always_topologically_closed() 2441: || is_empty() 2441: || ((lower_is_boundary_infinity() || !lower_is_open()) 2441: && (upper_is_boundary_infinity() || !upper_is_open())); 2441: } 2441: 2441: 2441: void topological_closure_assign() { 2441: if (!Info::store_open || is_empty()) { 2441: return; 2441: } 2441: if (lower_is_open() && !lower_is_boundary_infinity()) { 2441: info().set_boundary_property(LOWER, OPEN, false); 2441: } 2441: if (upper_is_open() && !upper_is_boundary_infinity()) { 2441: info().set_boundary_property(UPPER, OPEN, false); 2441: } 2441: } 2441: 2441: void remove_inf() { 2441: ((void) 0); 2441: if (!Info::store_open) { 2441: return; 2441: } 2441: info().set_boundary_property(LOWER, OPEN, true); 2441: } 2441: 2441: void remove_sup() { 2441: ((void) 0); 2441: if (!Info::store_open) { 2441: return; 2441: } 2441: info().set_boundary_property(UPPER, OPEN, true); 2441: } 2441: 2441: int infinity_sign() const { 2441: ((void) 0); 2441: if (is_reverse_infinity(LOWER, lower(), info())) { 2441: return 1; 2441: } 2441: else if (is_reverse_infinity(UPPER, upper(), info())) { 2441: return -1; 2441: } 2441: else { 2441: return 0; 2441: } 2441: } 2441: 2441: bool contains_integer_point() const { 2441: ((void) 0); 2441: if (is_empty()) { 2441: return false; 2441: } 2441: if (!is_bounded()) { 2441: return true; 2441: } 2441: Boundary l; 2441: if (lower_is_open()) { 2441: add_assign_r(l, lower(), Boundary(1), ROUND_DOWN); 2441: floor_assign_r(l, l, ROUND_DOWN); 2441: } 2441: else { 2441: ceil_assign_r(l, lower(), ROUND_DOWN); 2441: } 2441: Boundary u; 2441: if (upper_is_open()) { 2441: sub_assign_r(u, upper(), Boundary(1), ROUND_UP); 2441: ceil_assign_r(u, u, ROUND_UP); 2441: } 2441: else { 2441: floor_assign_r(u, upper(), ROUND_UP); 2441: } 2441: return u >= l; 2441: } 2441: 2441: void drop_some_non_integer_points() { 2441: if (is_empty()) { 2441: return; 2441: } 2441: if (lower_is_open() && !lower_is_boundary_infinity()) { 2441: add_assign_r(lower(), lower(), Boundary(1), ROUND_DOWN); 2441: floor_assign_r(lower(), lower(), ROUND_DOWN); 2441: info().set_boundary_property(LOWER, OPEN, false); 2441: } 2441: else { 2441: ceil_assign_r(lower(), lower(), ROUND_DOWN); 2441: } 2441: if (upper_is_open() && !upper_is_boundary_infinity()) { 2441: sub_assign_r(upper(), upper(), Boundary(1), ROUND_UP); 2441: ceil_assign_r(upper(), upper(), ROUND_UP); 2441: info().set_boundary_property(UPPER, OPEN, false); 2441: } 2441: else { 2441: floor_assign_r(upper(), upper(), ROUND_UP); 2441: } 2441: } 2441: 2441: template 2441: typename Enable_If::value || Is_Interval::value, I_Result>::type 2441: wrap_assign(Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: const From& refinement) { 2441: if (is_empty()) { 2441: return I_EMPTY; 2441: } 2441: if (lower_is_boundary_infinity() || upper_is_boundary_infinity()) { 2441: return assign(refinement); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_u; Boundary& u = holder_u.item(); 2441: Result result = sub_2exp_assign_r(u, upper(), w, ROUND_UP); 2441: if (result_overflow(result) == 0 && u > lower()) { 2441: return assign(refinement); 2441: } 2441: info().clear(); 2441: switch (r) { 2441: case UNSIGNED: 2441: umod_2exp_assign(LOWER, lower(), info(), 2441: LOWER, lower(), info(), w); 2441: umod_2exp_assign(UPPER, upper(), info(), 2441: UPPER, upper(), info(), w); 2441: break; 2441: case SIGNED_2_COMPLEMENT: 2441: smod_2exp_assign(LOWER, lower(), info(), 2441: LOWER, lower(), info(), w); 2441: smod_2exp_assign(UPPER, upper(), info(), 2441: UPPER, upper(), info(), w); 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: if (le(LOWER, lower(), info(), UPPER, upper(), info())) { 2441: return intersect_assign(refinement); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; Interval& tmp = holder_tmp.item(); 2441: tmp.info().clear(); 2441: Boundary_NS::assign(LOWER, tmp.lower(), tmp.info(), 2441: LOWER, lower(), info()); 2441: set_unbounded(UPPER, tmp.upper(), tmp.info()); 2441: tmp.intersect_assign(refinement); 2441: lower_extend(); 2441: intersect_assign(refinement); 2441: return join_assign(tmp); 2441: } 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: void ascii_dump(std::ostream& s) const; 2441: bool ascii_load(std::istream& s); 2441: 2441: bool OK() const { 2441: if (!Info::may_be_empty && is_empty()) { 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: if (is_open(LOWER, lower(), info())) { 2441: if (is_plus_infinity(LOWER, lower(), info())) { 2441: 2441: 2441: 2441: } 2441: } 2441: else if (!Info::may_contain_infinity 2441: && (is_minus_infinity(LOWER, lower(), info()) 2441: || is_plus_infinity(LOWER, lower(), info()))) { 2441: 2441: 2441: 2441: return false; 2441: } 2441: if (!info().get_boundary_property(LOWER, SPECIAL)) { 2441: if (is_not_a_number(lower())) { 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: if (is_open(UPPER, upper(), info())) { 2441: if (is_minus_infinity(UPPER, upper(), info())) { 2441: 2441: 2441: 2441: } 2441: } 2441: else if (!Info::may_contain_infinity 2441: && (is_minus_infinity(UPPER, upper(), info()) 2441: || is_plus_infinity(UPPER, upper(), info()))) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: if (!info().get_boundary_property(UPPER, SPECIAL)) { 2441: if (is_not_a_number(upper())) { 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: Interval() { 2441: } 2441: 2441: template 2441: explicit Interval(const T& x) { 2441: assign(x); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: explicit Interval(const char* s); 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: contains(const T& y) const; 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: strictly_contains(const T& y) const; 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: is_disjoint_from(const T& y) const; 2441: 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: assign(const From& x); 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: can_be_exactly_joined_to(const Type& x) const; 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: join_assign(const From& x); 2441: 2441: template 2441: typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: join_assign(const From1& x, const From2& y); 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: intersect_assign(const From& x); 2441: 2441: template 2441: typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: intersect_assign(const From1& x, const From2& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: difference_assign(const From& x); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: difference_assign(const From1& x, const From2& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: lower_approximation_difference_assign(const From& x); 2441: # 685 "../../src/Interval_defs.hh" 2441: template 2441: typename Enable_If::value, bool>::type 2441: simplify_using_context_assign(const From& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, void>::type 2441: empty_intersection_assign(const From& y); 2441: # 712 "../../src/Interval_defs.hh" 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: refine_existential(Relation_Symbol rel, const From& x); 2441: # 732 "../../src/Interval_defs.hh" 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: refine_universal(Relation_Symbol rel, const From& x); 2441: 2441: template 2441: typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: neg_assign(const From& x); 2441: 2441: template 2441: typename Enable_If<((Is_Singleton::value || Is_Interval::value) 2441: && (Is_Singleton::value || Is_Interval::value)), I_Result>::type 2441: add_assign(const From1& x, const From2& y); 2441: 2441: template 2441: typename Enable_If<((Is_Singleton::value || Is_Interval::value) 2441: && (Is_Singleton::value || Is_Interval::value)), I_Result>::type 2441: sub_assign(const From1& x, const From2& y); 2441: 2441: template 2441: typename Enable_If<((Is_Singleton::value || Is_Interval::value) 2441: && (Is_Singleton::value || Is_Interval::value)), I_Result>::type 2441: mul_assign(const From1& x, const From2& y); 2441: 2441: template 2441: typename Enable_If<((Is_Singleton::value || Is_Interval::value) 2441: && (Is_Singleton::value || Is_Interval::value)), I_Result>::type 2441: div_assign(const From1& x, const From2& y); 2441: 2441: template 2441: typename Enable_If::value, void>::type 2441: CC76_widening_assign(const From& y, Iterator first, Iterator last); 2441: 2441: private: 2441: Boundary lower_; 2441: Boundary upper_; 2441: }; 2441: 2441: 2441: 2441: template 2441: void swap(Interval& x, Interval& y); 2441: 2441: } 2441: 2441: # 1 "../../src/Interval_inlines.hh" 1 2441: # 27 "../../src/Interval_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline memory_size_type 2441: Interval::external_memory_in_bytes() const { 2441: return Parma_Polyhedra_Library::external_memory_in_bytes(lower()) 2441: + Parma_Polyhedra_Library::external_memory_in_bytes(upper()); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Interval::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline void 2441: Interval::m_swap(Interval& y) { 2441: using std::swap; 2441: swap(lower(), y.lower()); 2441: swap(upper(), y.upper()); 2441: swap(info(), y.info()); 2441: } 2441: 2441: template 2441: inline bool 2441: f_is_empty(const Interval& x) { 2441: return x.is_empty(); 2441: } 2441: template 2441: inline bool 2441: f_is_singleton(const Interval& x) { 2441: return x.is_singleton(); 2441: } 2441: template 2441: inline int 2441: infinity_sign(const Interval& x) { 2441: return x.infinity_sign(); 2441: } 2441: 2441: namespace Interval_NS { 2441: 2441: template 2441: inline const Boundary& 2441: f_lower(const Interval& x) { 2441: return x.lower(); 2441: } 2441: template 2441: inline const Boundary& 2441: f_upper(const Interval& x) { 2441: return x.upper(); 2441: } 2441: template 2441: inline const Info& 2441: f_info(const Interval& x) { 2441: return x.info(); 2441: } 2441: 2441: struct Scalar_As_Interval_Policy { 2441: enum const_bool_value_may_be_empty { may_be_empty = (true) }; 2441: enum const_bool_value_may_contain_infinity { may_contain_infinity = (true) }; 2441: enum const_bool_value_check_inexact { check_inexact = (false) }; 2441: }; 2441: 2441: typedef Interval_Info_Null 2441: Scalar_As_Interval_Info; 2441: 2441: const Scalar_As_Interval_Info SCALAR_INFO; 2441: 2441: typedef Interval_Info_Null_Open 2441: Scalar_As_Interval_Info_Open; 2441: 2441: template 2441: inline typename Enable_If::value, const T&>::type 2441: f_lower(const T& x) { 2441: return x; 2441: } 2441: template 2441: inline typename Enable_If::value, const T&>::type 2441: f_upper(const T& x) { 2441: return x; 2441: } 2441: template 2441: inline typename Enable_If::value, 2441: const Scalar_As_Interval_Info&>::type 2441: f_info(const T&) { 2441: return SCALAR_INFO; 2441: } 2441: template 2441: inline typename Enable_If::value, 2441: Scalar_As_Interval_Info_Open>::type 2441: f_info(const T&, bool open) { 2441: return Scalar_As_Interval_Info_Open(open); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: f_is_empty(const T& x) { 2441: return is_not_a_number(x); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: f_is_singleton(const T& x) { 2441: return !f_is_empty(x); 2441: } 2441: 2441: } 2441: 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: is_singleton_integer(const T& x) { 2441: return is_singleton(x) && is_integer(f_lower(x)); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: check_empty_arg(const T& x) { 2441: if (f_info(x).may_be_empty) { 2441: return f_is_empty(x); 2441: } 2441: else { 2441: ((void) 0); 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Interval::value 2441: || Is_Interval::value)), 2441: bool>::type 2441: operator==(const T1& x, const T2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x)) { 2441: return check_empty_arg(y); 2441: } 2441: else if (check_empty_arg(y)) { 2441: return false; 2441: } 2441: return eq(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y)) 2441: && eq(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y)); 2441: } 2441: 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Interval::value 2441: || Is_Interval::value)), 2441: bool>::type 2441: operator!=(const T1& x, const T2& y) { 2441: return !(x == y); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: Interval::contains(const T& y) const { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(y)) { 2441: return true; 2441: } 2441: if (check_empty_arg(*this)) { 2441: return false; 2441: } 2441: return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y)) 2441: && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: Interval::strictly_contains(const T& y) const { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(y)) { 2441: return !check_empty_arg(*this); 2441: } 2441: if (check_empty_arg(*this)) { 2441: return false; 2441: } 2441: return (lt(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y)) 2441: && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y))) 2441: || (le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y)) 2441: && gt(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y))); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: Interval::is_disjoint_from(const T& y) const { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(*this) || check_empty_arg(y)) { 2441: return true; 2441: } 2441: return gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y)) 2441: || lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y)); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: Interval::assign(const From& x) { 2441: ((void) 0); 2441: if (check_empty_arg(x)) { 2441: return assign(EMPTY); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: const Result rl = Boundary_NS::assign(LOWER, lower(), to_info, 2441: LOWER, f_lower(x), f_info(x)); 2441: const Result ru = Boundary_NS::assign(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x)); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: Interval::join_assign(const From& x) { 2441: ((void) 0); 2441: if (check_empty_arg(*this)) { 2441: return assign(x); 2441: } 2441: if (check_empty_arg(x)) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: Result rl; 2441: Result ru; 2441: rl = min_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)); 2441: ru = max_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: Interval::join_assign(const From1& x, const From2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x)) { 2441: return assign(y); 2441: } 2441: if (check_empty_arg(y)) { 2441: return assign(x); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: Result rl; 2441: Result ru; 2441: rl = min_assign(LOWER, lower(), to_info, 2441: LOWER, f_lower(x), f_info(x), 2441: LOWER, f_lower(y), f_info(y)); 2441: ru = max_assign(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), 2441: UPPER, f_upper(y), f_info(y)); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, bool>::type 2441: Interval::can_be_exactly_joined_to(const Type& x) const { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b; Boundary& b = holder_b.item(); 2441: if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) { 2441: b = lower(); 2441: return eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x)); 2441: } 2441: else if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) { 2441: b = upper(); 2441: return eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x)); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: Interval::intersect_assign(const From& x) { 2441: ((void) 0); 2441: max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)); 2441: min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)); 2441: ((void) 0); 2441: return I_ANY; 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: Interval::intersect_assign(const From1& x, 2441: const From2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: max_assign(LOWER, lower(), to_info, 2441: LOWER, f_lower(x), f_info(x), 2441: LOWER, f_lower(y), f_info(y)); 2441: min_assign(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), 2441: UPPER, f_upper(y), f_info(y)); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return I_NOT_EMPTY; 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: Interval::difference_assign(const From& x) { 2441: ((void) 0); 2441: if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)) 2441: || gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: bool nl = ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)); 2441: bool nu = le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)); 2441: Result rl = V_EQ; 2441: Result ru = V_EQ; 2441: if (nl) { 2441: if (nu) { 2441: return assign(EMPTY); 2441: } 2441: else { 2441: info().clear_boundary_properties(LOWER); 2441: rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)); 2441: } 2441: } 2441: else if (nu) { 2441: info().clear_boundary_properties(UPPER); 2441: ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)); 2441: } 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: Interval::difference_assign(const From1& x, 2441: const From2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y)) 2441: || gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y))) { 2441: return assign(x); 2441: } 2441: bool nl = ge(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y)); 2441: bool nu = le(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y)); 2441: Result rl = V_EQ; 2441: Result ru = V_EQ; 2441: if (nl) { 2441: if (nu) { 2441: return assign(EMPTY); 2441: } 2441: else { 2441: rl = complement(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y)); 2441: ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)); 2441: } 2441: } 2441: else if (nu) { 2441: ru = complement(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y)); 2441: rl = Boundary_NS::assign(LOWER, lower(), info(), 2441: LOWER, f_lower(x), f_info(x)); 2441: } 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: Interval 2441: ::refine_existential(Relation_Symbol rel, const From& x) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x)) { 2441: return assign(EMPTY); 2441: } 2441: switch (rel) { 2441: case LESS_THAN: 2441: { 2441: if (lt(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(UPPER); 2441: Boundary_NS::assign(UPPER, upper(), info(), 2441: UPPER, f_upper(x), f_info(x), true); 2441: return I_ANY; 2441: } 2441: case LESS_OR_EQUAL: 2441: { 2441: if (le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(UPPER); 2441: Boundary_NS::assign(UPPER, upper(), info(), 2441: UPPER, f_upper(x), f_info(x)); 2441: return I_ANY; 2441: } 2441: case GREATER_THAN: 2441: { 2441: if (gt(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(LOWER); 2441: Boundary_NS::assign(LOWER, lower(), info(), 2441: LOWER, f_lower(x), f_info(x), true); 2441: return I_ANY; 2441: } 2441: case GREATER_OR_EQUAL: 2441: { 2441: if (ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(LOWER); 2441: Boundary_NS::assign(LOWER, lower(), info(), 2441: LOWER, f_lower(x), f_info(x)); 2441: return I_ANY; 2441: } 2441: case EQUAL: 2441: return intersect_assign(x); 2441: case NOT_EQUAL: 2441: { 2441: if (!f_is_singleton(x)) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: if (check_empty_arg(*this)) { 2441: return I_EMPTY; 2441: } 2441: if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x))) { 2441: remove_inf(); 2441: } 2441: if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x))) { 2441: remove_sup(); 2441: } 2441: return I_ANY; 2441: } 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return I_EMPTY; 2441: } 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: Interval::refine_universal(Relation_Symbol rel, 2441: const From& x) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x)) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: switch (rel) { 2441: case LESS_THAN: 2441: { 2441: if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(UPPER); 2441: Result ru = Boundary_NS::assign(UPPER, upper(), info(), 2441: LOWER, f_lower(x), SCALAR_INFO, 2441: !is_open(LOWER, f_lower(x), f_info(x))); 2441: (void)(ru); 2441: return I_ANY; 2441: } 2441: case LESS_OR_EQUAL: 2441: { 2441: if (le(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(UPPER); 2441: Result ru = Boundary_NS::assign(UPPER, upper(), info(), 2441: LOWER, f_lower(x), SCALAR_INFO); 2441: (void)(ru); 2441: return I_ANY; 2441: } 2441: case GREATER_THAN: 2441: { 2441: if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(LOWER); 2441: Result rl = Boundary_NS::assign(LOWER, lower(), info(), 2441: UPPER, f_upper(x), SCALAR_INFO, 2441: !is_open(UPPER, f_upper(x), f_info(x))); 2441: (void)(rl); 2441: return I_ANY; 2441: } 2441: case GREATER_OR_EQUAL: 2441: { 2441: if (ge(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) { 2441: return combine(V_EQ, V_EQ); 2441: } 2441: info().clear_boundary_properties(LOWER); 2441: Result rl = Boundary_NS::assign(LOWER, lower(), info(), 2441: UPPER, f_upper(x), SCALAR_INFO); 2441: (void)(rl); 2441: return I_ANY; 2441: } 2441: case EQUAL: 2441: if (!f_is_singleton(x)) { 2441: return assign(EMPTY); 2441: } 2441: return intersect_assign(x); 2441: case NOT_EQUAL: 2441: { 2441: if (check_empty_arg(*this)) { 2441: return I_EMPTY; 2441: } 2441: if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x))) { 2441: remove_inf(); 2441: } 2441: if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x))) { 2441: remove_sup(); 2441: } 2441: return I_ANY; 2441: } 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return I_EMPTY; 2441: } 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If::value 2441: || Is_Interval::value, I_Result>::type 2441: Interval::neg_assign(const From& x) { 2441: ((void) 0); 2441: if (check_empty_arg(x)) { 2441: return assign(EMPTY); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: Result rl; 2441: Result ru; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_lower; To_Boundary& to_lower = holder_to_lower.item(); 2441: rl = Boundary_NS::neg_assign(LOWER, to_lower, to_info, UPPER, f_upper(x), f_info(x)); 2441: ru = Boundary_NS::neg_assign(UPPER, upper(), to_info, LOWER, f_lower(x), f_info(x)); 2441: assign_or_swap(lower(), to_lower); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: Interval::add_assign(const From1& x, const From2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x) || check_empty_arg(y)) { 2441: return assign(EMPTY); 2441: } 2441: int inf_sign = Parma_Polyhedra_Library::infinity_sign(x); 2441: if (inf_sign != 0) { 2441: if (Parma_Polyhedra_Library::infinity_sign(y) == -inf_sign) { 2441: return assign(EMPTY); 2441: } 2441: } 2441: else { 2441: inf_sign = Parma_Polyhedra_Library::infinity_sign(y); 2441: } 2441: if (inf_sign < 0) { 2441: return assign(MINUS_INFINITY); 2441: } 2441: else if (inf_sign > 0) { 2441: return assign(PLUS_INFINITY); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: Result rl = Boundary_NS::add_assign(LOWER, lower(), to_info, 2441: LOWER, f_lower(x), f_info(x), 2441: LOWER, f_lower(y), f_info(y)); 2441: Result ru = Boundary_NS::add_assign(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), 2441: UPPER, f_upper(y), f_info(y)); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: Interval::sub_assign(const From1& x, const From2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x) || check_empty_arg(y)) { 2441: return assign(EMPTY); 2441: } 2441: int inf_sign = Parma_Polyhedra_Library::infinity_sign(x); 2441: if (inf_sign != 0) { 2441: if (Parma_Polyhedra_Library::infinity_sign(y) == inf_sign) { 2441: return assign(EMPTY); 2441: } 2441: } 2441: else { 2441: inf_sign = -Parma_Polyhedra_Library::infinity_sign(y); 2441: } 2441: if (inf_sign < 0) { 2441: return assign(MINUS_INFINITY); 2441: } 2441: else if (inf_sign > 0) { 2441: return assign(PLUS_INFINITY); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: Result rl; 2441: Result ru; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_lower; To_Boundary& to_lower = holder_to_lower.item(); 2441: rl = Boundary_NS::sub_assign(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), 2441: UPPER, f_upper(y), f_info(y)); 2441: ru = Boundary_NS::sub_assign(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), 2441: LOWER, f_lower(y), f_info(y)); 2441: assign_or_swap(lower(), to_lower); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: # 708 "../../src/Interval_inlines.hh" 2441: template 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: Interval::mul_assign(const From1& x, const From2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x) || check_empty_arg(y)) { 2441: return assign(EMPTY); 2441: } 2441: int xls = sgn_b(LOWER, f_lower(x), f_info(x)); 2441: int xus = (xls > 0) ? 1 : sgn_b(UPPER, f_upper(x), f_info(x)); 2441: int yls = sgn_b(LOWER, f_lower(y), f_info(y)); 2441: int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y)); 2441: int inf_sign = Parma_Polyhedra_Library::infinity_sign(x); 2441: int ls; 2441: int us; 2441: if (inf_sign != 0) { 2441: ls = yls; 2441: us = yus; 2441: goto inf; 2441: } 2441: else { 2441: inf_sign = Parma_Polyhedra_Library::infinity_sign(y); 2441: if (inf_sign != 0) { 2441: ls = xls; 2441: us = xus; 2441: inf: 2441: if (ls == 0 && us == 0) { 2441: return assign(EMPTY); 2441: } 2441: if (ls == -us) { 2441: return set_infinities(); 2441: } 2441: if (ls < 0 || us < 0) { 2441: inf_sign = -inf_sign; 2441: } 2441: if (inf_sign < 0) { 2441: return assign(MINUS_INFINITY); 2441: } 2441: else { 2441: return assign(PLUS_INFINITY); 2441: } 2441: } 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: Result rl; 2441: Result ru; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_lower; To_Boundary& to_lower = holder_to_lower.item(); 2441: 2441: if (xls >= 0) { 2441: if (yls >= 0) { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: } 2441: else if (yus <= 0) { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: } 2441: else { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: } 2441: } 2441: else if (xus <= 0) { 2441: if (yls >= 0) { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: } 2441: else if (yus <= 0) { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: } 2441: else { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: } 2441: } 2441: else if (yls >= 0) { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: } 2441: else if (yus <= 0) { 2441: 2441: rl = mul_assign_z(LOWER, to_lower, to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: ru = mul_assign_z(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; To_Boundary& tmp = holder_tmp.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp_info; To_Info& tmp_info = holder_tmp_info.item(); 2441: tmp_info.clear(); 2441: Result tmp_r; 2441: tmp_r = Boundary_NS::mul_assign(LOWER, tmp, tmp_info, 2441: UPPER, f_upper(x), f_info(x), 2441: LOWER, f_lower(y), f_info(y)); 2441: rl = Boundary_NS::mul_assign(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), 2441: UPPER, f_upper(y), f_info(y)); 2441: if (gt(LOWER, to_lower, to_info, LOWER, tmp, tmp_info)) { 2441: to_lower = tmp; 2441: rl = tmp_r; 2441: } 2441: tmp_info.clear(); 2441: tmp_r = Boundary_NS::mul_assign(UPPER, tmp, tmp_info, 2441: UPPER, f_upper(x), f_info(x), 2441: UPPER, f_upper(y), f_info(y)); 2441: ru = Boundary_NS::mul_assign(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), 2441: LOWER, f_lower(y), f_info(y)); 2441: if (lt(UPPER, upper(), to_info, UPPER, tmp, tmp_info)) { 2441: upper() = tmp; 2441: ru = tmp_r; 2441: } 2441: } 2441: assign_or_swap(lower(), to_lower); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: # 883 "../../src/Interval_inlines.hh" 2441: template 2441: template 2441: inline typename Enable_If<((Is_Singleton::value 2441: || Is_Interval::value) 2441: && (Is_Singleton::value 2441: || Is_Interval::value)), I_Result>::type 2441: Interval::div_assign(const From1& x, const From2& y) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (check_empty_arg(x) || check_empty_arg(y)) { 2441: return assign(EMPTY); 2441: } 2441: int yls = sgn_b(LOWER, f_lower(y), f_info(y)); 2441: int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y)); 2441: if (yls == 0 && yus == 0) { 2441: return assign(EMPTY); 2441: } 2441: int inf_sign = Parma_Polyhedra_Library::infinity_sign(x); 2441: if (inf_sign != 0) { 2441: if (Parma_Polyhedra_Library::infinity_sign(y) != 0) { 2441: return assign(EMPTY); 2441: } 2441: if (yls == -yus) { 2441: return set_infinities(); 2441: } 2441: if (yls < 0 || yus < 0) { 2441: inf_sign = -inf_sign; 2441: } 2441: if (inf_sign < 0) { 2441: return assign(MINUS_INFINITY); 2441: } 2441: else { 2441: return assign(PLUS_INFINITY); 2441: } 2441: } 2441: int xls = sgn_b(LOWER, f_lower(x), f_info(x)); 2441: int xus = (xls > 0) ? 1 : sgn_b(UPPER, f_upper(x), f_info(x)); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_info; To_Info& to_info = holder_to_info.item(); 2441: to_info.clear(); 2441: Result rl; 2441: Result ru; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_to_lower; To_Boundary& to_lower = holder_to_lower.item(); 2441: if (yls >= 0) { 2441: if (xls >= 0) { 2441: rl = div_assign_z(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: ru = div_assign_z(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: } 2441: else if (xus <= 0) { 2441: rl = div_assign_z(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: ru = div_assign_z(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: } 2441: else { 2441: rl = div_assign_z(LOWER, to_lower, to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: ru = div_assign_z(UPPER, upper(), to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: } 2441: } 2441: else if (yus <= 0) { 2441: if (xls >= 0) { 2441: rl = div_assign_z(LOWER, to_lower, to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: ru = div_assign_z(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: } 2441: else if (xus <= 0) { 2441: rl = div_assign_z(LOWER, to_lower, to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: LOWER, f_lower(y), f_info(y), yls); 2441: ru = div_assign_z(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: } 2441: else { 2441: rl = div_assign_z(LOWER, to_lower, to_info, 2441: UPPER, f_upper(x), f_info(x), xus, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: ru = div_assign_z(UPPER, upper(), to_info, 2441: LOWER, f_lower(x), f_info(x), xls, 2441: UPPER, f_upper(y), f_info(y), yus); 2441: } 2441: } 2441: else { 2441: return static_cast(assign(UNIVERSE) | I_SINGULARITIES); 2441: } 2441: assign_or_swap(lower(), to_lower); 2441: assign_or_swap(info(), to_info); 2441: ((void) 0); 2441: return combine(rl, ru); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator+(const Interval& x, const T& y) { 2441: Interval z; 2441: z.add_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator+(const T& x, const Interval& y) { 2441: Interval z; 2441: z.add_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline Interval 2441: operator+(const Interval& x, const Interval& y) { 2441: Interval z; 2441: z.add_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator-(const Interval& x, const T& y) { 2441: Interval z; 2441: z.sub_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator-(const T& x, const Interval& y) { 2441: Interval z; 2441: z.sub_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline Interval 2441: operator-(const Interval& x, const Interval& y) { 2441: Interval z; 2441: z.sub_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator*(const Interval& x, const T& y) { 2441: Interval z; 2441: z.mul_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator*(const T& x, const Interval& y) { 2441: Interval z; 2441: z.mul_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline Interval 2441: operator*(const Interval& x, const Interval& y) { 2441: Interval z; 2441: z.mul_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator/(const Interval& x, const T& y) { 2441: Interval z; 2441: z.div_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, Interval >::type 2441: operator/(const T& x, const Interval& y) { 2441: Interval z; 2441: z.div_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline Interval 2441: operator/(const Interval& x, const Interval& y) { 2441: Interval z; 2441: z.div_assign(x, y); 2441: return z; 2441: } 2441: 2441: template 2441: inline std::ostream& 2441: operator<<(std::ostream& os, const Interval& x) { 2441: if (check_empty_arg(x)) { 2441: return os << "[]"; 2441: } 2441: if (x.is_singleton()) { 2441: output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED); 2441: return os; 2441: } 2441: os << (x.lower_is_open() ? "(" : "["); 2441: if (x.info().get_boundary_property(LOWER, SPECIAL)) { 2441: os << "-inf"; 2441: } 2441: else { 2441: output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED); 2441: } 2441: os << ", "; 2441: if (x.info().get_boundary_property(UPPER, SPECIAL)) { 2441: os << "+inf"; 2441: } 2441: else { 2441: output(os, x.upper(), Numeric_Format(), ROUND_NOT_NEEDED); 2441: } 2441: os << (x.upper_is_open() ? ")" : "]"); 2441: return os; 2441: } 2441: 2441: template 2441: inline void 2441: Interval::ascii_dump(std::ostream& s) const { 2441: using Parma_Polyhedra_Library::ascii_dump; 2441: s << "info "; 2441: info().ascii_dump(s); 2441: s << " lower "; 2441: ascii_dump(s, lower()); 2441: s << " upper "; 2441: ascii_dump(s, upper()); 2441: s << '\n'; 2441: } 2441: 2441: template 2441: inline bool 2441: Interval::ascii_load(std::istream& s) { 2441: using Parma_Polyhedra_Library::ascii_load; 2441: std::string str; 2441: if (!(s >> str) || str != "info") { 2441: return false; 2441: } 2441: if (!info().ascii_load(s)) { 2441: return false; 2441: } 2441: if (!(s >> str) || str != "lower") { 2441: return false; 2441: } 2441: if (!ascii_load(s, lower())) { 2441: return false; 2441: } 2441: if (!(s >> str) || str != "upper") { 2441: return false; 2441: } 2441: if (!ascii_load(s, upper())) { 2441: return false; 2441: } 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template struct Select_Temp_Boundary_Type; 2441: 2441: template 2441: struct Select_Temp_Boundary_Type { 2441: typedef Interval_Boundary_Type type; 2441: }; 2441: 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef double type; 2441: }; 2441: 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: template <> 2441: struct Select_Temp_Boundary_Type { 2441: typedef signed long long type; 2441: }; 2441: 2441: 2441: template 2441: inline void 2441: swap(Interval& x, Interval& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 779 "../../src/Interval_defs.hh" 2 2441: # 1 "../../src/Interval_templates.hh" 1 2441: # 29 "../../src/Interval_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: template 2441: typename Enable_If::value, I_Result>::type 2441: Interval::lower_extend(const C& c) { 2441: ((void) 0); 2441: bool open; 2441: switch (c.rel()) { 2441: case V_LGE: 2441: return lower_extend(); 2441: case V_NAN: 2441: return I_NOT_EMPTY | I_EXACT | I_UNCHANGED; 2441: case V_GT: 2441: open = true; 2441: break; 2441: case V_GE: 2441: case V_EQ: 2441: open = false; 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return I_NOT_EMPTY | I_EXACT | I_UNCHANGED; 2441: } 2441: min_assign(LOWER, lower(), info(), LOWER, c.value(), f_info(c.value(), open)); 2441: ((void) 0); 2441: return I_ANY; 2441: } 2441: 2441: template 2441: template 2441: typename Enable_If::value, I_Result>::type 2441: Interval::upper_extend(const C& c) { 2441: ((void) 0); 2441: bool open; 2441: switch (c.rel()) { 2441: case V_LGE: 2441: return lower_extend(); 2441: case V_NAN: 2441: return I_NOT_EMPTY | I_EXACT | I_UNCHANGED; 2441: case V_LT: 2441: open = true; 2441: break; 2441: case V_LE: 2441: case V_EQ: 2441: open = false; 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return I_NOT_EMPTY | I_EXACT | I_UNCHANGED; 2441: } 2441: max_assign(UPPER, upper(), info(), UPPER, c.value(), f_info(c.value(), open)); 2441: ((void) 0); 2441: return I_ANY; 2441: } 2441: 2441: template 2441: template 2441: typename Enable_If::value, void>::type 2441: Interval::CC76_widening_assign(const From& y, 2441: Iterator first, 2441: Iterator last) { 2441: 2441: ((void) 0); 2441: Interval& x = *this; 2441: 2441: 2441: if (!x.upper_is_boundary_infinity()) { 2441: Boundary& x_ub = x.upper(); 2441: const Boundary& y_ub = y.upper(); 2441: ((void) 0); 2441: if (y_ub < x_ub) { 2441: Iterator k = std::lower_bound(first, last, x_ub); 2441: if (k != last) { 2441: if (x_ub < *k) { 2441: x_ub = *k; 2441: } 2441: } 2441: else { 2441: x.upper_extend(); 2441: } 2441: } 2441: } 2441: 2441: 2441: if (!x.lower_is_boundary_infinity()) { 2441: Boundary& x_lb = x.lower(); 2441: const Boundary& y_lb = y.lower(); 2441: ((void) 0); 2441: if (y_lb > x_lb) { 2441: Iterator k = std::lower_bound(first, last, x_lb); 2441: if (k != last) { 2441: if (x_lb < *k) { 2441: if (k != first) { 2441: x_lb = *--k; 2441: } 2441: else { 2441: x.lower_extend(); 2441: } 2441: } 2441: } 2441: else { 2441: if (k != first) { 2441: x_lb = *--k; 2441: } 2441: else { 2441: x.lower_extend(); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: Interval::Interval(const char* s) { 2441: 2441: Boundary lower_bound; 2441: Result lower_r = assign_r(lower_bound, s, ROUND_DOWN); 2441: if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) { 2441: throw std::invalid_argument("PPL::Interval(const char* s)" 2441: " with s invalid"); 2441: } 2441: lower_r = result_relation_class(lower_r); 2441: 2441: 2441: Boundary upper_bound; 2441: Result upper_r = assign_r(upper_bound, s, ROUND_UP); 2441: ((void) 0); 2441: upper_r = result_relation_class(upper_r); 2441: 2441: 2441: bool lower_open = false; 2441: bool upper_open = false; 2441: bool lower_boundary_infinity = false; 2441: bool upper_boundary_infinity = false; 2441: switch (lower_r) { 2441: case V_EQ: 2441: case V_GE: 2441: break; 2441: case V_GT: 2441: lower_open = true; 2441: break; 2441: case V_GT_MINUS_INFINITY: 2441: lower_open = true; 2441: 2441: case V_EQ_MINUS_INFINITY: 2441: lower_boundary_infinity = true; 2441: break; 2441: case V_EQ_PLUS_INFINITY: 2441: case V_LT_PLUS_INFINITY: 2441: if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY) { 2441: assign(UNIVERSE); 2441: } 2441: else { 2441: assign(EMPTY); 2441: } 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: switch (upper_r) { 2441: case V_EQ: 2441: case V_LE: 2441: break; 2441: case V_LT: 2441: upper_open = true; 2441: break; 2441: case V_EQ_MINUS_INFINITY: 2441: case V_GT_MINUS_INFINITY: 2441: if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY) { 2441: assign(UNIVERSE); 2441: } 2441: else { 2441: assign(EMPTY); 2441: } 2441: break; 2441: case V_LT_PLUS_INFINITY: 2441: upper_open = true; 2441: 2441: case V_EQ_PLUS_INFINITY: 2441: upper_boundary_infinity = true; 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: if (!lower_boundary_infinity 2441: && !upper_boundary_infinity 2441: && (lower_bound > upper_bound 2441: || (lower_open && lower_bound == upper_bound))) { 2441: assign(EMPTY); 2441: } 2441: else { 2441: if (lower_boundary_infinity) { 2441: set_minus_infinity(LOWER, lower(), info(), lower_open); 2441: } 2441: else { 2441: Boundary_NS::assign(LOWER, lower(), info(), 2441: LOWER, lower_bound, SCALAR_INFO, lower_open); 2441: } 2441: if (upper_boundary_infinity) { 2441: set_plus_infinity(UPPER, upper(), info(), upper_open); 2441: } 2441: else { 2441: Boundary_NS::assign(UPPER, upper(), info(), 2441: UPPER, upper_bound, SCALAR_INFO, upper_open); 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: inline std::istream& 2441: operator>>(std::istream& is, Interval& x) { 2441: Boundary lower_bound; 2441: Boundary upper_bound; 2441: bool lower_boundary_infinity = false; 2441: bool upper_boundary_infinity = false; 2441: bool lower_open = false; 2441: bool upper_open = false; 2441: Result lower_r; 2441: Result upper_r; 2441: 2441: 2441: char c; 2441: do { 2441: if (!is.get(c)) { 2441: goto fail; 2441: } 2441: } while (is_space(c)); 2441: 2441: 2441: if (c == '(') { 2441: lower_open = true; 2441: } 2441: else if (c == '[') { 2441: if (!is.get(c)) { 2441: goto fail; 2441: } 2441: if (c == ']') { 2441: 2441: x.assign(EMPTY); 2441: return is; 2441: } 2441: else { 2441: is.unget(); 2441: } 2441: } 2441: else { 2441: goto unexpected_char; 2441: } 2441: 2441: 2441: lower_r = input(lower_bound, is, ROUND_DOWN); 2441: if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) { 2441: goto fail; 2441: } 2441: lower_r = result_relation_class(lower_r); 2441: 2441: 2441: do { 2441: if (!is.get(c)) { 2441: goto fail; 2441: } 2441: } while (is_space(c)); 2441: if (c != ',') { 2441: goto unexpected_char; 2441: } 2441: 2441: 2441: upper_r = input(upper_bound, is, ROUND_UP); 2441: if (upper_r == V_CVT_STR_UNK || upper_r == V_NAN) { 2441: goto fail; 2441: } 2441: upper_r = result_relation_class(upper_r); 2441: 2441: 2441: do { 2441: if (!is.get(c)) { 2441: goto fail; 2441: } 2441: } while (is_space(c)); 2441: if (c == ')') { 2441: upper_open = true; 2441: } 2441: else if (c != ']') { 2441: unexpected_char: 2441: is.unget(); 2441: fail: 2441: is.setstate(std::ios::failbit); 2441: return is; 2441: } 2441: 2441: 2441: switch (lower_r) { 2441: case V_EQ: 2441: case V_GE: 2441: break; 2441: case V_GT: 2441: lower_open = true; 2441: break; 2441: case V_GT_MINUS_INFINITY: 2441: lower_open = true; 2441: 2441: case V_EQ_MINUS_INFINITY: 2441: lower_boundary_infinity = true; 2441: break; 2441: case V_EQ_PLUS_INFINITY: 2441: case V_LT_PLUS_INFINITY: 2441: if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY) { 2441: x.assign(UNIVERSE); 2441: } 2441: else { 2441: x.assign(EMPTY); 2441: } 2441: return is; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: switch (upper_r) { 2441: case V_EQ: 2441: case V_LE: 2441: break; 2441: case V_LT: 2441: upper_open = true; 2441: break; 2441: case V_GT_MINUS_INFINITY: 2441: upper_open = true; 2441: 2441: case V_EQ_MINUS_INFINITY: 2441: if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY) { 2441: x.assign(UNIVERSE); 2441: } 2441: else { 2441: x.assign(EMPTY); 2441: } 2441: return is; 2441: case V_EQ_PLUS_INFINITY: 2441: case V_LT_PLUS_INFINITY: 2441: upper_boundary_infinity = true; 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: if (!lower_boundary_infinity 2441: && !upper_boundary_infinity 2441: && (lower_bound > upper_bound 2441: || (lower_open && lower_bound == upper_bound))) { 2441: x.assign(EMPTY); 2441: } 2441: else { 2441: if (lower_boundary_infinity) { 2441: set_minus_infinity(LOWER, x.lower(), x.info(), lower_open); 2441: } 2441: else { 2441: assign(LOWER, x.lower(), x.info(), 2441: LOWER, lower_bound, SCALAR_INFO, lower_open); 2441: } 2441: if (upper_boundary_infinity) { 2441: set_plus_infinity(UPPER, x.upper(), x.info(), upper_open); 2441: } 2441: else { 2441: assign(UPPER, x.upper(), x.info(), 2441: UPPER, upper_bound, SCALAR_INFO, upper_open); 2441: } 2441: } 2441: return is; 2441: } 2441: 2441: template 2441: template 2441: typename Enable_If::value, bool>::type 2441: Interval::simplify_using_context_assign(const From& y) { 2441: 2441: if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) { 2441: lower_extend(); 2441: return false; 2441: } 2441: if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) { 2441: upper_extend(); 2441: return false; 2441: } 2441: 2441: if (!upper_is_boundary_infinity() && !y.upper_is_boundary_infinity() 2441: && y.upper() <= upper()) { 2441: upper_extend(); 2441: } 2441: 2441: if (!lower_is_boundary_infinity() && !y.lower_is_boundary_infinity() 2441: && y.lower() >= lower()) { 2441: lower_extend(); 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: template 2441: typename Enable_If::value, void>::type 2441: Interval::empty_intersection_assign(const From&) { 2441: 2441: assign(EMPTY); 2441: } 2441: 2441: } 2441: # 780 "../../src/Interval_defs.hh" 2 2441: # 28 "../../src/Integer_Interval.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: struct Integer_Interval_Info_Policy { 2441: enum const_bool_value_store_special { store_special = (true) }; 2441: enum const_bool_value_store_open { store_open = (false) }; 2441: enum const_bool_value_cache_empty { cache_empty = (true) }; 2441: enum const_bool_value_cache_singleton { cache_singleton = (true) }; 2441: enum anonymous_enum_next_bit { next_bit = (0) }; 2441: enum const_bool_value_may_be_empty { may_be_empty = (true) }; 2441: enum const_bool_value_may_contain_infinity { may_contain_infinity = (false) }; 2441: enum const_bool_value_check_empty_result { check_empty_result = (false) }; 2441: enum const_bool_value_check_inexact { check_inexact = (false) }; 2441: }; 2441: 2441: typedef Interval_Info_Bitset Integer_Interval_Info; 2441: 2441: 2441: 2441: 2441: typedef Interval Integer_Interval; 2441: 2441: } 2441: # 7 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/initializer.hh" 1 2441: # 27 "../../src/initializer.hh" 2441: # 1 "../../src/Init_defs.hh" 1 2441: # 30 "../../src/Init_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 40 "../../src/Init_defs.hh" 2441: void set_rounding_for_PPL(); 2441: # 55 "../../src/Init_defs.hh" 2441: void restore_pre_PPL_rounding(); 2441: 2441: } 2441: # 72 "../../src/Init_defs.hh" 2441: class Parma_Polyhedra_Library::Init { 2441: public: 2441: 2441: Init(); 2441: 2441: 2441: ~Init(); 2441: 2441: private: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const unsigned DEFAULT_IRRATIONAL_PRECISION = 128U; 2441: 2441: 2441: static unsigned int count; 2441: static fpu_rounding_direction_type old_rounding_direction; 2441: 2441: friend void set_rounding_for_PPL(); 2441: friend void restore_pre_PPL_rounding(); 2441: }; 2441: 2441: # 1 "../../src/Init_inlines.hh" 1 2441: # 30 "../../src/Init_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline void 2441: set_rounding_for_PPL() { 2441: 2441: fpu_set_rounding_direction(round_fpu_dir(ROUND_DIRECT)); 2441: 2441: } 2441: 2441: inline void 2441: restore_pre_PPL_rounding() { 2441: 2441: fpu_set_rounding_direction(Init::old_rounding_direction); 2441: 2441: } 2441: 2441: } 2441: # 98 "../../src/Init_defs.hh" 2 2441: # 28 "../../src/initializer.hh" 2 2441: 2441: 2441: 2441: static Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer; 2441: # 48 "../../src/initializer.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: inline void 2441: initialize() { 2441: 2441: 2441: 2441: } 2441: 2441: 2441: inline void 2441: finalize() { 2441: 2441: 2441: 2441: } 2441: 2441: } 2441: # 8 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/Linear_Expression_Impl_defs.hh" 1 2441: # 27 "../../src/Linear_Expression_Impl_defs.hh" 2441: # 1 "../../src/Linear_Expression_Impl_types.hh" 1 2441: # 16 "../../src/Linear_Expression_Impl_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Linear_Expression_Impl; 2441: 2441: } 2441: # 28 "../../src/Linear_Expression_Impl_defs.hh" 2 2441: # 1 "../../src/Linear_Expression_Interface_defs.hh" 1 2441: # 27 "../../src/Linear_Expression_Interface_defs.hh" 2441: # 1 "../../src/Linear_Expression_Interface_types.hh" 1 2441: # 16 "../../src/Linear_Expression_Interface_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Linear_Expression_Interface; 2441: 2441: } 2441: # 28 "../../src/Linear_Expression_Interface_defs.hh" 2 2441: # 1 "../../src/Coefficient_defs.hh" 1 2441: # 27 "../../src/Coefficient_defs.hh" 2441: # 1 "../../src/Coefficient_types.hh" 1 2441: # 19 "../../src/Coefficient_types.hh" 2441: # 1 "../../src/GMP_Integer_types.hh" 1 2441: # 20 "../../src/GMP_Integer_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 31 "../../src/GMP_Integer_types.hh" 2441: typedef mpz_class GMP_Integer; 2441: 2441: 2441: 2441: 2441: 2441: template <> 2441: struct Coefficient_traits_template { 2441: 2441: typedef const GMP_Integer& const_reference; 2441: }; 2441: 2441: } 2441: # 20 "../../src/Coefficient_types.hh" 2 2441: # 152 "../../src/Coefficient_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 172 "../../src/Coefficient_types.hh" 2441: typedef mpz_class Coefficient; 2441: 2441: 2441: 2441: 2441: 2441: typedef Coefficient_traits_template Coefficient_traits; 2441: 2441: } 2441: # 28 "../../src/Coefficient_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "../../src/GMP_Integer_defs.hh" 1 2441: # 31 "../../src/GMP_Integer_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: 2441: const mpz_class& raw_value(const GMP_Integer& x); 2441: 2441: 2441: 2441: mpz_class& raw_value(GMP_Integer& x); 2441: # 51 "../../src/GMP_Integer_defs.hh" 2441: void neg_assign(GMP_Integer& x); 2441: 2441: 2441: 2441: void neg_assign(GMP_Integer& x, const GMP_Integer& y); 2441: 2441: 2441: 2441: void abs_assign(GMP_Integer& x); 2441: 2441: 2441: 2441: void abs_assign(GMP_Integer& x, const GMP_Integer& y); 2441: 2441: 2441: 2441: void rem_assign(GMP_Integer& x, 2441: const GMP_Integer& y, const GMP_Integer& z); 2441: 2441: 2441: 2441: void gcd_assign(GMP_Integer& x, 2441: const GMP_Integer& y, const GMP_Integer& z); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t, 2441: const GMP_Integer& y, const GMP_Integer& z); 2441: 2441: 2441: 2441: void lcm_assign(GMP_Integer& x, 2441: const GMP_Integer& y, const GMP_Integer& z); 2441: 2441: 2441: 2441: void add_mul_assign(GMP_Integer& x, 2441: const GMP_Integer& y, const GMP_Integer& z); 2441: 2441: 2441: 2441: void sub_mul_assign(GMP_Integer& x, 2441: const GMP_Integer& y, const GMP_Integer& z); 2441: 2441: 2441: 2441: void mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp); 2441: 2441: 2441: 2441: void div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp); 2441: # 113 "../../src/GMP_Integer_defs.hh" 2441: void exact_div_assign(GMP_Integer& x, 2441: const GMP_Integer& y, const GMP_Integer& z); 2441: 2441: 2441: 2441: void sqrt_assign(GMP_Integer& x, const GMP_Integer& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: int cmp(const GMP_Integer& x, const GMP_Integer& y); 2441: 2441: 2441: 2441: } 2441: 2441: # 1 "../../src/GMP_Integer_inlines.hh" 1 2441: # 29 "../../src/GMP_Integer_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline void 2441: neg_assign(GMP_Integer& x) { 2441: 2441: # 33 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_neg 2441: # 33 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), x.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: neg_assign(GMP_Integer& x, const GMP_Integer& y) { 2441: 2441: # 38 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_neg 2441: # 38 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: abs_assign(GMP_Integer& x) { 2441: 2441: # 43 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_abs 2441: # 43 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), x.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: abs_assign(GMP_Integer& x, const GMP_Integer& y) { 2441: 2441: # 48 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_abs 2441: # 48 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: gcd_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) { 2441: 2441: # 53 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_gcd 2441: # 53 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: rem_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) { 2441: 2441: # 58 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_tdiv_r 2441: # 58 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t, 2441: const GMP_Integer& y, const GMP_Integer& z) { 2441: 2441: # 64 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_gcdext 2441: # 64 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), 2441: s.get_mpz_t(), t.get_mpz_t(), 2441: y.get_mpz_t(), z.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: lcm_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) { 2441: 2441: # 71 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_lcm 2441: # 71 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: add_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) { 2441: 2441: # 76 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_addmul 2441: # 76 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: sub_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) { 2441: 2441: # 81 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_submul 2441: # 81 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) { 2441: 2441: # 86 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_mul_2exp 2441: # 86 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), exp); 2441: } 2441: 2441: inline void 2441: div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) { 2441: 2441: # 91 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_tdiv_q_2exp 2441: # 91 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), exp); 2441: } 2441: 2441: inline void 2441: exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) { 2441: ((void) 0); 2441: 2441: # 97 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_divexact 2441: # 97 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t()); 2441: } 2441: 2441: inline void 2441: sqrt_assign(GMP_Integer& x, const GMP_Integer& y) { 2441: 2441: # 102 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_sqrt 2441: # 102 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t()); 2441: } 2441: 2441: inline int 2441: cmp(const GMP_Integer& x, const GMP_Integer& y) { 2441: return 2441: # 107 "../../src/GMP_Integer_inlines.hh" 3 4 2441: __gmpz_cmp 2441: # 107 "../../src/GMP_Integer_inlines.hh" 2441: (x.get_mpz_t(), y.get_mpz_t()); 2441: } 2441: 2441: inline const mpz_class& 2441: raw_value(const GMP_Integer& x) { 2441: return x; 2441: } 2441: 2441: inline mpz_class& 2441: raw_value(GMP_Integer& x) { 2441: return x; 2441: } 2441: 2441: } 2441: # 133 "../../src/GMP_Integer_defs.hh" 2 2441: # 36 "../../src/Coefficient_defs.hh" 2 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: void Coefficient_constants_initialize(); 2441: 2441: 2441: 2441: 2441: void Coefficient_constants_finalize(); 2441: 2441: 2441: Coefficient_traits::const_reference Coefficient_zero(); 2441: 2441: 2441: Coefficient_traits::const_reference Coefficient_one(); 2441: 2441: } 2441: 2441: # 1 "../../src/Coefficient_inlines.hh" 1 2441: # 27 "../../src/Coefficient_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 57 "../../src/Coefficient_inlines.hh" 2441: inline Coefficient_traits::const_reference 2441: Coefficient_zero() { 2441: extern const Coefficient* Coefficient_zero_p; 2441: return *Coefficient_zero_p; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Coefficient_one() { 2441: extern const Coefficient* Coefficient_one_p; 2441: ((void) 0); 2441: return *Coefficient_one_p; 2441: } 2441: 2441: 2441: } 2441: # 61 "../../src/Coefficient_defs.hh" 2 2441: # 29 "../../src/Linear_Expression_Interface_defs.hh" 2 2441: 2441: # 1 "../../src/Variables_Set_types.hh" 1 2441: # 16 "../../src/Variables_Set_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Variables_Set; 2441: 2441: } 2441: # 31 "../../src/Linear_Expression_Interface_defs.hh" 2 2441: # 1 "../../src/Dense_Row_types.hh" 1 2441: # 16 "../../src/Dense_Row_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Dense_Row; 2441: 2441: } 2441: # 32 "../../src/Linear_Expression_Interface_defs.hh" 2 2441: # 1 "../../src/Sparse_Row_types.hh" 1 2441: # 16 "../../src/Sparse_Row_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Sparse_Row; 2441: 2441: } 2441: # 33 "../../src/Linear_Expression_Interface_defs.hh" 2 2441: # 51 "../../src/Linear_Expression_Interface_defs.hh" 2441: class Parma_Polyhedra_Library::Linear_Expression_Interface { 2441: public: 2441: virtual ~Linear_Expression_Interface(); 2441: 2441: virtual bool OK() const = 0; 2441: 2441: 2441: virtual Representation representation() const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: class const_iterator_interface { 2441: public: 2441: typedef std::bidirectional_iterator_tag iterator_category; 2441: typedef const Coefficient value_type; 2441: typedef std::ptrdiff_t difference_type; 2441: typedef value_type* pointer; 2441: typedef Coefficient_traits::const_reference reference; 2441: 2441: 2441: 2441: 2441: virtual const_iterator_interface* clone() const = 0; 2441: 2441: virtual ~const_iterator_interface(); 2441: 2441: 2441: 2441: 2441: virtual void operator++() = 0; 2441: 2441: 2441: 2441: 2441: virtual void operator--() = 0; 2441: 2441: 2441: virtual reference operator*() const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual Variable variable() const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual bool operator==(const const_iterator_interface& x) const = 0; 2441: }; 2441: 2441: 2441: 2441: virtual const_iterator_interface* begin() const = 0; 2441: 2441: 2441: 2441: virtual const_iterator_interface* end() const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual const_iterator_interface* lower_bound(Variable v) const = 0; 2441: 2441: 2441: virtual dimension_type space_dimension() const = 0; 2441: 2441: 2441: virtual void set_space_dimension(dimension_type n) = 0; 2441: 2441: 2441: virtual Coefficient_traits::const_reference 2441: coefficient(Variable v) const = 0; 2441: 2441: 2441: virtual void 2441: set_coefficient(Variable v, Coefficient_traits::const_reference n) = 0; 2441: 2441: 2441: virtual Coefficient_traits::const_reference inhomogeneous_term() const = 0; 2441: 2441: 2441: virtual void 2441: set_inhomogeneous_term(Coefficient_traits::const_reference n) = 0; 2441: # 158 "../../src/Linear_Expression_Interface_defs.hh" 2441: virtual void 2441: linear_combine(const Linear_Expression_Interface& y, Variable v) = 0; 2441: 2441: 2441: 2441: virtual void linear_combine(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) = 0; 2441: 2441: 2441: 2441: virtual void linear_combine_lax(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) = 0; 2441: 2441: 2441: virtual void swap_space_dimensions(Variable v1, Variable v2) = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void remove_space_dimensions(const Variables_Set& vars) = 0; 2441: 2441: 2441: 2441: virtual void shift_space_dimensions(Variable v, dimension_type n) = 0; 2441: # 200 "../../src/Linear_Expression_Interface_defs.hh" 2441: virtual void 2441: permute_space_dimensions(const std::vector& cycle) = 0; 2441: 2441: 2441: virtual bool is_zero() const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual bool all_homogeneous_terms_are_zero() const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual memory_size_type total_memory_in_bytes() const = 0; 2441: 2441: 2441: virtual memory_size_type external_memory_in_bytes() const = 0; 2441: 2441: 2441: virtual void ascii_dump(std::ostream& s) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual bool ascii_load(std::istream& s) = 0; 2441: 2441: 2441: 2441: virtual bool is_equal_to(const Linear_Expression_Interface& x) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void normalize() = 0; 2441: 2441: 2441: 2441: virtual void sign_normalize() = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual void negate(dimension_type first, dimension_type last) = 0; 2441: 2441: virtual Linear_Expression_Interface& 2441: operator+=(Coefficient_traits::const_reference n) = 0; 2441: virtual Linear_Expression_Interface& 2441: operator-=(Coefficient_traits::const_reference n) = 0; 2441: # 269 "../../src/Linear_Expression_Interface_defs.hh" 2441: virtual int compare(const Linear_Expression_Interface& y) const = 0; 2441: 2441: virtual Linear_Expression_Interface& 2441: operator+=(const Linear_Expression_Interface& e2) = 0; 2441: virtual Linear_Expression_Interface& 2441: operator+=(const Variable v) = 0; 2441: virtual Linear_Expression_Interface& 2441: operator-=(const Linear_Expression_Interface& e2) = 0; 2441: virtual Linear_Expression_Interface& 2441: operator-=(const Variable v) = 0; 2441: virtual Linear_Expression_Interface& 2441: operator*=(Coefficient_traits::const_reference n) = 0; 2441: virtual Linear_Expression_Interface& 2441: operator/=(Coefficient_traits::const_reference n) = 0; 2441: 2441: virtual void negate() = 0; 2441: 2441: virtual Linear_Expression_Interface& 2441: add_mul_assign(Coefficient_traits::const_reference n, const Variable v) = 0; 2441: 2441: virtual Linear_Expression_Interface& 2441: sub_mul_assign(Coefficient_traits::const_reference n, const Variable v) = 0; 2441: 2441: virtual void add_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Interface& e2) = 0; 2441: 2441: virtual void sub_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Interface& e2) = 0; 2441: 2441: virtual void print(std::ostream& s) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual bool all_zeroes(const Variables_Set& vars) const = 0; 2441: 2441: 2441: 2441: virtual bool have_a_common_variable(const Linear_Expression_Interface& x, 2441: Variable first, Variable last) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual Coefficient_traits::const_reference get(dimension_type i) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual void set(dimension_type i, Coefficient_traits::const_reference n) = 0; 2441: # 330 "../../src/Linear_Expression_Interface_defs.hh" 2441: virtual bool all_zeroes(dimension_type start, dimension_type end) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual dimension_type 2441: num_zeroes(dimension_type start, dimension_type end) const = 0; 2441: # 348 "../../src/Linear_Expression_Interface_defs.hh" 2441: virtual Coefficient gcd(dimension_type start, dimension_type end) const = 0; 2441: 2441: 2441: 2441: 2441: virtual void exact_div_assign(Coefficient_traits::const_reference c, 2441: dimension_type start, dimension_type end) = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual void mul_assign(Coefficient_traits::const_reference n, 2441: dimension_type start, dimension_type end) = 0; 2441: # 381 "../../src/Linear_Expression_Interface_defs.hh" 2441: virtual void 2441: linear_combine(const Linear_Expression_Interface& y, dimension_type i) = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void linear_combine(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void linear_combine_lax(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual dimension_type last_nonzero() const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual dimension_type 2441: last_nonzero(dimension_type first, dimension_type last) const = 0; 2441: 2441: 2441: 2441: virtual dimension_type 2441: first_nonzero(dimension_type first, dimension_type last) const = 0; 2441: # 431 "../../src/Linear_Expression_Interface_defs.hh" 2441: virtual bool 2441: all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual void 2441: scalar_product_assign(Coefficient& result, 2441: const Linear_Expression_Interface& y, 2441: dimension_type start, dimension_type end) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual int 2441: scalar_product_sign(const Linear_Expression_Interface& y, 2441: dimension_type start, dimension_type end) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual void 2441: has_a_free_dimension_helper(std::set& x) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual bool is_equal_to(const Linear_Expression_Interface& x, 2441: dimension_type start, dimension_type end) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual bool is_equal_to(const Linear_Expression_Interface& x, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual void get_row(Dense_Row& r) const = 0; 2441: 2441: 2441: 2441: 2441: 2441: virtual void get_row(Sparse_Row& r) const = 0; 2441: }; 2441: # 29 "../../src/Linear_Expression_Impl_defs.hh" 2 2441: 2441: 2441: # 1 "../../src/Variables_Set_defs.hh" 1 2441: # 33 "../../src/Variables_Set_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& 2441: operator<<(std::ostream& s, const Variables_Set& vs); 2441: 2441: } 2441: 2441: } 2441: 2441: 2441: class Parma_Polyhedra_Library::Variables_Set 2441: : public std::set { 2441: private: 2441: typedef std::set Base; 2441: 2441: public: 2441: 2441: Variables_Set(); 2441: 2441: 2441: explicit Variables_Set(const Variable v); 2441: # 68 "../../src/Variables_Set_defs.hh" 2441: Variables_Set(const Variable v, const Variable w); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: void insert(Variable v); 2441: 2441: 2441: 2441: using Base::insert; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: }; 2441: 2441: # 1 "../../src/Variables_Set_inlines.hh" 1 2441: # 30 "../../src/Variables_Set_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Variables_Set::Variables_Set() 2441: : Base() { 2441: } 2441: 2441: inline void 2441: Variables_Set::insert(const Variable v) { 2441: insert(v.id()); 2441: } 2441: 2441: inline 2441: Variables_Set::Variables_Set(const Variable v) 2441: : Base() { 2441: insert(v); 2441: } 2441: 2441: inline dimension_type 2441: Variables_Set::max_space_dimension() { 2441: return Variable::max_space_dimension(); 2441: } 2441: 2441: inline dimension_type 2441: Variables_Set::space_dimension() const { 2441: reverse_iterator i = rbegin(); 2441: return (i == rend()) ? 0 : (*i + 1); 2441: } 2441: 2441: inline memory_size_type 2441: Variables_Set::external_memory_in_bytes() const { 2441: 2441: 2441: 2441: enum color { red, black }; 2441: return size() * (sizeof(color) + 3*sizeof(void*) + sizeof(dimension_type)); 2441: } 2441: 2441: inline memory_size_type 2441: Variables_Set::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: } 2441: # 106 "../../src/Variables_Set_defs.hh" 2 2441: # 32 "../../src/Linear_Expression_Impl_defs.hh" 2 2441: # 1 "../../src/Dense_Row_defs.hh" 1 2441: # 33 "../../src/Dense_Row_defs.hh" 2441: # 1 "/usr/include/c++/8/memory" 1 3 2441: # 46 "/usr/include/c++/8/memory" 3 2441: 2441: # 47 "/usr/include/c++/8/memory" 3 2441: # 67 "/usr/include/c++/8/memory" 3 2441: # 1 "/usr/include/c++/8/bits/stl_raw_storage_iter.h" 1 3 2441: # 59 "/usr/include/c++/8/bits/stl_raw_storage_iter.h" 3 2441: 2441: # 59 "/usr/include/c++/8/bits/stl_raw_storage_iter.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class raw_storage_iterator 2441: : public iterator 2441: { 2441: protected: 2441: _OutputIterator _M_iter; 2441: 2441: public: 2441: explicit 2441: raw_storage_iterator(_OutputIterator __x) 2441: : _M_iter(__x) {} 2441: 2441: raw_storage_iterator& 2441: operator*() { return *this; } 2441: 2441: raw_storage_iterator& 2441: operator=(const _Tp& __element) 2441: { 2441: std::_Construct(std::__addressof(*_M_iter), __element); 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: raw_storage_iterator& 2441: operator=(_Tp&& __element) 2441: { 2441: std::_Construct(std::__addressof(*_M_iter), std::move(__element)); 2441: return *this; 2441: } 2441: 2441: 2441: raw_storage_iterator& 2441: operator++() 2441: { 2441: ++_M_iter; 2441: return *this; 2441: } 2441: 2441: raw_storage_iterator 2441: operator++(int) 2441: { 2441: raw_storage_iterator __tmp = *this; 2441: ++_M_iter; 2441: return __tmp; 2441: } 2441: 2441: 2441: 2441: _OutputIterator base() const { return _M_iter; } 2441: }; 2441: 2441: 2441: } 2441: # 68 "/usr/include/c++/8/memory" 2 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/ext/concurrence.h" 1 3 2441: # 32 "/usr/include/c++/8/ext/concurrence.h" 3 2441: 2441: # 33 "/usr/include/c++/8/ext/concurrence.h" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: enum _Lock_policy { _S_single, _S_mutex, _S_atomic }; 2441: 2441: 2441: 2441: static const _Lock_policy __default_lock_policy = 2441: 2441: 2441: 2441: _S_atomic; 2441: # 67 "/usr/include/c++/8/ext/concurrence.h" 3 2441: class __concurrence_lock_error : public std::exception 2441: { 2441: public: 2441: virtual char const* 2441: what() const throw() 2441: { return "__gnu_cxx::__concurrence_lock_error"; } 2441: }; 2441: 2441: class __concurrence_unlock_error : public std::exception 2441: { 2441: public: 2441: virtual char const* 2441: what() const throw() 2441: { return "__gnu_cxx::__concurrence_unlock_error"; } 2441: }; 2441: 2441: class __concurrence_broadcast_error : public std::exception 2441: { 2441: public: 2441: virtual char const* 2441: what() const throw() 2441: { return "__gnu_cxx::__concurrence_broadcast_error"; } 2441: }; 2441: 2441: class __concurrence_wait_error : public std::exception 2441: { 2441: public: 2441: virtual char const* 2441: what() const throw() 2441: { return "__gnu_cxx::__concurrence_wait_error"; } 2441: }; 2441: 2441: 2441: inline void 2441: __throw_concurrence_lock_error() 2441: { (throw (__concurrence_lock_error())); } 2441: 2441: inline void 2441: __throw_concurrence_unlock_error() 2441: { (throw (__concurrence_unlock_error())); } 2441: 2441: 2441: inline void 2441: __throw_concurrence_broadcast_error() 2441: { (throw (__concurrence_broadcast_error())); } 2441: 2441: inline void 2441: __throw_concurrence_wait_error() 2441: { (throw (__concurrence_wait_error())); } 2441: 2441: 2441: class __mutex 2441: { 2441: private: 2441: 2441: __gthread_mutex_t _M_mutex = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; 2441: 2441: 2441: 2441: 2441: __mutex(const __mutex&); 2441: __mutex& operator=(const __mutex&); 2441: 2441: public: 2441: __mutex() 2441: { 2441: 2441: 2441: 2441: 2441: } 2441: # 147 "/usr/include/c++/8/ext/concurrence.h" 3 2441: void lock() 2441: { 2441: 2441: if (__gthread_active_p()) 2441: { 2441: if (__gthread_mutex_lock(&_M_mutex) != 0) 2441: __throw_concurrence_lock_error(); 2441: } 2441: 2441: } 2441: 2441: void unlock() 2441: { 2441: 2441: if (__gthread_active_p()) 2441: { 2441: if (__gthread_mutex_unlock(&_M_mutex) != 0) 2441: __throw_concurrence_unlock_error(); 2441: } 2441: 2441: } 2441: 2441: __gthread_mutex_t* gthread_mutex(void) 2441: { return &_M_mutex; } 2441: }; 2441: 2441: class __recursive_mutex 2441: { 2441: private: 2441: 2441: __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { { 0, 0 } } } }; 2441: 2441: 2441: 2441: 2441: __recursive_mutex(const __recursive_mutex&); 2441: __recursive_mutex& operator=(const __recursive_mutex&); 2441: 2441: public: 2441: __recursive_mutex() 2441: { 2441: 2441: 2441: 2441: 2441: } 2441: # 202 "/usr/include/c++/8/ext/concurrence.h" 3 2441: void lock() 2441: { 2441: 2441: if (__gthread_active_p()) 2441: { 2441: if (__gthread_recursive_mutex_lock(&_M_mutex) != 0) 2441: __throw_concurrence_lock_error(); 2441: } 2441: 2441: } 2441: 2441: void unlock() 2441: { 2441: 2441: if (__gthread_active_p()) 2441: { 2441: if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0) 2441: __throw_concurrence_unlock_error(); 2441: } 2441: 2441: } 2441: 2441: __gthread_recursive_mutex_t* gthread_recursive_mutex(void) 2441: { return &_M_mutex; } 2441: }; 2441: 2441: 2441: 2441: 2441: class __scoped_lock 2441: { 2441: public: 2441: typedef __mutex __mutex_type; 2441: 2441: private: 2441: __mutex_type& _M_device; 2441: 2441: __scoped_lock(const __scoped_lock&); 2441: __scoped_lock& operator=(const __scoped_lock&); 2441: 2441: public: 2441: explicit __scoped_lock(__mutex_type& __name) : _M_device(__name) 2441: { _M_device.lock(); } 2441: 2441: ~__scoped_lock() throw() 2441: { _M_device.unlock(); } 2441: }; 2441: 2441: 2441: class __cond 2441: { 2441: private: 2441: 2441: __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } }; 2441: 2441: 2441: 2441: 2441: __cond(const __cond&); 2441: __cond& operator=(const __cond&); 2441: 2441: public: 2441: __cond() 2441: { 2441: 2441: 2441: 2441: 2441: } 2441: # 280 "/usr/include/c++/8/ext/concurrence.h" 3 2441: void broadcast() 2441: { 2441: 2441: if (__gthread_active_p()) 2441: { 2441: if (__gthread_cond_broadcast(&_M_cond) != 0) 2441: __throw_concurrence_broadcast_error(); 2441: } 2441: 2441: } 2441: 2441: void wait(__mutex *mutex) 2441: { 2441: 2441: { 2441: if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0) 2441: __throw_concurrence_wait_error(); 2441: } 2441: 2441: } 2441: 2441: void wait_recursive(__recursive_mutex *mutex) 2441: { 2441: 2441: { 2441: if (__gthread_cond_wait_recursive(&_M_cond, 2441: mutex->gthread_recursive_mutex()) 2441: != 0) 2441: __throw_concurrence_wait_error(); 2441: } 2441: 2441: } 2441: }; 2441: 2441: 2441: 2441: } 2441: # 75 "/usr/include/c++/8/memory" 2 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/shared_ptr.h" 1 3 2441: # 52 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: # 1 "/usr/include/c++/8/bits/shared_ptr_base.h" 1 3 2441: # 53 "/usr/include/c++/8/bits/shared_ptr_base.h" 3 2441: # 1 "/usr/include/c++/8/bits/allocated_ptr.h" 1 3 2441: # 40 "/usr/include/c++/8/bits/allocated_ptr.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: template 2441: struct __allocated_ptr 2441: { 2441: using pointer = typename allocator_traits<_Alloc>::pointer; 2441: using value_type = typename allocator_traits<_Alloc>::value_type; 2441: 2441: 2441: __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept 2441: : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr) 2441: { } 2441: 2441: 2441: template>> 2441: __allocated_ptr(_Alloc& __a, _Ptr __ptr) 2441: : _M_alloc(std::__addressof(__a)), 2441: _M_ptr(pointer_traits::pointer_to(*__ptr)) 2441: { } 2441: 2441: 2441: __allocated_ptr(__allocated_ptr&& __gd) noexcept 2441: : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr) 2441: { __gd._M_ptr = nullptr; } 2441: 2441: 2441: ~__allocated_ptr() 2441: { 2441: if (_M_ptr != nullptr) 2441: std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1); 2441: } 2441: 2441: 2441: __allocated_ptr& 2441: operator=(std::nullptr_t) noexcept 2441: { 2441: _M_ptr = nullptr; 2441: return *this; 2441: } 2441: 2441: 2441: value_type* get() { return std::__to_address(_M_ptr); } 2441: 2441: private: 2441: _Alloc* _M_alloc; 2441: pointer _M_ptr; 2441: }; 2441: 2441: 2441: template 2441: __allocated_ptr<_Alloc> 2441: __allocate_guarded(_Alloc& __a) 2441: { 2441: return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) }; 2441: } 2441: 2441: 2441: } 2441: # 54 "/usr/include/c++/8/bits/shared_ptr_base.h" 2 3 2441: # 1 "/usr/include/c++/8/bits/refwrap.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/refwrap.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/refwrap.h" 3 2441: # 43 "/usr/include/c++/8/bits/refwrap.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct _Maybe_unary_or_binary_function { }; 2441: 2441: 2441: template 2441: struct _Maybe_unary_or_binary_function<_Res, _T1> 2441: : std::unary_function<_T1, _Res> { }; 2441: 2441: 2441: template 2441: struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> 2441: : std::binary_function<_T1, _T2, _Res> { }; 2441: 2441: template 2441: struct _Mem_fn_traits; 2441: 2441: template 2441: struct _Mem_fn_traits_base 2441: { 2441: using __result_type = _Res; 2441: using __maybe_type 2441: = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; 2441: using __arity = integral_constant; 2441: }; 2441: # 97 "/usr/include/c++/8/bits/refwrap.h" 3 2441: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 2441: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 2441: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 2441: # 111 "/usr/include/c++/8/bits/refwrap.h" 3 2441: template> 2441: struct _Maybe_get_result_type 2441: { }; 2441: 2441: template 2441: struct _Maybe_get_result_type<_Functor, 2441: __void_t> 2441: { typedef typename _Functor::result_type result_type; }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct _Weak_result_type_impl 2441: : _Maybe_get_result_type<_Functor> 2441: { }; 2441: 2441: 2441: template 2441: struct _Weak_result_type_impl<_Res(_ArgTypes...) > 2441: { typedef _Res result_type; }; 2441: 2441: 2441: template 2441: struct _Weak_result_type_impl<_Res(_ArgTypes......) > 2441: { typedef _Res result_type; }; 2441: 2441: 2441: template 2441: struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) > 2441: { typedef _Res result_type; }; 2441: 2441: 2441: template 2441: struct 2441: _Weak_result_type_impl<_Res(*)(_ArgTypes......) > 2441: { typedef _Res result_type; }; 2441: 2441: 2441: template::value> 2441: struct _Weak_result_type_memfun 2441: : _Weak_result_type_impl<_Functor> 2441: { }; 2441: 2441: 2441: template 2441: struct _Weak_result_type_memfun<_MemFunPtr, true> 2441: { 2441: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 2441: }; 2441: 2441: 2441: template 2441: struct _Weak_result_type_memfun<_Func _Class::*, false> 2441: { }; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct _Weak_result_type 2441: : _Weak_result_type_memfun::type> 2441: { }; 2441: 2441: 2441: template> 2441: struct _Refwrap_base_arg1 2441: { }; 2441: 2441: 2441: template 2441: struct _Refwrap_base_arg1<_Tp, 2441: __void_t> 2441: { 2441: typedef typename _Tp::argument_type argument_type; 2441: }; 2441: 2441: 2441: template> 2441: struct _Refwrap_base_arg2 2441: { }; 2441: 2441: 2441: template 2441: struct _Refwrap_base_arg2<_Tp, 2441: __void_t> 2441: { 2441: typedef typename _Tp::first_argument_type first_argument_type; 2441: typedef typename _Tp::second_argument_type second_argument_type; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct _Reference_wrapper_base 2441: : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp> 2441: { }; 2441: 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1) > 2441: : unary_function<_T1, _Res> 2441: { }; 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1) const> 2441: : unary_function<_T1, _Res> 2441: { }; 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1) volatile> 2441: : unary_function<_T1, _Res> 2441: { }; 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1) const volatile> 2441: : unary_function<_T1, _Res> 2441: { }; 2441: 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1, _T2) > 2441: : binary_function<_T1, _T2, _Res> 2441: { }; 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1, _T2) const> 2441: : binary_function<_T1, _T2, _Res> 2441: { }; 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1, _T2) volatile> 2441: : binary_function<_T1, _T2, _Res> 2441: { }; 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile> 2441: : binary_function<_T1, _T2, _Res> 2441: { }; 2441: 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(*)(_T1) > 2441: : unary_function<_T1, _Res> 2441: { }; 2441: 2441: 2441: template 2441: struct _Reference_wrapper_base<_Res(*)(_T1, _T2) > 2441: : binary_function<_T1, _T2, _Res> 2441: { }; 2441: 2441: template::value> 2441: struct _Reference_wrapper_base_memfun 2441: : _Reference_wrapper_base<_Tp> 2441: { }; 2441: 2441: template 2441: struct _Reference_wrapper_base_memfun<_MemFunPtr, true> 2441: : _Mem_fn_traits<_MemFunPtr>::__maybe_type 2441: { 2441: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class reference_wrapper 2441: : public _Reference_wrapper_base_memfun::type> 2441: { 2441: _Tp* _M_data; 2441: 2441: public: 2441: typedef _Tp type; 2441: 2441: reference_wrapper(_Tp& __indata) noexcept 2441: : _M_data(std::__addressof(__indata)) 2441: { } 2441: 2441: reference_wrapper(_Tp&&) = delete; 2441: 2441: reference_wrapper(const reference_wrapper&) = default; 2441: 2441: reference_wrapper& 2441: operator=(const reference_wrapper&) = default; 2441: 2441: operator _Tp&() const noexcept 2441: { return this->get(); } 2441: 2441: _Tp& 2441: get() const noexcept 2441: { return *_M_data; } 2441: 2441: template 2441: typename result_of<_Tp&(_Args&&...)>::type 2441: operator()(_Args&&... __args) const 2441: { 2441: return std::__invoke(get(), std::forward<_Args>(__args)...); 2441: } 2441: }; 2441: 2441: 2441: 2441: template 2441: inline reference_wrapper<_Tp> 2441: ref(_Tp& __t) noexcept 2441: { return reference_wrapper<_Tp>(__t); } 2441: 2441: 2441: template 2441: inline reference_wrapper 2441: cref(const _Tp& __t) noexcept 2441: { return reference_wrapper(__t); } 2441: 2441: template 2441: void ref(const _Tp&&) = delete; 2441: 2441: template 2441: void cref(const _Tp&&) = delete; 2441: 2441: 2441: template 2441: inline reference_wrapper<_Tp> 2441: ref(reference_wrapper<_Tp> __t) noexcept 2441: { return __t; } 2441: 2441: 2441: template 2441: inline reference_wrapper 2441: cref(reference_wrapper<_Tp> __t) noexcept 2441: { return { __t.get() }; } 2441: 2441: 2441: 2441: 2441: } 2441: # 55 "/usr/include/c++/8/bits/shared_ptr_base.h" 2 3 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: template class auto_ptr; 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: 2441: 2441: 2441: 2441: class bad_weak_ptr : public std::exception 2441: { 2441: public: 2441: virtual char const* what() const noexcept; 2441: 2441: virtual ~bad_weak_ptr() noexcept; 2441: }; 2441: 2441: 2441: inline void 2441: __throw_bad_weak_ptr() 2441: { (throw (bad_weak_ptr())); } 2441: 2441: using __gnu_cxx::_Lock_policy; 2441: using __gnu_cxx::__default_lock_policy; 2441: using __gnu_cxx::_S_single; 2441: using __gnu_cxx::_S_mutex; 2441: using __gnu_cxx::_S_atomic; 2441: 2441: 2441: template<_Lock_policy _Lp> 2441: class _Mutex_base 2441: { 2441: protected: 2441: 2441: enum { _S_need_barriers = 0 }; 2441: }; 2441: 2441: template<> 2441: class _Mutex_base<_S_mutex> 2441: : public __gnu_cxx::__mutex 2441: { 2441: protected: 2441: 2441: 2441: 2441: enum { _S_need_barriers = 1 }; 2441: }; 2441: 2441: template<_Lock_policy _Lp = __default_lock_policy> 2441: class _Sp_counted_base 2441: : public _Mutex_base<_Lp> 2441: { 2441: public: 2441: _Sp_counted_base() noexcept 2441: : _M_use_count(1), _M_weak_count(1) { } 2441: 2441: virtual 2441: ~_Sp_counted_base() noexcept 2441: { } 2441: 2441: 2441: 2441: virtual void 2441: _M_dispose() noexcept = 0; 2441: 2441: 2441: virtual void 2441: _M_destroy() noexcept 2441: { delete this; } 2441: 2441: virtual void* 2441: _M_get_deleter(const std::type_info&) noexcept = 0; 2441: 2441: void 2441: _M_add_ref_copy() 2441: { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); } 2441: 2441: void 2441: _M_add_ref_lock(); 2441: 2441: bool 2441: _M_add_ref_lock_nothrow(); 2441: 2441: void 2441: _M_release() noexcept 2441: { 2441: 2441: ; 2441: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1) 2441: { 2441: ; 2441: _M_dispose(); 2441: 2441: 2441: 2441: 2441: if (_Mutex_base<_Lp>::_S_need_barriers) 2441: { 2441: __atomic_thread_fence (4); 2441: } 2441: 2441: 2441: ; 2441: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, 2441: -1) == 1) 2441: { 2441: ; 2441: _M_destroy(); 2441: } 2441: } 2441: } 2441: 2441: void 2441: _M_weak_add_ref() noexcept 2441: { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); } 2441: 2441: void 2441: _M_weak_release() noexcept 2441: { 2441: 2441: ; 2441: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1) 2441: { 2441: ; 2441: if (_Mutex_base<_Lp>::_S_need_barriers) 2441: { 2441: 2441: 2441: __atomic_thread_fence (4); 2441: } 2441: _M_destroy(); 2441: } 2441: } 2441: 2441: long 2441: _M_get_use_count() const noexcept 2441: { 2441: 2441: 2441: return __atomic_load_n(&_M_use_count, 0); 2441: } 2441: 2441: private: 2441: _Sp_counted_base(_Sp_counted_base const&) = delete; 2441: _Sp_counted_base& operator=(_Sp_counted_base const&) = delete; 2441: 2441: _Atomic_word _M_use_count; 2441: _Atomic_word _M_weak_count; 2441: }; 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_base<_S_single>:: 2441: _M_add_ref_lock() 2441: { 2441: if (_M_use_count == 0) 2441: __throw_bad_weak_ptr(); 2441: ++_M_use_count; 2441: } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_base<_S_mutex>:: 2441: _M_add_ref_lock() 2441: { 2441: __gnu_cxx::__scoped_lock sentry(*this); 2441: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) 2441: { 2441: _M_use_count = 0; 2441: __throw_bad_weak_ptr(); 2441: } 2441: } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_base<_S_atomic>:: 2441: _M_add_ref_lock() 2441: { 2441: 2441: _Atomic_word __count = _M_get_use_count(); 2441: do 2441: { 2441: if (__count == 0) 2441: __throw_bad_weak_ptr(); 2441: 2441: 2441: } 2441: while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, 2441: true, 4, 2441: 0)); 2441: } 2441: 2441: template<> 2441: inline bool 2441: _Sp_counted_base<_S_single>:: 2441: _M_add_ref_lock_nothrow() 2441: { 2441: if (_M_use_count == 0) 2441: return false; 2441: ++_M_use_count; 2441: return true; 2441: } 2441: 2441: template<> 2441: inline bool 2441: _Sp_counted_base<_S_mutex>:: 2441: _M_add_ref_lock_nothrow() 2441: { 2441: __gnu_cxx::__scoped_lock sentry(*this); 2441: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) 2441: { 2441: _M_use_count = 0; 2441: return false; 2441: } 2441: return true; 2441: } 2441: 2441: template<> 2441: inline bool 2441: _Sp_counted_base<_S_atomic>:: 2441: _M_add_ref_lock_nothrow() 2441: { 2441: 2441: _Atomic_word __count = _M_get_use_count(); 2441: do 2441: { 2441: if (__count == 0) 2441: return false; 2441: 2441: 2441: } 2441: while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, 2441: true, 4, 2441: 0)); 2441: return true; 2441: } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_base<_S_single>::_M_add_ref_copy() 2441: { ++_M_use_count; } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_base<_S_single>::_M_release() noexcept 2441: { 2441: if (--_M_use_count == 0) 2441: { 2441: _M_dispose(); 2441: if (--_M_weak_count == 0) 2441: _M_destroy(); 2441: } 2441: } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept 2441: { ++_M_weak_count; } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_base<_S_single>::_M_weak_release() noexcept 2441: { 2441: if (--_M_weak_count == 0) 2441: _M_destroy(); 2441: } 2441: 2441: template<> 2441: inline long 2441: _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept 2441: { return _M_use_count; } 2441: 2441: 2441: 2441: template 2441: class __shared_ptr; 2441: 2441: template 2441: class __weak_ptr; 2441: 2441: template 2441: class __enable_shared_from_this; 2441: 2441: template 2441: class shared_ptr; 2441: 2441: template 2441: class weak_ptr; 2441: 2441: template 2441: struct owner_less; 2441: 2441: template 2441: class enable_shared_from_this; 2441: 2441: template<_Lock_policy _Lp = __default_lock_policy> 2441: class __weak_count; 2441: 2441: template<_Lock_policy _Lp = __default_lock_policy> 2441: class __shared_count; 2441: 2441: 2441: 2441: template 2441: class _Sp_counted_ptr final : public _Sp_counted_base<_Lp> 2441: { 2441: public: 2441: explicit 2441: _Sp_counted_ptr(_Ptr __p) noexcept 2441: : _M_ptr(__p) { } 2441: 2441: virtual void 2441: _M_dispose() noexcept 2441: { delete _M_ptr; } 2441: 2441: virtual void 2441: _M_destroy() noexcept 2441: { delete this; } 2441: 2441: virtual void* 2441: _M_get_deleter(const std::type_info&) noexcept 2441: { return nullptr; } 2441: 2441: _Sp_counted_ptr(const _Sp_counted_ptr&) = delete; 2441: _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete; 2441: 2441: private: 2441: _Ptr _M_ptr; 2441: }; 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_ptr::_M_dispose() noexcept { } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_ptr::_M_dispose() noexcept { } 2441: 2441: template<> 2441: inline void 2441: _Sp_counted_ptr::_M_dispose() noexcept { } 2441: 2441: template 2441: struct _Sp_ebo_helper; 2441: 2441: 2441: template 2441: struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp 2441: { 2441: explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { } 2441: explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { } 2441: 2441: static _Tp& 2441: _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); } 2441: }; 2441: 2441: 2441: template 2441: struct _Sp_ebo_helper<_Nm, _Tp, false> 2441: { 2441: explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { } 2441: explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { } 2441: 2441: static _Tp& 2441: _S_get(_Sp_ebo_helper& __eboh) 2441: { return __eboh._M_tp; } 2441: 2441: private: 2441: _Tp _M_tp; 2441: }; 2441: 2441: 2441: template 2441: class _Sp_counted_deleter final : public _Sp_counted_base<_Lp> 2441: { 2441: class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc> 2441: { 2441: typedef _Sp_ebo_helper<0, _Deleter> _Del_base; 2441: typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base; 2441: 2441: public: 2441: _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept 2441: : _M_ptr(__p), _Del_base(std::move(__d)), _Alloc_base(__a) 2441: { } 2441: 2441: _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); } 2441: _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); } 2441: 2441: _Ptr _M_ptr; 2441: }; 2441: 2441: public: 2441: using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>; 2441: 2441: 2441: _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept 2441: : _M_impl(__p, std::move(__d), _Alloc()) { } 2441: 2441: 2441: _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept 2441: : _M_impl(__p, std::move(__d), __a) { } 2441: 2441: ~_Sp_counted_deleter() noexcept { } 2441: 2441: virtual void 2441: _M_dispose() noexcept 2441: { _M_impl._M_del()(_M_impl._M_ptr); } 2441: 2441: virtual void 2441: _M_destroy() noexcept 2441: { 2441: __allocator_type __a(_M_impl._M_alloc()); 2441: __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; 2441: this->~_Sp_counted_deleter(); 2441: } 2441: 2441: virtual void* 2441: _M_get_deleter(const std::type_info& __ti) noexcept 2441: { 2441: 2441: 2441: 2441: return __ti == typeid(_Deleter) 2441: ? std::__addressof(_M_impl._M_del()) 2441: : nullptr; 2441: 2441: 2441: 2441: } 2441: 2441: private: 2441: _Impl _M_impl; 2441: }; 2441: 2441: 2441: 2441: struct _Sp_make_shared_tag 2441: { 2441: private: 2441: template 2441: friend class _Sp_counted_ptr_inplace; 2441: 2441: static const type_info& 2441: _S_ti() noexcept __attribute__ ((__visibility__ ("default"))) 2441: { 2441: alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { }; 2441: return reinterpret_cast(__tag); 2441: } 2441: }; 2441: 2441: template 2441: struct _Sp_alloc_shared_tag 2441: { 2441: const _Alloc& _M_a; 2441: }; 2441: 2441: template 2441: class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp> 2441: { 2441: class _Impl : _Sp_ebo_helper<0, _Alloc> 2441: { 2441: typedef _Sp_ebo_helper<0, _Alloc> _A_base; 2441: 2441: public: 2441: explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { } 2441: 2441: _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); } 2441: 2441: __gnu_cxx::__aligned_buffer<_Tp> _M_storage; 2441: }; 2441: 2441: public: 2441: using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>; 2441: 2441: template 2441: _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args) 2441: : _M_impl(__a) 2441: { 2441: 2441: 2441: allocator_traits<_Alloc>::construct(__a, _M_ptr(), 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: ~_Sp_counted_ptr_inplace() noexcept { } 2441: 2441: virtual void 2441: _M_dispose() noexcept 2441: { 2441: allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr()); 2441: } 2441: 2441: 2441: virtual void 2441: _M_destroy() noexcept 2441: { 2441: __allocator_type __a(_M_impl._M_alloc()); 2441: __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; 2441: this->~_Sp_counted_ptr_inplace(); 2441: } 2441: 2441: private: 2441: friend class __shared_count<_Lp>; 2441: 2441: 2441: 2441: virtual void* 2441: _M_get_deleter(const std::type_info& __ti) noexcept override 2441: { 2441: 2441: 2441: if (&__ti == &_Sp_make_shared_tag::_S_ti()) 2441: return const_cast::type*>(_M_ptr()); 2441: 2441: 2441: 2441: else if (__ti == typeid(_Sp_make_shared_tag)) 2441: return const_cast::type*>(_M_ptr()); 2441: 2441: 2441: 2441: 2441: 2441: 2441: return nullptr; 2441: } 2441: 2441: _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); } 2441: 2441: _Impl _M_impl; 2441: }; 2441: 2441: 2441: struct __sp_array_delete 2441: { 2441: template 2441: void operator()(_Yp* __p) const { delete[] __p; } 2441: }; 2441: 2441: template<_Lock_policy _Lp> 2441: class __shared_count 2441: { 2441: template 2441: struct __not_alloc_shared_tag { using type = void; }; 2441: 2441: template 2441: struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { }; 2441: 2441: public: 2441: constexpr __shared_count() noexcept : _M_pi(0) 2441: { } 2441: 2441: template 2441: explicit 2441: __shared_count(_Ptr __p) : _M_pi(0) 2441: { 2441: try 2441: { 2441: _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p); 2441: } 2441: catch(...) 2441: { 2441: delete __p; 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: __shared_count(_Ptr __p, false_type) 2441: : __shared_count(__p) 2441: { } 2441: 2441: template 2441: __shared_count(_Ptr __p, true_type) 2441: : __shared_count(__p, __sp_array_delete{}, allocator()) 2441: { } 2441: 2441: template::type> 2441: __shared_count(_Ptr __p, _Deleter __d) 2441: : __shared_count(__p, std::move(__d), allocator()) 2441: { } 2441: 2441: template::type> 2441: __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0) 2441: { 2441: typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type; 2441: try 2441: { 2441: typename _Sp_cd_type::__allocator_type __a2(__a); 2441: auto __guard = std::__allocate_guarded(__a2); 2441: _Sp_cd_type* __mem = __guard.get(); 2441: ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a)); 2441: _M_pi = __mem; 2441: __guard = nullptr; 2441: } 2441: catch(...) 2441: { 2441: __d(__p); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a, 2441: _Args&&... __args) 2441: { 2441: typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type; 2441: typename _Sp_cp_type::__allocator_type __a2(__a._M_a); 2441: auto __guard = std::__allocate_guarded(__a2); 2441: _Sp_cp_type* __mem = __guard.get(); 2441: auto __pi = ::new (__mem) 2441: _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...); 2441: __guard = nullptr; 2441: _M_pi = __pi; 2441: __p = __pi->_M_ptr(); 2441: } 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: 2441: template 2441: explicit 2441: __shared_count(std::auto_ptr<_Tp>&& __r); 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: 2441: template 2441: explicit 2441: __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0) 2441: { 2441: 2441: 2441: if (__r.get() == nullptr) 2441: return; 2441: 2441: using _Ptr = typename unique_ptr<_Tp, _Del>::pointer; 2441: using _Del2 = typename conditional::value, 2441: reference_wrapper::type>, 2441: _Del>::type; 2441: using _Sp_cd_type 2441: = _Sp_counted_deleter<_Ptr, _Del2, allocator, _Lp>; 2441: using _Alloc = allocator<_Sp_cd_type>; 2441: using _Alloc_traits = allocator_traits<_Alloc>; 2441: _Alloc __a; 2441: _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1); 2441: _Alloc_traits::construct(__a, __mem, __r.release(), 2441: __r.get_deleter()); 2441: _M_pi = __mem; 2441: } 2441: 2441: 2441: explicit __shared_count(const __weak_count<_Lp>& __r); 2441: 2441: 2441: explicit __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t); 2441: 2441: ~__shared_count() noexcept 2441: { 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_release(); 2441: } 2441: 2441: __shared_count(const __shared_count& __r) noexcept 2441: : _M_pi(__r._M_pi) 2441: { 2441: if (_M_pi != 0) 2441: _M_pi->_M_add_ref_copy(); 2441: } 2441: 2441: __shared_count& 2441: operator=(const __shared_count& __r) noexcept 2441: { 2441: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 2441: if (__tmp != _M_pi) 2441: { 2441: if (__tmp != 0) 2441: __tmp->_M_add_ref_copy(); 2441: if (_M_pi != 0) 2441: _M_pi->_M_release(); 2441: _M_pi = __tmp; 2441: } 2441: return *this; 2441: } 2441: 2441: void 2441: _M_swap(__shared_count& __r) noexcept 2441: { 2441: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 2441: __r._M_pi = _M_pi; 2441: _M_pi = __tmp; 2441: } 2441: 2441: long 2441: _M_get_use_count() const noexcept 2441: { return _M_pi != 0 ? _M_pi->_M_get_use_count() : 0; } 2441: 2441: bool 2441: _M_unique() const noexcept 2441: { return this->_M_get_use_count() == 1; } 2441: 2441: void* 2441: _M_get_deleter(const std::type_info& __ti) const noexcept 2441: { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; } 2441: 2441: bool 2441: _M_less(const __shared_count& __rhs) const noexcept 2441: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 2441: 2441: bool 2441: _M_less(const __weak_count<_Lp>& __rhs) const noexcept 2441: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 2441: 2441: 2441: friend inline bool 2441: operator==(const __shared_count& __a, const __shared_count& __b) noexcept 2441: { return __a._M_pi == __b._M_pi; } 2441: 2441: private: 2441: friend class __weak_count<_Lp>; 2441: 2441: _Sp_counted_base<_Lp>* _M_pi; 2441: }; 2441: 2441: 2441: template<_Lock_policy _Lp> 2441: class __weak_count 2441: { 2441: public: 2441: constexpr __weak_count() noexcept : _M_pi(nullptr) 2441: { } 2441: 2441: __weak_count(const __shared_count<_Lp>& __r) noexcept 2441: : _M_pi(__r._M_pi) 2441: { 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_weak_add_ref(); 2441: } 2441: 2441: __weak_count(const __weak_count& __r) noexcept 2441: : _M_pi(__r._M_pi) 2441: { 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_weak_add_ref(); 2441: } 2441: 2441: __weak_count(__weak_count&& __r) noexcept 2441: : _M_pi(__r._M_pi) 2441: { __r._M_pi = nullptr; } 2441: 2441: ~__weak_count() noexcept 2441: { 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_weak_release(); 2441: } 2441: 2441: __weak_count& 2441: operator=(const __shared_count<_Lp>& __r) noexcept 2441: { 2441: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 2441: if (__tmp != nullptr) 2441: __tmp->_M_weak_add_ref(); 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_weak_release(); 2441: _M_pi = __tmp; 2441: return *this; 2441: } 2441: 2441: __weak_count& 2441: operator=(const __weak_count& __r) noexcept 2441: { 2441: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 2441: if (__tmp != nullptr) 2441: __tmp->_M_weak_add_ref(); 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_weak_release(); 2441: _M_pi = __tmp; 2441: return *this; 2441: } 2441: 2441: __weak_count& 2441: operator=(__weak_count&& __r) noexcept 2441: { 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_weak_release(); 2441: _M_pi = __r._M_pi; 2441: __r._M_pi = nullptr; 2441: return *this; 2441: } 2441: 2441: void 2441: _M_swap(__weak_count& __r) noexcept 2441: { 2441: _Sp_counted_base<_Lp>* __tmp = __r._M_pi; 2441: __r._M_pi = _M_pi; 2441: _M_pi = __tmp; 2441: } 2441: 2441: long 2441: _M_get_use_count() const noexcept 2441: { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; } 2441: 2441: bool 2441: _M_less(const __weak_count& __rhs) const noexcept 2441: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 2441: 2441: bool 2441: _M_less(const __shared_count<_Lp>& __rhs) const noexcept 2441: { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } 2441: 2441: 2441: friend inline bool 2441: operator==(const __weak_count& __a, const __weak_count& __b) noexcept 2441: { return __a._M_pi == __b._M_pi; } 2441: 2441: private: 2441: friend class __shared_count<_Lp>; 2441: 2441: _Sp_counted_base<_Lp>* _M_pi; 2441: }; 2441: 2441: 2441: template<_Lock_policy _Lp> 2441: inline 2441: __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r) 2441: : _M_pi(__r._M_pi) 2441: { 2441: if (_M_pi != nullptr) 2441: _M_pi->_M_add_ref_lock(); 2441: else 2441: __throw_bad_weak_ptr(); 2441: } 2441: 2441: 2441: template<_Lock_policy _Lp> 2441: inline 2441: __shared_count<_Lp>:: 2441: __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) 2441: : _M_pi(__r._M_pi) 2441: { 2441: if (_M_pi != nullptr) 2441: if (!_M_pi->_M_add_ref_lock_nothrow()) 2441: _M_pi = nullptr; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: struct __sp_compatible_with 2441: : false_type 2441: { }; 2441: 2441: template 2441: struct __sp_compatible_with<_Yp*, _Tp*> 2441: : is_convertible<_Yp*, _Tp*>::type 2441: { }; 2441: 2441: template 2441: struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]> 2441: : true_type 2441: { }; 2441: 2441: template 2441: struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]> 2441: : true_type 2441: { }; 2441: 2441: template 2441: struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]> 2441: : true_type 2441: { }; 2441: 2441: template 2441: struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]> 2441: : true_type 2441: { }; 2441: 2441: 2441: template 2441: struct __sp_is_constructible_arrN 2441: : false_type 2441: { }; 2441: 2441: template 2441: struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>> 2441: : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type 2441: { }; 2441: 2441: 2441: template 2441: struct __sp_is_constructible_arr 2441: : false_type 2441: { }; 2441: 2441: template 2441: struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>> 2441: : is_convertible<_Yp(*)[], _Up(*)[]>::type 2441: { }; 2441: 2441: 2441: template 2441: struct __sp_is_constructible; 2441: 2441: 2441: template 2441: struct __sp_is_constructible<_Up[_Nm], _Yp> 2441: : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type 2441: { }; 2441: 2441: 2441: template 2441: struct __sp_is_constructible<_Up[], _Yp> 2441: : __sp_is_constructible_arr<_Up, _Yp>::type 2441: { }; 2441: 2441: 2441: template 2441: struct __sp_is_constructible 2441: : is_convertible<_Yp*, _Tp*>::type 2441: { }; 2441: 2441: 2441: 2441: template::value, bool = is_void<_Tp>::value> 2441: class __shared_ptr_access 2441: { 2441: public: 2441: using element_type = _Tp; 2441: 2441: element_type& 2441: operator*() const noexcept 2441: { 2441: ; 2441: return *_M_get(); 2441: } 2441: 2441: element_type* 2441: operator->() const noexcept 2441: { 2441: ; 2441: return _M_get(); 2441: } 2441: 2441: private: 2441: element_type* 2441: _M_get() const noexcept 2441: { return static_cast*>(this)->get(); } 2441: }; 2441: 2441: 2441: template 2441: class __shared_ptr_access<_Tp, _Lp, false, true> 2441: { 2441: public: 2441: using element_type = _Tp; 2441: 2441: element_type* 2441: operator->() const noexcept 2441: { 2441: auto __ptr = static_cast*>(this)->get(); 2441: ; 2441: return __ptr; 2441: } 2441: }; 2441: 2441: 2441: template 2441: class __shared_ptr_access<_Tp, _Lp, true, false> 2441: { 2441: public: 2441: using element_type = typename remove_extent<_Tp>::type; 2441: 2441: 2441: [[__deprecated__("shared_ptr::operator* is absent from C++17")]] 2441: element_type& 2441: operator*() const noexcept 2441: { 2441: ; 2441: return *_M_get(); 2441: } 2441: 2441: [[__deprecated__("shared_ptr::operator-> is absent from C++17")]] 2441: element_type* 2441: operator->() const noexcept 2441: { 2441: ; 2441: return _M_get(); 2441: } 2441: 2441: 2441: element_type& 2441: operator[](ptrdiff_t __i) const 2441: { 2441: ; 2441: ; 2441: return _M_get()[__i]; 2441: } 2441: 2441: private: 2441: element_type* 2441: _M_get() const noexcept 2441: { return static_cast*>(this)->get(); } 2441: }; 2441: 2441: template 2441: class __shared_ptr 2441: : public __shared_ptr_access<_Tp, _Lp> 2441: { 2441: public: 2441: using element_type = typename remove_extent<_Tp>::type; 2441: 2441: private: 2441: 2441: template 2441: using _SafeConv 2441: = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type; 2441: 2441: 2441: template 2441: using _Compatible = typename 2441: enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type; 2441: 2441: 2441: template 2441: using _Assignable = _Compatible<_Yp, __shared_ptr&>; 2441: 2441: 2441: template::pointer> 2441: using _UniqCompatible = typename enable_if<__and_< 2441: __sp_compatible_with<_Yp*, _Tp*>, is_convertible<_Ptr, element_type*> 2441: >::value, _Res>::type; 2441: 2441: 2441: template 2441: using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: constexpr __shared_ptr() noexcept 2441: : _M_ptr(0), _M_refcount() 2441: { } 2441: 2441: template> 2441: explicit 2441: __shared_ptr(_Yp* __p) 2441: : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type()) 2441: { 2441: static_assert( !is_void<_Yp>::value, "incomplete type" ); 2441: static_assert( sizeof(_Yp) > 0, "incomplete type" ); 2441: _M_enable_shared_from_this_with(__p); 2441: } 2441: 2441: template> 2441: __shared_ptr(_Yp* __p, _Deleter __d) 2441: : _M_ptr(__p), _M_refcount(__p, std::move(__d)) 2441: { 2441: static_assert(__is_invocable<_Deleter&, _Yp*&>::value, 2441: "deleter expression d(p) is well-formed"); 2441: _M_enable_shared_from_this_with(__p); 2441: } 2441: 2441: template> 2441: __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a) 2441: : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a)) 2441: { 2441: static_assert(__is_invocable<_Deleter&, _Yp*&>::value, 2441: "deleter expression d(p) is well-formed"); 2441: _M_enable_shared_from_this_with(__p); 2441: } 2441: 2441: template 2441: __shared_ptr(nullptr_t __p, _Deleter __d) 2441: : _M_ptr(0), _M_refcount(__p, std::move(__d)) 2441: { } 2441: 2441: template 2441: __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) 2441: : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a)) 2441: { } 2441: 2441: template 2441: __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r, 2441: element_type* __p) noexcept 2441: : _M_ptr(__p), _M_refcount(__r._M_refcount) 2441: { } 2441: 2441: __shared_ptr(const __shared_ptr&) noexcept = default; 2441: __shared_ptr& operator=(const __shared_ptr&) noexcept = default; 2441: ~__shared_ptr() = default; 2441: 2441: template> 2441: __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept 2441: : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) 2441: { } 2441: 2441: __shared_ptr(__shared_ptr&& __r) noexcept 2441: : _M_ptr(__r._M_ptr), _M_refcount() 2441: { 2441: _M_refcount._M_swap(__r._M_refcount); 2441: __r._M_ptr = 0; 2441: } 2441: 2441: template> 2441: __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept 2441: : _M_ptr(__r._M_ptr), _M_refcount() 2441: { 2441: _M_refcount._M_swap(__r._M_refcount); 2441: __r._M_ptr = 0; 2441: } 2441: 2441: template> 2441: explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r) 2441: : _M_refcount(__r._M_refcount) 2441: { 2441: 2441: 2441: _M_ptr = __r._M_ptr; 2441: } 2441: 2441: 2441: template> 2441: __shared_ptr(unique_ptr<_Yp, _Del>&& __r) 2441: : _M_ptr(__r.get()), _M_refcount() 2441: { 2441: auto __raw = __to_address(__r.get()); 2441: _M_refcount = __shared_count<_Lp>(std::move(__r)); 2441: _M_enable_shared_from_this_with(__raw); 2441: } 2441: 2441: 2441: protected: 2441: 2441: template>, is_array<_Tp1>, 2441: is_convertible::pointer, _Tp*> 2441: >::value, bool>::type = true> 2441: __shared_ptr(unique_ptr<_Tp1, _Del>&& __r, __sp_array_delete) 2441: : _M_ptr(__r.get()), _M_refcount() 2441: { 2441: auto __raw = __to_address(__r.get()); 2441: _M_refcount = __shared_count<_Lp>(std::move(__r)); 2441: _M_enable_shared_from_this_with(__raw); 2441: } 2441: public: 2441: 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: 2441: template> 2441: __shared_ptr(auto_ptr<_Yp>&& __r); 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { } 2441: 2441: template 2441: _Assignable<_Yp> 2441: operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept 2441: { 2441: _M_ptr = __r._M_ptr; 2441: _M_refcount = __r._M_refcount; 2441: return *this; 2441: } 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: template 2441: _Assignable<_Yp> 2441: operator=(auto_ptr<_Yp>&& __r) 2441: { 2441: __shared_ptr(std::move(__r)).swap(*this); 2441: return *this; 2441: } 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: __shared_ptr& 2441: operator=(__shared_ptr&& __r) noexcept 2441: { 2441: __shared_ptr(std::move(__r)).swap(*this); 2441: return *this; 2441: } 2441: 2441: template 2441: _Assignable<_Yp> 2441: operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept 2441: { 2441: __shared_ptr(std::move(__r)).swap(*this); 2441: return *this; 2441: } 2441: 2441: template 2441: _UniqAssignable<_Yp, _Del> 2441: operator=(unique_ptr<_Yp, _Del>&& __r) 2441: { 2441: __shared_ptr(std::move(__r)).swap(*this); 2441: return *this; 2441: } 2441: 2441: void 2441: reset() noexcept 2441: { __shared_ptr().swap(*this); } 2441: 2441: template 2441: _SafeConv<_Yp> 2441: reset(_Yp* __p) 2441: { 2441: 2441: ; 2441: __shared_ptr(__p).swap(*this); 2441: } 2441: 2441: template 2441: _SafeConv<_Yp> 2441: reset(_Yp* __p, _Deleter __d) 2441: { __shared_ptr(__p, std::move(__d)).swap(*this); } 2441: 2441: template 2441: _SafeConv<_Yp> 2441: reset(_Yp* __p, _Deleter __d, _Alloc __a) 2441: { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); } 2441: 2441: element_type* 2441: get() const noexcept 2441: { return _M_ptr; } 2441: 2441: explicit operator bool() const 2441: { return _M_ptr == 0 ? false : true; } 2441: 2441: bool 2441: unique() const noexcept 2441: { return _M_refcount._M_unique(); } 2441: 2441: long 2441: use_count() const noexcept 2441: { return _M_refcount._M_get_use_count(); } 2441: 2441: void 2441: swap(__shared_ptr<_Tp, _Lp>& __other) noexcept 2441: { 2441: std::swap(_M_ptr, __other._M_ptr); 2441: _M_refcount._M_swap(__other._M_refcount); 2441: } 2441: 2441: template 2441: bool 2441: owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept 2441: { return _M_refcount._M_less(__rhs._M_refcount); } 2441: 2441: template 2441: bool 2441: owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept 2441: { return _M_refcount._M_less(__rhs._M_refcount); } 2441: 2441: protected: 2441: 2441: template 2441: __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) 2441: : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...) 2441: { _M_enable_shared_from_this_with(_M_ptr); } 2441: 2441: template 2441: friend __shared_ptr<_Tp1, _Lp1> 2441: __allocate_shared(const _Alloc& __a, _Args&&... __args); 2441: 2441: 2441: 2441: __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) 2441: : _M_refcount(__r._M_refcount, std::nothrow) 2441: { 2441: _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr; 2441: } 2441: 2441: friend class __weak_ptr<_Tp, _Lp>; 2441: 2441: private: 2441: 2441: template 2441: using __esft_base_t = decltype(__enable_shared_from_this_base( 2441: std::declval&>(), 2441: std::declval<_Yp*>())); 2441: 2441: 2441: template 2441: struct __has_esft_base 2441: : false_type { }; 2441: 2441: template 2441: struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>> 2441: : __not_> { }; 2441: 2441: template::type> 2441: typename enable_if<__has_esft_base<_Yp2>::value>::type 2441: _M_enable_shared_from_this_with(_Yp* __p) noexcept 2441: { 2441: if (auto __base = __enable_shared_from_this_base(_M_refcount, __p)) 2441: __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount); 2441: } 2441: 2441: template::type> 2441: typename enable_if::value>::type 2441: _M_enable_shared_from_this_with(_Yp*) noexcept 2441: { } 2441: 2441: void* 2441: _M_get_deleter(const std::type_info& __ti) const noexcept 2441: { return _M_refcount._M_get_deleter(__ti); } 2441: 2441: template friend class __shared_ptr; 2441: template friend class __weak_ptr; 2441: 2441: template 2441: friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept; 2441: 2441: template 2441: friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept; 2441: 2441: element_type* _M_ptr; 2441: __shared_count<_Lp> _M_refcount; 2441: }; 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const __shared_ptr<_Tp1, _Lp>& __a, 2441: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 2441: { return __a.get() == __b.get(); } 2441: 2441: template 2441: inline bool 2441: operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 2441: { return !__a; } 2441: 2441: template 2441: inline bool 2441: operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 2441: { return !__a; } 2441: 2441: template 2441: inline bool 2441: operator!=(const __shared_ptr<_Tp1, _Lp>& __a, 2441: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 2441: { return __a.get() != __b.get(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 2441: { return (bool)__a; } 2441: 2441: template 2441: inline bool 2441: operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 2441: { return (bool)__a; } 2441: 2441: template 2441: inline bool 2441: operator<(const __shared_ptr<_Tp, _Lp>& __a, 2441: const __shared_ptr<_Up, _Lp>& __b) noexcept 2441: { 2441: using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; 2441: using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type; 2441: using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type; 2441: return less<_Vp>()(__a.get(), __b.get()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 2441: { 2441: using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; 2441: return less<_Tp_elt*>()(__a.get(), nullptr); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 2441: { 2441: using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; 2441: return less<_Tp_elt*>()(nullptr, __a.get()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<=(const __shared_ptr<_Tp1, _Lp>& __a, 2441: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 2441: { return !(__b < __a); } 2441: 2441: template 2441: inline bool 2441: operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 2441: { return !(nullptr < __a); } 2441: 2441: template 2441: inline bool 2441: operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 2441: { return !(__a < nullptr); } 2441: 2441: template 2441: inline bool 2441: operator>(const __shared_ptr<_Tp1, _Lp>& __a, 2441: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 2441: { return (__b < __a); } 2441: 2441: template 2441: inline bool 2441: operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 2441: { return nullptr < __a; } 2441: 2441: template 2441: inline bool 2441: operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 2441: { return __a < nullptr; } 2441: 2441: template 2441: inline bool 2441: operator>=(const __shared_ptr<_Tp1, _Lp>& __a, 2441: const __shared_ptr<_Tp2, _Lp>& __b) noexcept 2441: { return !(__a < __b); } 2441: 2441: template 2441: inline bool 2441: operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept 2441: { return !(__a < nullptr); } 2441: 2441: template 2441: inline bool 2441: operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept 2441: { return !(nullptr < __a); } 2441: 2441: template 2441: struct _Sp_less : public binary_function<_Sp, _Sp, bool> 2441: { 2441: bool 2441: operator()(const _Sp& __lhs, const _Sp& __rhs) const noexcept 2441: { 2441: typedef typename _Sp::element_type element_type; 2441: return std::less()(__lhs.get(), __rhs.get()); 2441: } 2441: }; 2441: 2441: template 2441: struct less<__shared_ptr<_Tp, _Lp>> 2441: : public _Sp_less<__shared_ptr<_Tp, _Lp>> 2441: { }; 2441: 2441: 2441: template 2441: inline void 2441: swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept 2441: { __a.swap(__b); } 2441: # 1544 "/usr/include/c++/8/bits/shared_ptr_base.h" 3 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept 2441: { 2441: using _Sp = __shared_ptr<_Tp, _Lp>; 2441: return _Sp(__r, static_cast(__r.get())); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept 2441: { 2441: using _Sp = __shared_ptr<_Tp, _Lp>; 2441: return _Sp(__r, const_cast(__r.get())); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept 2441: { 2441: using _Sp = __shared_ptr<_Tp, _Lp>; 2441: if (auto* __p = dynamic_cast(__r.get())) 2441: return _Sp(__r, __p); 2441: return _Sp(); 2441: } 2441: # 1590 "/usr/include/c++/8/bits/shared_ptr_base.h" 3 2441: template 2441: class __weak_ptr 2441: { 2441: template 2441: using _Compatible = typename 2441: enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type; 2441: 2441: 2441: template 2441: using _Assignable = _Compatible<_Yp, __weak_ptr&>; 2441: 2441: public: 2441: using element_type = typename remove_extent<_Tp>::type; 2441: 2441: constexpr __weak_ptr() noexcept 2441: : _M_ptr(nullptr), _M_refcount() 2441: { } 2441: 2441: __weak_ptr(const __weak_ptr&) noexcept = default; 2441: 2441: ~__weak_ptr() = default; 2441: # 1626 "/usr/include/c++/8/bits/shared_ptr_base.h" 3 2441: template> 2441: __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept 2441: : _M_refcount(__r._M_refcount) 2441: { _M_ptr = __r.lock().get(); } 2441: 2441: template> 2441: __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept 2441: : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) 2441: { } 2441: 2441: __weak_ptr(__weak_ptr&& __r) noexcept 2441: : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount)) 2441: { __r._M_ptr = nullptr; } 2441: 2441: template> 2441: __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept 2441: : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount)) 2441: { __r._M_ptr = nullptr; } 2441: 2441: __weak_ptr& 2441: operator=(const __weak_ptr& __r) noexcept = default; 2441: 2441: template 2441: _Assignable<_Yp> 2441: operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept 2441: { 2441: _M_ptr = __r.lock().get(); 2441: _M_refcount = __r._M_refcount; 2441: return *this; 2441: } 2441: 2441: template 2441: _Assignable<_Yp> 2441: operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept 2441: { 2441: _M_ptr = __r._M_ptr; 2441: _M_refcount = __r._M_refcount; 2441: return *this; 2441: } 2441: 2441: __weak_ptr& 2441: operator=(__weak_ptr&& __r) noexcept 2441: { 2441: _M_ptr = __r._M_ptr; 2441: _M_refcount = std::move(__r._M_refcount); 2441: __r._M_ptr = nullptr; 2441: return *this; 2441: } 2441: 2441: template 2441: _Assignable<_Yp> 2441: operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept 2441: { 2441: _M_ptr = __r.lock().get(); 2441: _M_refcount = std::move(__r._M_refcount); 2441: __r._M_ptr = nullptr; 2441: return *this; 2441: } 2441: 2441: __shared_ptr<_Tp, _Lp> 2441: lock() const noexcept 2441: { return __shared_ptr(*this, std::nothrow); } 2441: 2441: long 2441: use_count() const noexcept 2441: { return _M_refcount._M_get_use_count(); } 2441: 2441: bool 2441: expired() const noexcept 2441: { return _M_refcount._M_get_use_count() == 0; } 2441: 2441: template 2441: bool 2441: owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept 2441: { return _M_refcount._M_less(__rhs._M_refcount); } 2441: 2441: template 2441: bool 2441: owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept 2441: { return _M_refcount._M_less(__rhs._M_refcount); } 2441: 2441: void 2441: reset() noexcept 2441: { __weak_ptr().swap(*this); } 2441: 2441: void 2441: swap(__weak_ptr& __s) noexcept 2441: { 2441: std::swap(_M_ptr, __s._M_ptr); 2441: _M_refcount._M_swap(__s._M_refcount); 2441: } 2441: 2441: private: 2441: 2441: void 2441: _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept 2441: { 2441: if (use_count() == 0) 2441: { 2441: _M_ptr = __ptr; 2441: _M_refcount = __refcount; 2441: } 2441: } 2441: 2441: template friend class __shared_ptr; 2441: template friend class __weak_ptr; 2441: friend class __enable_shared_from_this<_Tp, _Lp>; 2441: friend class enable_shared_from_this<_Tp>; 2441: 2441: element_type* _M_ptr; 2441: __weak_count<_Lp> _M_refcount; 2441: }; 2441: 2441: 2441: template 2441: inline void 2441: swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept 2441: { __a.swap(__b); } 2441: 2441: template 2441: struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool> 2441: { 2441: bool 2441: operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept 2441: { return __lhs.owner_before(__rhs); } 2441: 2441: bool 2441: operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept 2441: { return __lhs.owner_before(__rhs); } 2441: 2441: bool 2441: operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept 2441: { return __lhs.owner_before(__rhs); } 2441: }; 2441: 2441: template<> 2441: struct _Sp_owner_less 2441: { 2441: template 2441: auto 2441: operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept 2441: -> decltype(__lhs.owner_before(__rhs)) 2441: { return __lhs.owner_before(__rhs); } 2441: 2441: using is_transparent = void; 2441: }; 2441: 2441: template 2441: struct owner_less<__shared_ptr<_Tp, _Lp>> 2441: : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>> 2441: { }; 2441: 2441: template 2441: struct owner_less<__weak_ptr<_Tp, _Lp>> 2441: : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>> 2441: { }; 2441: 2441: 2441: template 2441: class __enable_shared_from_this 2441: { 2441: protected: 2441: constexpr __enable_shared_from_this() noexcept { } 2441: 2441: __enable_shared_from_this(const __enable_shared_from_this&) noexcept { } 2441: 2441: __enable_shared_from_this& 2441: operator=(const __enable_shared_from_this&) noexcept 2441: { return *this; } 2441: 2441: ~__enable_shared_from_this() { } 2441: 2441: public: 2441: __shared_ptr<_Tp, _Lp> 2441: shared_from_this() 2441: { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); } 2441: 2441: __shared_ptr 2441: shared_from_this() const 2441: { return __shared_ptr(this->_M_weak_this); } 2441: 2441: 2441: __weak_ptr<_Tp, _Lp> 2441: weak_from_this() noexcept 2441: { return this->_M_weak_this; } 2441: 2441: __weak_ptr 2441: weak_from_this() const noexcept 2441: { return this->_M_weak_this; } 2441: 2441: 2441: private: 2441: template 2441: void 2441: _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept 2441: { _M_weak_this._M_assign(__p, __n); } 2441: 2441: friend const __enable_shared_from_this* 2441: __enable_shared_from_this_base(const __shared_count<_Lp>&, 2441: const __enable_shared_from_this* __p) 2441: { return __p; } 2441: 2441: template 2441: friend class __shared_ptr; 2441: 2441: mutable __weak_ptr<_Tp, _Lp> _M_weak_this; 2441: }; 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: __allocate_shared(const _Alloc& __a, _Args&&... __args) 2441: { 2441: return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a}, 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: __make_shared(_Args&&... __args) 2441: { 2441: typedef typename std::remove_const<_Tp>::type _Tp_nc; 2441: return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(), 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: 2441: template 2441: struct hash<__shared_ptr<_Tp, _Lp>> 2441: : public __hash_base> 2441: { 2441: size_t 2441: operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept 2441: { 2441: return hash::element_type*>()( 2441: __s.get()); 2441: } 2441: }; 2441: 2441: 2441: } 2441: # 53 "/usr/include/c++/8/bits/shared_ptr.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline std::basic_ostream<_Ch, _Tr>& 2441: operator<<(std::basic_ostream<_Ch, _Tr>& __os, 2441: const __shared_ptr<_Tp, _Lp>& __p) 2441: { 2441: __os << __p.get(); 2441: return __os; 2441: } 2441: 2441: template 2441: inline _Del* 2441: get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept 2441: { 2441: 2441: return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: template 2441: inline _Del* 2441: get_deleter(const shared_ptr<_Tp>& __p) noexcept 2441: { 2441: 2441: return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class shared_ptr : public __shared_ptr<_Tp> 2441: { 2441: template 2441: using _Constructible = typename enable_if< 2441: is_constructible<__shared_ptr<_Tp>, _Args...>::value 2441: >::type; 2441: 2441: template 2441: using _Assignable = typename enable_if< 2441: is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr& 2441: >::type; 2441: 2441: public: 2441: 2441: using element_type = typename __shared_ptr<_Tp>::element_type; 2441: # 127 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { } 2441: 2441: shared_ptr(const shared_ptr&) noexcept = default; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template> 2441: explicit 2441: shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { } 2441: # 154 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template> 2441: shared_ptr(_Yp* __p, _Deleter __d) 2441: : __shared_ptr<_Tp>(__p, std::move(__d)) { } 2441: # 172 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template 2441: shared_ptr(nullptr_t __p, _Deleter __d) 2441: : __shared_ptr<_Tp>(__p, std::move(__d)) { } 2441: # 191 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template> 2441: shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a) 2441: : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { } 2441: # 211 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template 2441: shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) 2441: : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { } 2441: # 233 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template 2441: shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept 2441: : __shared_ptr<_Tp>(__r, __p) { } 2441: # 244 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template&>> 2441: shared_ptr(const shared_ptr<_Yp>& __r) noexcept 2441: : __shared_ptr<_Tp>(__r) { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: shared_ptr(shared_ptr&& __r) noexcept 2441: : __shared_ptr<_Tp>(std::move(__r)) { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template>> 2441: shared_ptr(shared_ptr<_Yp>&& __r) noexcept 2441: : __shared_ptr<_Tp>(std::move(__r)) { } 2441: # 274 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template&>> 2441: explicit shared_ptr(const weak_ptr<_Yp>& __r) 2441: : __shared_ptr<_Tp>(__r) { } 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: template>> 2441: shared_ptr(auto_ptr<_Yp>&& __r); 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: 2441: 2441: template>> 2441: shared_ptr(unique_ptr<_Yp, _Del>&& __r) 2441: : __shared_ptr<_Tp>(std::move(__r)) { } 2441: 2441: 2441: 2441: 2441: 2441: template, __sp_array_delete>* = 0> 2441: shared_ptr(unique_ptr<_Yp, _Del>&& __r) 2441: : __shared_ptr<_Tp>(std::move(__r), __sp_array_delete()) { } 2441: 2441: 2441: 2441: 2441: 2441: 2441: constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { } 2441: 2441: shared_ptr& operator=(const shared_ptr&) noexcept = default; 2441: 2441: template 2441: _Assignable&> 2441: operator=(const shared_ptr<_Yp>& __r) noexcept 2441: { 2441: this->__shared_ptr<_Tp>::operator=(__r); 2441: return *this; 2441: } 2441: 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: template 2441: _Assignable> 2441: operator=(auto_ptr<_Yp>&& __r) 2441: { 2441: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 2441: return *this; 2441: } 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: shared_ptr& 2441: operator=(shared_ptr&& __r) noexcept 2441: { 2441: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 2441: return *this; 2441: } 2441: 2441: template 2441: _Assignable> 2441: operator=(shared_ptr<_Yp>&& __r) noexcept 2441: { 2441: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 2441: return *this; 2441: } 2441: 2441: template 2441: _Assignable> 2441: operator=(unique_ptr<_Yp, _Del>&& __r) 2441: { 2441: this->__shared_ptr<_Tp>::operator=(std::move(__r)); 2441: return *this; 2441: } 2441: 2441: private: 2441: 2441: template 2441: shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) 2441: : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...) 2441: { } 2441: 2441: template 2441: friend shared_ptr<_Yp> 2441: allocate_shared(const _Alloc& __a, _Args&&... __args); 2441: 2441: 2441: shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) 2441: : __shared_ptr<_Tp>(__r, std::nothrow) { } 2441: 2441: friend class weak_ptr<_Tp>; 2441: }; 2441: # 381 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template 2441: inline bool 2441: operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 2441: { return __a.get() == __b.get(); } 2441: 2441: template 2441: inline bool 2441: operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 2441: { return !__a; } 2441: 2441: template 2441: inline bool 2441: operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 2441: { return !__a; } 2441: 2441: template 2441: inline bool 2441: operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 2441: { return __a.get() != __b.get(); } 2441: 2441: template 2441: inline bool 2441: operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 2441: { return (bool)__a; } 2441: 2441: template 2441: inline bool 2441: operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 2441: { return (bool)__a; } 2441: 2441: template 2441: inline bool 2441: operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 2441: { 2441: using _Tp_elt = typename shared_ptr<_Tp>::element_type; 2441: using _Up_elt = typename shared_ptr<_Up>::element_type; 2441: using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type; 2441: return less<_Vp>()(__a.get(), __b.get()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 2441: { 2441: using _Tp_elt = typename shared_ptr<_Tp>::element_type; 2441: return less<_Tp_elt*>()(__a.get(), nullptr); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 2441: { 2441: using _Tp_elt = typename shared_ptr<_Tp>::element_type; 2441: return less<_Tp_elt*>()(nullptr, __a.get()); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 2441: { return !(__b < __a); } 2441: 2441: template 2441: inline bool 2441: operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 2441: { return !(nullptr < __a); } 2441: 2441: template 2441: inline bool 2441: operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 2441: { return !(__a < nullptr); } 2441: 2441: template 2441: inline bool 2441: operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 2441: { return (__b < __a); } 2441: 2441: template 2441: inline bool 2441: operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 2441: { return nullptr < __a; } 2441: 2441: template 2441: inline bool 2441: operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 2441: { return __a < nullptr; } 2441: 2441: template 2441: inline bool 2441: operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept 2441: { return !(__a < __b); } 2441: 2441: template 2441: inline bool 2441: operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept 2441: { return !(__a < nullptr); } 2441: 2441: template 2441: inline bool 2441: operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept 2441: { return !(nullptr < __a); } 2441: 2441: template 2441: struct less> : public _Sp_less> 2441: { }; 2441: 2441: 2441: template 2441: inline void 2441: swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept 2441: { __a.swap(__b); } 2441: 2441: 2441: template 2441: inline shared_ptr<_Tp> 2441: static_pointer_cast(const shared_ptr<_Up>& __r) noexcept 2441: { 2441: using _Sp = shared_ptr<_Tp>; 2441: return _Sp(__r, static_cast(__r.get())); 2441: } 2441: 2441: template 2441: inline shared_ptr<_Tp> 2441: const_pointer_cast(const shared_ptr<_Up>& __r) noexcept 2441: { 2441: using _Sp = shared_ptr<_Tp>; 2441: return _Sp(__r, const_cast(__r.get())); 2441: } 2441: 2441: template 2441: inline shared_ptr<_Tp> 2441: dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept 2441: { 2441: using _Sp = shared_ptr<_Tp>; 2441: if (auto* __p = dynamic_cast(__r.get())) 2441: return _Sp(__r, __p); 2441: return _Sp(); 2441: } 2441: # 534 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template 2441: class weak_ptr : public __weak_ptr<_Tp> 2441: { 2441: template 2441: using _Constructible = typename enable_if< 2441: is_constructible<__weak_ptr<_Tp>, _Arg>::value 2441: >::type; 2441: 2441: template 2441: using _Assignable = typename enable_if< 2441: is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr& 2441: >::type; 2441: 2441: public: 2441: constexpr weak_ptr() noexcept = default; 2441: 2441: template&>> 2441: weak_ptr(const shared_ptr<_Yp>& __r) noexcept 2441: : __weak_ptr<_Tp>(__r) { } 2441: 2441: weak_ptr(const weak_ptr&) noexcept = default; 2441: 2441: template&>> 2441: weak_ptr(const weak_ptr<_Yp>& __r) noexcept 2441: : __weak_ptr<_Tp>(__r) { } 2441: 2441: weak_ptr(weak_ptr&&) noexcept = default; 2441: 2441: template>> 2441: weak_ptr(weak_ptr<_Yp>&& __r) noexcept 2441: : __weak_ptr<_Tp>(std::move(__r)) { } 2441: 2441: weak_ptr& 2441: operator=(const weak_ptr& __r) noexcept = default; 2441: 2441: template 2441: _Assignable&> 2441: operator=(const weak_ptr<_Yp>& __r) noexcept 2441: { 2441: this->__weak_ptr<_Tp>::operator=(__r); 2441: return *this; 2441: } 2441: 2441: template 2441: _Assignable&> 2441: operator=(const shared_ptr<_Yp>& __r) noexcept 2441: { 2441: this->__weak_ptr<_Tp>::operator=(__r); 2441: return *this; 2441: } 2441: 2441: weak_ptr& 2441: operator=(weak_ptr&& __r) noexcept = default; 2441: 2441: template 2441: _Assignable> 2441: operator=(weak_ptr<_Yp>&& __r) noexcept 2441: { 2441: this->__weak_ptr<_Tp>::operator=(std::move(__r)); 2441: return *this; 2441: } 2441: 2441: shared_ptr<_Tp> 2441: lock() const noexcept 2441: { return shared_ptr<_Tp>(*this, std::nothrow); } 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept 2441: { __a.swap(__b); } 2441: 2441: 2441: 2441: template 2441: struct owner_less; 2441: 2441: 2441: template<> 2441: struct owner_less : _Sp_owner_less 2441: { }; 2441: 2441: 2441: template 2441: struct owner_less> 2441: : public _Sp_owner_less, weak_ptr<_Tp>> 2441: { }; 2441: 2441: 2441: template 2441: struct owner_less> 2441: : public _Sp_owner_less, shared_ptr<_Tp>> 2441: { }; 2441: 2441: 2441: 2441: 2441: template 2441: class enable_shared_from_this 2441: { 2441: protected: 2441: constexpr enable_shared_from_this() noexcept { } 2441: 2441: enable_shared_from_this(const enable_shared_from_this&) noexcept { } 2441: 2441: enable_shared_from_this& 2441: operator=(const enable_shared_from_this&) noexcept 2441: { return *this; } 2441: 2441: ~enable_shared_from_this() { } 2441: 2441: public: 2441: shared_ptr<_Tp> 2441: shared_from_this() 2441: { return shared_ptr<_Tp>(this->_M_weak_this); } 2441: 2441: shared_ptr 2441: shared_from_this() const 2441: { return shared_ptr(this->_M_weak_this); } 2441: 2441: 2441: 2441: weak_ptr<_Tp> 2441: weak_from_this() noexcept 2441: { return this->_M_weak_this; } 2441: 2441: weak_ptr 2441: weak_from_this() const noexcept 2441: { return this->_M_weak_this; } 2441: 2441: 2441: private: 2441: template 2441: void 2441: _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept 2441: { _M_weak_this._M_assign(__p, __n); } 2441: 2441: 2441: friend const enable_shared_from_this* 2441: __enable_shared_from_this_base(const __shared_count<>&, 2441: const enable_shared_from_this* __p) 2441: { return __p; } 2441: 2441: template 2441: friend class __shared_ptr; 2441: 2441: mutable weak_ptr<_Tp> _M_weak_this; 2441: }; 2441: # 701 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template 2441: inline shared_ptr<_Tp> 2441: allocate_shared(const _Alloc& __a, _Args&&... __args) 2441: { 2441: return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a}, 2441: std::forward<_Args>(__args)...); 2441: } 2441: # 716 "/usr/include/c++/8/bits/shared_ptr.h" 3 2441: template 2441: inline shared_ptr<_Tp> 2441: make_shared(_Args&&... __args) 2441: { 2441: typedef typename std::remove_cv<_Tp>::type _Tp_nc; 2441: return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(), 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: 2441: template 2441: struct hash> 2441: : public __hash_base> 2441: { 2441: size_t 2441: operator()(const shared_ptr<_Tp>& __s) const noexcept 2441: { 2441: return std::hash::element_type*>()(__s.get()); 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: } 2441: # 82 "/usr/include/c++/8/memory" 2 3 2441: # 1 "/usr/include/c++/8/bits/shared_ptr_atomic.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/shared_ptr_atomic.h" 3 2441: # 1 "/usr/include/c++/8/bits/atomic_base.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/atomic_base.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/atomic_base.h" 3 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 3 2441: # 38 "/usr/include/c++/8/bits/atomic_base.h" 2 3 2441: 2441: 2441: 2441: 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 55 "/usr/include/c++/8/bits/atomic_base.h" 3 2441: typedef enum memory_order 2441: { 2441: memory_order_relaxed, 2441: memory_order_consume, 2441: memory_order_acquire, 2441: memory_order_release, 2441: memory_order_acq_rel, 2441: memory_order_seq_cst 2441: } memory_order; 2441: 2441: enum __memory_order_modifier 2441: { 2441: __memory_order_mask = 0x0ffff, 2441: __memory_order_modifier_mask = 0xffff0000, 2441: __memory_order_hle_acquire = 0x10000, 2441: __memory_order_hle_release = 0x20000 2441: }; 2441: 2441: constexpr memory_order 2441: operator|(memory_order __m, __memory_order_modifier __mod) 2441: { 2441: return memory_order(__m | int(__mod)); 2441: } 2441: 2441: constexpr memory_order 2441: operator&(memory_order __m, __memory_order_modifier __mod) 2441: { 2441: return memory_order(__m & int(__mod)); 2441: } 2441: 2441: 2441: constexpr memory_order 2441: __cmpexch_failure_order2(memory_order __m) noexcept 2441: { 2441: return __m == memory_order_acq_rel ? memory_order_acquire 2441: : __m == memory_order_release ? memory_order_relaxed : __m; 2441: } 2441: 2441: constexpr memory_order 2441: __cmpexch_failure_order(memory_order __m) noexcept 2441: { 2441: return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask) 2441: | (__m & __memory_order_modifier_mask)); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: atomic_thread_fence(memory_order __m) noexcept 2441: { __atomic_thread_fence(__m); } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: atomic_signal_fence(memory_order __m) noexcept 2441: { __atomic_signal_fence(__m); } 2441: 2441: 2441: template 2441: inline _Tp 2441: kill_dependency(_Tp __y) noexcept 2441: { 2441: _Tp __ret(__y); 2441: return __ret; 2441: } 2441: 2441: 2441: 2441: template 2441: struct __atomic_base; 2441: 2441: 2441: 2441: 2441: template 2441: struct atomic; 2441: 2441: template 2441: struct atomic<_Tp*>; 2441: 2441: 2441: 2441: typedef bool __atomic_flag_data_type; 2441: # 148 "/usr/include/c++/8/bits/atomic_base.h" 3 2441: extern "C" { 2441: 2441: struct __atomic_flag_base 2441: { 2441: __atomic_flag_data_type _M_i; 2441: }; 2441: 2441: } 2441: 2441: 2441: 2441: 2441: struct atomic_flag : public __atomic_flag_base 2441: { 2441: atomic_flag() noexcept = default; 2441: ~atomic_flag() noexcept = default; 2441: atomic_flag(const atomic_flag&) = delete; 2441: atomic_flag& operator=(const atomic_flag&) = delete; 2441: atomic_flag& operator=(const atomic_flag&) volatile = delete; 2441: 2441: 2441: constexpr atomic_flag(bool __i) noexcept 2441: : __atomic_flag_base{ _S_init(__i) } 2441: { } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: test_and_set(memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: return __atomic_test_and_set (&_M_i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: return __atomic_test_and_set (&_M_i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: clear(memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: __atomic_clear (&_M_i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: clear(memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: __atomic_clear (&_M_i, __m); 2441: } 2441: 2441: private: 2441: static constexpr __atomic_flag_data_type 2441: _S_init(bool __i) 2441: { return __i ? 1 : 0; } 2441: }; 2441: # 237 "/usr/include/c++/8/bits/atomic_base.h" 3 2441: template 2441: struct __atomic_base 2441: { 2441: private: 2441: typedef _ITp __int_type; 2441: 2441: static constexpr int _S_alignment = 2441: sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp); 2441: 2441: alignas(_S_alignment) __int_type _M_i; 2441: 2441: public: 2441: __atomic_base() noexcept = default; 2441: ~__atomic_base() noexcept = default; 2441: __atomic_base(const __atomic_base&) = delete; 2441: __atomic_base& operator=(const __atomic_base&) = delete; 2441: __atomic_base& operator=(const __atomic_base&) volatile = delete; 2441: 2441: 2441: constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { } 2441: 2441: operator __int_type() const noexcept 2441: { return load(); } 2441: 2441: operator __int_type() const volatile noexcept 2441: { return load(); } 2441: 2441: __int_type 2441: operator=(__int_type __i) noexcept 2441: { 2441: store(__i); 2441: return __i; 2441: } 2441: 2441: __int_type 2441: operator=(__int_type __i) volatile noexcept 2441: { 2441: store(__i); 2441: return __i; 2441: } 2441: 2441: __int_type 2441: operator++(int) noexcept 2441: { return fetch_add(1); } 2441: 2441: __int_type 2441: operator++(int) volatile noexcept 2441: { return fetch_add(1); } 2441: 2441: __int_type 2441: operator--(int) noexcept 2441: { return fetch_sub(1); } 2441: 2441: __int_type 2441: operator--(int) volatile noexcept 2441: { return fetch_sub(1); } 2441: 2441: __int_type 2441: operator++() noexcept 2441: { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator++() volatile noexcept 2441: { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator--() noexcept 2441: { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator--() volatile noexcept 2441: { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator+=(__int_type __i) noexcept 2441: { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator+=(__int_type __i) volatile noexcept 2441: { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator-=(__int_type __i) noexcept 2441: { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator-=(__int_type __i) volatile noexcept 2441: { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator&=(__int_type __i) noexcept 2441: { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator&=(__int_type __i) volatile noexcept 2441: { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator|=(__int_type __i) noexcept 2441: { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator|=(__int_type __i) volatile noexcept 2441: { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator^=(__int_type __i) noexcept 2441: { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: __int_type 2441: operator^=(__int_type __i) volatile noexcept 2441: { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } 2441: 2441: bool 2441: is_lock_free() const noexcept 2441: { 2441: 2441: return __atomic_is_lock_free(sizeof(_M_i), 2441: reinterpret_cast(-__alignof(_M_i))); 2441: } 2441: 2441: bool 2441: is_lock_free() const volatile noexcept 2441: { 2441: 2441: return __atomic_is_lock_free(sizeof(_M_i), 2441: reinterpret_cast(-__alignof(_M_i))); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: __atomic_store_n(&_M_i, __i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: store(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: __atomic_store_n(&_M_i, __i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: load(memory_order __m = memory_order_seq_cst) const noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: 2441: return __atomic_load_n(&_M_i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: 2441: return __atomic_load_n(&_M_i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: exchange(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: return __atomic_exchange_n(&_M_i, __i, __m); 2441: } 2441: 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: exchange(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: return __atomic_exchange_n(&_M_i, __i, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_weak(__int_type& __i1, __int_type __i2, 2441: memory_order __m1, memory_order __m2) noexcept 2441: { 2441: memory_order __b2 = __m2 & __memory_order_mask; 2441: memory_order __b1 = __m1 & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_weak(__int_type& __i1, __int_type __i2, 2441: memory_order __m1, 2441: memory_order __m2) volatile noexcept 2441: { 2441: memory_order __b2 = __m2 & __memory_order_mask; 2441: memory_order __b1 = __m1 & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_weak(__int_type& __i1, __int_type __i2, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: return compare_exchange_weak(__i1, __i2, __m, 2441: __cmpexch_failure_order(__m)); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_weak(__int_type& __i1, __int_type __i2, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: return compare_exchange_weak(__i1, __i2, __m, 2441: __cmpexch_failure_order(__m)); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_strong(__int_type& __i1, __int_type __i2, 2441: memory_order __m1, memory_order __m2) noexcept 2441: { 2441: memory_order __b2 = __m2 & __memory_order_mask; 2441: memory_order __b1 = __m1 & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_strong(__int_type& __i1, __int_type __i2, 2441: memory_order __m1, 2441: memory_order __m2) volatile noexcept 2441: { 2441: memory_order __b2 = __m2 & __memory_order_mask; 2441: memory_order __b1 = __m1 & __memory_order_mask; 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_strong(__int_type& __i1, __int_type __i2, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: return compare_exchange_strong(__i1, __i2, __m, 2441: __cmpexch_failure_order(__m)); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_strong(__int_type& __i1, __int_type __i2, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: return compare_exchange_strong(__i1, __i2, __m, 2441: __cmpexch_failure_order(__m)); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_add(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { return __atomic_fetch_add(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_add(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { return __atomic_fetch_add(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_sub(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { return __atomic_fetch_sub(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_sub(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { return __atomic_fetch_sub(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_and(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { return __atomic_fetch_and(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_and(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { return __atomic_fetch_and(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_or(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { return __atomic_fetch_or(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_or(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { return __atomic_fetch_or(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_xor(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { return __atomic_fetch_xor(&_M_i, __i, __m); } 2441: 2441: inline __attribute__((__always_inline__)) __int_type 2441: fetch_xor(__int_type __i, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { return __atomic_fetch_xor(&_M_i, __i, __m); } 2441: }; 2441: 2441: 2441: 2441: template 2441: struct __atomic_base<_PTp*> 2441: { 2441: private: 2441: typedef _PTp* __pointer_type; 2441: 2441: __pointer_type _M_p; 2441: 2441: 2441: constexpr ptrdiff_t 2441: _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); } 2441: 2441: constexpr ptrdiff_t 2441: _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); } 2441: 2441: public: 2441: __atomic_base() noexcept = default; 2441: ~__atomic_base() noexcept = default; 2441: __atomic_base(const __atomic_base&) = delete; 2441: __atomic_base& operator=(const __atomic_base&) = delete; 2441: __atomic_base& operator=(const __atomic_base&) volatile = delete; 2441: 2441: 2441: constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { } 2441: 2441: operator __pointer_type() const noexcept 2441: { return load(); } 2441: 2441: operator __pointer_type() const volatile noexcept 2441: { return load(); } 2441: 2441: __pointer_type 2441: operator=(__pointer_type __p) noexcept 2441: { 2441: store(__p); 2441: return __p; 2441: } 2441: 2441: __pointer_type 2441: operator=(__pointer_type __p) volatile noexcept 2441: { 2441: store(__p); 2441: return __p; 2441: } 2441: 2441: __pointer_type 2441: operator++(int) noexcept 2441: { return fetch_add(1); } 2441: 2441: __pointer_type 2441: operator++(int) volatile noexcept 2441: { return fetch_add(1); } 2441: 2441: __pointer_type 2441: operator--(int) noexcept 2441: { return fetch_sub(1); } 2441: 2441: __pointer_type 2441: operator--(int) volatile noexcept 2441: { return fetch_sub(1); } 2441: 2441: __pointer_type 2441: operator++() noexcept 2441: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 2441: memory_order_seq_cst); } 2441: 2441: __pointer_type 2441: operator++() volatile noexcept 2441: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 2441: memory_order_seq_cst); } 2441: 2441: __pointer_type 2441: operator--() noexcept 2441: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 2441: memory_order_seq_cst); } 2441: 2441: __pointer_type 2441: operator--() volatile noexcept 2441: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 2441: memory_order_seq_cst); } 2441: 2441: __pointer_type 2441: operator+=(ptrdiff_t __d) noexcept 2441: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 2441: memory_order_seq_cst); } 2441: 2441: __pointer_type 2441: operator+=(ptrdiff_t __d) volatile noexcept 2441: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 2441: memory_order_seq_cst); } 2441: 2441: __pointer_type 2441: operator-=(ptrdiff_t __d) noexcept 2441: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 2441: memory_order_seq_cst); } 2441: 2441: __pointer_type 2441: operator-=(ptrdiff_t __d) volatile noexcept 2441: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 2441: memory_order_seq_cst); } 2441: 2441: bool 2441: is_lock_free() const noexcept 2441: { 2441: 2441: return __atomic_is_lock_free(sizeof(_M_p), 2441: reinterpret_cast(-__alignof(_M_p))); 2441: } 2441: 2441: bool 2441: is_lock_free() const volatile noexcept 2441: { 2441: 2441: return __atomic_is_lock_free(sizeof(_M_p), 2441: reinterpret_cast(-__alignof(_M_p))); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: store(__pointer_type __p, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: __atomic_store_n(&_M_p, __p, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) void 2441: store(__pointer_type __p, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: __atomic_store_n(&_M_p, __p, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: load(memory_order __m = memory_order_seq_cst) const noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: 2441: return __atomic_load_n(&_M_p, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 2441: { 2441: memory_order __b = __m & __memory_order_mask; 2441: ; 2441: ; 2441: 2441: return __atomic_load_n(&_M_p, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: exchange(__pointer_type __p, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { 2441: return __atomic_exchange_n(&_M_p, __p, __m); 2441: } 2441: 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: exchange(__pointer_type __p, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { 2441: return __atomic_exchange_n(&_M_p, __p, __m); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 2441: memory_order __m1, 2441: memory_order __m2) noexcept 2441: { 2441: memory_order __b2 = __m2 & __memory_order_mask; 2441: memory_order __b1 = __m1 & __memory_order_mask; 2441: ; 2441: ; 2441: ; 2441: 2441: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) bool 2441: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 2441: memory_order __m1, 2441: memory_order __m2) volatile noexcept 2441: { 2441: memory_order __b2 = __m2 & __memory_order_mask; 2441: memory_order __b1 = __m1 & __memory_order_mask; 2441: 2441: ; 2441: ; 2441: ; 2441: 2441: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); 2441: } 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: fetch_add(ptrdiff_t __d, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: fetch_add(ptrdiff_t __d, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: fetch_sub(ptrdiff_t __d, 2441: memory_order __m = memory_order_seq_cst) noexcept 2441: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } 2441: 2441: inline __attribute__((__always_inline__)) __pointer_type 2441: fetch_sub(ptrdiff_t __d, 2441: memory_order __m = memory_order_seq_cst) volatile noexcept 2441: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } 2441: }; 2441: 2441: 2441: 2441: 2441: } 2441: # 34 "/usr/include/c++/8/bits/shared_ptr_atomic.h" 2 3 2441: 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct _Sp_locker 2441: { 2441: _Sp_locker(const _Sp_locker&) = delete; 2441: _Sp_locker& operator=(const _Sp_locker&) = delete; 2441: 2441: 2441: explicit 2441: _Sp_locker(const void*) noexcept; 2441: _Sp_locker(const void*, const void*) noexcept; 2441: ~_Sp_locker(); 2441: 2441: private: 2441: unsigned char _M_key1; 2441: unsigned char _M_key2; 2441: 2441: 2441: 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p) 2441: { 2441: 2441: return __gthread_active_p() == 0; 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: inline bool 2441: atomic_is_lock_free(const shared_ptr<_Tp>* __p) 2441: { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); } 2441: # 96 "/usr/include/c++/8/bits/shared_ptr_atomic.h" 3 2441: template 2441: inline shared_ptr<_Tp> 2441: atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order) 2441: { 2441: _Sp_locker __lock{__p}; 2441: return *__p; 2441: } 2441: 2441: template 2441: inline shared_ptr<_Tp> 2441: atomic_load(const shared_ptr<_Tp>* __p) 2441: { return std::atomic_load_explicit(__p, memory_order_seq_cst); } 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order) 2441: { 2441: _Sp_locker __lock{__p}; 2441: return *__p; 2441: } 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: atomic_load(const __shared_ptr<_Tp, _Lp>* __p) 2441: { return std::atomic_load_explicit(__p, memory_order_seq_cst); } 2441: # 132 "/usr/include/c++/8/bits/shared_ptr_atomic.h" 3 2441: template 2441: inline void 2441: atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, 2441: memory_order) 2441: { 2441: _Sp_locker __lock{__p}; 2441: __p->swap(__r); 2441: } 2441: 2441: template 2441: inline void 2441: atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) 2441: { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } 2441: 2441: template 2441: inline void 2441: atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p, 2441: __shared_ptr<_Tp, _Lp> __r, 2441: memory_order) 2441: { 2441: _Sp_locker __lock{__p}; 2441: __p->swap(__r); 2441: } 2441: 2441: template 2441: inline void 2441: atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) 2441: { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } 2441: # 169 "/usr/include/c++/8/bits/shared_ptr_atomic.h" 3 2441: template 2441: inline shared_ptr<_Tp> 2441: atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, 2441: memory_order) 2441: { 2441: _Sp_locker __lock{__p}; 2441: __p->swap(__r); 2441: return __r; 2441: } 2441: 2441: template 2441: inline shared_ptr<_Tp> 2441: atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) 2441: { 2441: return std::atomic_exchange_explicit(__p, std::move(__r), 2441: memory_order_seq_cst); 2441: } 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p, 2441: __shared_ptr<_Tp, _Lp> __r, 2441: memory_order) 2441: { 2441: _Sp_locker __lock{__p}; 2441: __p->swap(__r); 2441: return __r; 2441: } 2441: 2441: template 2441: inline __shared_ptr<_Tp, _Lp> 2441: atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) 2441: { 2441: return std::atomic_exchange_explicit(__p, std::move(__r), 2441: memory_order_seq_cst); 2441: } 2441: # 218 "/usr/include/c++/8/bits/shared_ptr_atomic.h" 3 2441: template 2441: bool 2441: atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p, 2441: shared_ptr<_Tp>* __v, 2441: shared_ptr<_Tp> __w, 2441: memory_order, 2441: memory_order) 2441: { 2441: shared_ptr<_Tp> __x; 2441: _Sp_locker __lock{__p, __v}; 2441: owner_less> __less; 2441: if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) 2441: { 2441: __x = std::move(*__p); 2441: *__p = std::move(__w); 2441: return true; 2441: } 2441: __x = std::move(*__v); 2441: *__v = *__p; 2441: return false; 2441: } 2441: 2441: template 2441: inline bool 2441: atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, 2441: shared_ptr<_Tp> __w) 2441: { 2441: return std::atomic_compare_exchange_strong_explicit(__p, __v, 2441: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 2441: } 2441: 2441: template 2441: inline bool 2441: atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, 2441: shared_ptr<_Tp>* __v, 2441: shared_ptr<_Tp> __w, 2441: memory_order __success, 2441: memory_order __failure) 2441: { 2441: return std::atomic_compare_exchange_strong_explicit(__p, __v, 2441: std::move(__w), __success, __failure); 2441: } 2441: 2441: template 2441: inline bool 2441: atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, 2441: shared_ptr<_Tp> __w) 2441: { 2441: return std::atomic_compare_exchange_weak_explicit(__p, __v, 2441: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 2441: } 2441: 2441: template 2441: bool 2441: atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p, 2441: __shared_ptr<_Tp, _Lp>* __v, 2441: __shared_ptr<_Tp, _Lp> __w, 2441: memory_order, 2441: memory_order) 2441: { 2441: __shared_ptr<_Tp, _Lp> __x; 2441: _Sp_locker __lock{__p, __v}; 2441: owner_less<__shared_ptr<_Tp, _Lp>> __less; 2441: if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) 2441: { 2441: __x = std::move(*__p); 2441: *__p = std::move(__w); 2441: return true; 2441: } 2441: __x = std::move(*__v); 2441: *__v = *__p; 2441: return false; 2441: } 2441: 2441: template 2441: inline bool 2441: atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p, 2441: __shared_ptr<_Tp, _Lp>* __v, 2441: __shared_ptr<_Tp, _Lp> __w) 2441: { 2441: return std::atomic_compare_exchange_strong_explicit(__p, __v, 2441: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 2441: } 2441: 2441: template 2441: inline bool 2441: atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p, 2441: __shared_ptr<_Tp, _Lp>* __v, 2441: __shared_ptr<_Tp, _Lp> __w, 2441: memory_order __success, 2441: memory_order __failure) 2441: { 2441: return std::atomic_compare_exchange_strong_explicit(__p, __v, 2441: std::move(__w), __success, __failure); 2441: } 2441: 2441: template 2441: inline bool 2441: atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p, 2441: __shared_ptr<_Tp, _Lp>* __v, 2441: __shared_ptr<_Tp, _Lp> __w) 2441: { 2441: return std::atomic_compare_exchange_weak_explicit(__p, __v, 2441: std::move(__w), memory_order_seq_cst, memory_order_seq_cst); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 83 "/usr/include/c++/8/memory" 2 3 2441: 2441: # 1 "/usr/include/c++/8/backward/auto_ptr.h" 1 3 2441: # 36 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 47 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: template 2441: struct auto_ptr_ref 2441: { 2441: _Tp1* _M_ptr; 2441: 2441: explicit 2441: auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } 2441: } __attribute__ ((__deprecated__)); 2441: 2441: #pragma GCC diagnostic push 2441: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 2441: # 88 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: template 2441: class auto_ptr 2441: { 2441: private: 2441: _Tp* _M_ptr; 2441: 2441: public: 2441: 2441: typedef _Tp element_type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } 2441: # 114 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } 2441: # 126 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: template 2441: auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } 2441: # 137 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: auto_ptr& 2441: operator=(auto_ptr& __a) throw() 2441: { 2441: reset(__a.release()); 2441: return *this; 2441: } 2441: # 154 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: template 2441: auto_ptr& 2441: operator=(auto_ptr<_Tp1>& __a) throw() 2441: { 2441: reset(__a.release()); 2441: return *this; 2441: } 2441: # 172 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: ~auto_ptr() { delete _M_ptr; } 2441: # 182 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: element_type& 2441: operator*() const throw() 2441: { 2441: ; 2441: return *_M_ptr; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: element_type* 2441: operator->() const throw() 2441: { 2441: ; 2441: return _M_ptr; 2441: } 2441: # 212 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: element_type* 2441: get() const throw() { return _M_ptr; } 2441: # 226 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: element_type* 2441: release() throw() 2441: { 2441: element_type* __tmp = _M_ptr; 2441: _M_ptr = 0; 2441: return __tmp; 2441: } 2441: # 241 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: void 2441: reset(element_type* __p = 0) throw() 2441: { 2441: if (__p != _M_ptr) 2441: { 2441: delete _M_ptr; 2441: _M_ptr = __p; 2441: } 2441: } 2441: # 266 "/usr/include/c++/8/backward/auto_ptr.h" 3 2441: auto_ptr(auto_ptr_ref __ref) throw() 2441: : _M_ptr(__ref._M_ptr) { } 2441: 2441: auto_ptr& 2441: operator=(auto_ptr_ref __ref) throw() 2441: { 2441: if (__ref._M_ptr != this->get()) 2441: { 2441: delete _M_ptr; 2441: _M_ptr = __ref._M_ptr; 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: operator auto_ptr_ref<_Tp1>() throw() 2441: { return auto_ptr_ref<_Tp1>(this->release()); } 2441: 2441: template 2441: operator auto_ptr<_Tp1>() throw() 2441: { return auto_ptr<_Tp1>(this->release()); } 2441: } __attribute__ ((__deprecated__)); 2441: 2441: 2441: 2441: template<> 2441: class auto_ptr 2441: { 2441: public: 2441: typedef void element_type; 2441: } __attribute__ ((__deprecated__)); 2441: 2441: 2441: template<_Lock_policy _Lp> 2441: template 2441: inline 2441: __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r) 2441: : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get())) 2441: { __r.release(); } 2441: 2441: template 2441: template 2441: inline 2441: __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r) 2441: : _M_ptr(__r.get()), _M_refcount() 2441: { 2441: 2441: static_assert( sizeof(_Tp1) > 0, "incomplete type" ); 2441: _Tp1* __tmp = __r.get(); 2441: _M_refcount = __shared_count<_Lp>(std::move(__r)); 2441: _M_enable_shared_from_this_with(__tmp); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r) 2441: : __shared_ptr<_Tp>(std::move(__r)) { } 2441: 2441: template 2441: template 2441: inline 2441: unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept 2441: : _M_t(__u.release(), deleter_type()) { } 2441: 2441: 2441: #pragma GCC diagnostic pop 2441: 2441: 2441: } 2441: # 85 "/usr/include/c++/8/memory" 2 3 2441: # 93 "/usr/include/c++/8/memory" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: # 113 "/usr/include/c++/8/memory" 3 2441: inline void* 2441: align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept 2441: { 2441: const auto __intptr = reinterpret_cast(__ptr); 2441: const auto __aligned = (__intptr - 1u + __align) & -__align; 2441: const auto __diff = __aligned - __intptr; 2441: if ((__size + __diff) > __space) 2441: return nullptr; 2441: else 2441: { 2441: __space -= __diff; 2441: return __ptr = reinterpret_cast(__aligned); 2441: } 2441: } 2441: 2441: 2441: 2441: enum class pointer_safety { relaxed, preferred, strict }; 2441: 2441: inline void 2441: declare_reachable(void*) { } 2441: 2441: template 2441: inline _Tp* 2441: undeclare_reachable(_Tp* __p) { return __p; } 2441: 2441: inline void 2441: declare_no_pointers(char*, size_t) { } 2441: 2441: inline void 2441: undeclare_no_pointers(char*, size_t) { } 2441: 2441: inline pointer_safety 2441: get_pointer_safety() noexcept { return pointer_safety::relaxed; } 2441: 2441: 2441: } 2441: # 34 "../../src/Dense_Row_defs.hh" 2 2441: # 42 "../../src/Dense_Row_defs.hh" 2441: 2441: # 42 "../../src/Dense_Row_defs.hh" 2441: class Parma_Polyhedra_Library::Dense_Row { 2441: public: 2441: class iterator; 2441: class const_iterator; 2441: 2441: 2441: Dense_Row(); 2441: 2441: explicit Dense_Row(const Sparse_Row& row); 2441: 2441: 2441: 2441: 2441: 2441: Dense_Row(dimension_type sz); 2441: # 69 "../../src/Dense_Row_defs.hh" 2441: Dense_Row(dimension_type sz, dimension_type capacity); 2441: 2441: 2441: Dense_Row(const Dense_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Dense_Row(const Dense_Row& y, dimension_type capacity); 2441: 2441: 2441: 2441: 2441: 2441: Dense_Row(const Dense_Row& y, dimension_type sz, dimension_type capacity); 2441: 2441: 2441: 2441: 2441: 2441: Dense_Row(const Sparse_Row& y, dimension_type sz, dimension_type capacity); 2441: 2441: 2441: ~Dense_Row(); 2441: 2441: 2441: Dense_Row& operator=(const Dense_Row& y); 2441: 2441: 2441: Dense_Row& operator=(const Sparse_Row& y); 2441: 2441: 2441: void m_swap(Dense_Row& y); 2441: 2441: 2441: void resize(dimension_type sz); 2441: 2441: 2441: void resize(dimension_type sz, dimension_type capacity); 2441: 2441: 2441: void clear(); 2441: # 127 "../../src/Dense_Row_defs.hh" 2441: void add_zeroes_and_shift(dimension_type n, dimension_type i); 2441: # 136 "../../src/Dense_Row_defs.hh" 2441: void expand_within_capacity(dimension_type new_size); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void shrink(dimension_type new_size); 2441: 2441: 2441: static dimension_type max_size(); 2441: 2441: 2441: dimension_type size() const; 2441: 2441: 2441: 2441: 2441: Coefficient& operator[](dimension_type k); 2441: 2441: 2441: Coefficient_traits::const_reference operator[](dimension_type k) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void normalize(); 2441: 2441: 2441: 2441: void swap_coefficients(dimension_type i, dimension_type j); 2441: 2441: 2441: 2441: void swap_coefficients(iterator i, iterator j); 2441: 2441: iterator begin(); 2441: const_iterator begin() const; 2441: 2441: iterator end(); 2441: const_iterator end() const; 2441: 2441: 2441: 2441: void reset(dimension_type i); 2441: 2441: 2441: 2441: void reset(dimension_type first, dimension_type last); 2441: 2441: 2441: 2441: iterator reset(iterator itr); 2441: 2441: 2441: 2441: Coefficient_traits::const_reference get(dimension_type i) const; 2441: 2441: 2441: iterator find(dimension_type i); 2441: 2441: 2441: const_iterator find(dimension_type i) const; 2441: 2441: 2441: iterator find(iterator itr, dimension_type i); 2441: 2441: 2441: const_iterator find(const_iterator itr, dimension_type i) const; 2441: 2441: 2441: iterator lower_bound(dimension_type i); 2441: 2441: 2441: const_iterator lower_bound(dimension_type i) const; 2441: 2441: 2441: iterator lower_bound(iterator itr, dimension_type i); 2441: 2441: 2441: const_iterator lower_bound(const_iterator itr, dimension_type i) const; 2441: 2441: 2441: iterator insert(dimension_type i, Coefficient_traits::const_reference x); 2441: 2441: 2441: iterator insert(dimension_type i); 2441: 2441: 2441: iterator insert(iterator itr, dimension_type i, 2441: Coefficient_traits::const_reference x); 2441: 2441: 2441: iterator insert(iterator itr, dimension_type i); 2441: # 258 "../../src/Dense_Row_defs.hh" 2441: template 2441: void combine_needs_first(const Dense_Row& y, 2441: const Func1& f, const Func2& g); 2441: # 286 "../../src/Dense_Row_defs.hh" 2441: template 2441: void combine_needs_second(const Dense_Row& y, 2441: const Func1& g, const Func2& h); 2441: # 318 "../../src/Dense_Row_defs.hh" 2441: template 2441: void combine(const Dense_Row& y, 2441: const Func1& f, const Func2& g, const Func3& h); 2441: # 342 "../../src/Dense_Row_defs.hh" 2441: void linear_combine(const Dense_Row& y, 2441: Coefficient_traits::const_reference coeff1, 2441: Coefficient_traits::const_reference coeff2); 2441: # 354 "../../src/Dense_Row_defs.hh" 2441: void linear_combine(const Dense_Row& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes(dimension_type capacity) const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type external_memory_in_bytes(dimension_type capacity) const; 2441: 2441: 2441: bool OK() const; 2441: 2441: 2441: 2441: 2441: 2441: bool OK(dimension_type row_size) const; 2441: 2441: private: 2441: void init(const Sparse_Row& row); 2441: 2441: void destroy(); 2441: 2441: struct Impl { 2441: 2441: Impl(); 2441: 2441: ~Impl(); 2441: 2441: 2441: dimension_type size; 2441: 2441: 2441: dimension_type capacity; 2441: 2441: 2441: std::allocator coeff_allocator; 2441: 2441: 2441: 2441: Coefficient* vec; 2441: }; 2441: 2441: Impl impl; 2441: 2441: 2441: dimension_type capacity() const; 2441: }; 2441: 2441: class Parma_Polyhedra_Library::Dense_Row::iterator { 2441: public: 2441: 2441: typedef std::bidirectional_iterator_tag iterator_category; 2441: typedef Coefficient value_type; 2441: typedef std::ptrdiff_t difference_type; 2441: typedef value_type* pointer; 2441: typedef value_type& reference; 2441: 2441: iterator(); 2441: iterator(Dense_Row& r, dimension_type i); 2441: 2441: Coefficient& operator*(); 2441: Coefficient_traits::const_reference operator*() const; 2441: # 454 "../../src/Dense_Row_defs.hh" 2441: dimension_type index() const; 2441: 2441: iterator& operator++(); 2441: iterator operator++(int); 2441: 2441: iterator& operator--(); 2441: iterator operator--(int); 2441: 2441: bool operator==(const iterator& x) const; 2441: bool operator!=(const iterator& x) const; 2441: 2441: operator const_iterator() const; 2441: 2441: bool OK() const; 2441: 2441: private: 2441: Dense_Row* row; 2441: dimension_type idx; 2441: }; 2441: 2441: class Parma_Polyhedra_Library::Dense_Row::const_iterator { 2441: public: 2441: 2441: typedef const Coefficient value_type; 2441: typedef std::ptrdiff_t difference_type; 2441: typedef value_type* pointer; 2441: typedef Coefficient_traits::const_reference reference; 2441: 2441: const_iterator(); 2441: const_iterator(const Dense_Row& r, dimension_type i); 2441: 2441: Coefficient_traits::const_reference operator*() const; 2441: # 494 "../../src/Dense_Row_defs.hh" 2441: dimension_type index() const; 2441: 2441: const_iterator& operator++(); 2441: const_iterator operator++(int); 2441: 2441: const_iterator& operator--(); 2441: const_iterator operator--(int); 2441: 2441: bool operator==(const const_iterator& x) const; 2441: bool operator!=(const const_iterator& x) const; 2441: 2441: bool OK() const; 2441: 2441: private: 2441: const Dense_Row* row; 2441: dimension_type idx; 2441: }; 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: void swap(Dense_Row& x, Dense_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: void iter_swap(std::vector::iterator x, 2441: std::vector::iterator y); 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Dense_Row& x, const Dense_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Dense_Row& x, const Dense_Row& y); 2441: 2441: 2441: 2441: 2441: void linear_combine(Dense_Row& x, const Dense_Row& y, 2441: Coefficient_traits::const_reference coeff1, 2441: Coefficient_traits::const_reference coeff2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void linear_combine(Dense_Row& x, const Dense_Row& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: } 2441: 2441: # 1 "../../src/Dense_Row_inlines.hh" 1 2441: # 32 "../../src/Dense_Row_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Dense_Row::Impl::Impl() 2441: : size(0), capacity(0), coeff_allocator(), vec(0) { 2441: } 2441: 2441: inline 2441: Dense_Row::Impl::~Impl() { 2441: while (size != 0) { 2441: --size; 2441: vec[size].~Coefficient(); 2441: } 2441: coeff_allocator.deallocate(vec, capacity); 2441: } 2441: 2441: inline dimension_type 2441: Dense_Row::max_size() { 2441: return std::numeric_limits::max() / sizeof(Coefficient); 2441: } 2441: 2441: inline dimension_type 2441: Dense_Row::size() const { 2441: return impl.size; 2441: } 2441: 2441: inline dimension_type 2441: Dense_Row::capacity() const { 2441: return impl.capacity; 2441: } 2441: 2441: inline 2441: Dense_Row::Dense_Row() 2441: : impl() { 2441: 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::Dense_Row(const dimension_type sz, 2441: const dimension_type capacity) 2441: : impl() { 2441: 2441: resize(sz, capacity); 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::Dense_Row(const dimension_type sz) 2441: : impl() { 2441: 2441: resize(sz); 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::Dense_Row(const Dense_Row& y) 2441: : impl() { 2441: impl.coeff_allocator = y.impl.coeff_allocator; 2441: if (y.impl.vec != 0) { 2441: impl.capacity = y.capacity(); 2441: impl.vec = impl.coeff_allocator.allocate(impl.capacity); 2441: while (impl.size != y.size()) { 2441: new(&impl.vec[impl.size]) Coefficient(y[impl.size]); 2441: ++impl.size; 2441: } 2441: } 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::Dense_Row(const Dense_Row& y, 2441: const dimension_type capacity) 2441: : impl() { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: impl.capacity = capacity; 2441: impl.coeff_allocator = y.impl.coeff_allocator; 2441: impl.vec = impl.coeff_allocator.allocate(impl.capacity); 2441: 2441: if (y.impl.vec != 0) { 2441: while (impl.size != y.size()) { 2441: new(&impl.vec[impl.size]) Coefficient(y[impl.size]); 2441: ++impl.size; 2441: } 2441: } 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::Dense_Row(const Dense_Row& y, 2441: const dimension_type sz, 2441: const dimension_type capacity) 2441: : impl() { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: impl.capacity = capacity; 2441: impl.coeff_allocator = y.impl.coeff_allocator; 2441: impl.vec = impl.coeff_allocator.allocate(impl.capacity); 2441: 2441: const dimension_type n = std::min(sz, y.size()); 2441: while (impl.size != n) { 2441: new(&impl.vec[impl.size]) Coefficient(y[impl.size]); 2441: ++impl.size; 2441: } 2441: while (impl.size != sz) { 2441: new(&impl.vec[impl.size]) Coefficient(); 2441: ++impl.size; 2441: } 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::~Dense_Row() { 2441: 2441: } 2441: 2441: inline void 2441: Dense_Row::destroy() { 2441: resize(0); 2441: impl.coeff_allocator.deallocate(impl.vec, impl.capacity); 2441: } 2441: 2441: inline void 2441: Dense_Row::m_swap(Dense_Row& y) { 2441: using std::swap; 2441: swap(impl.size, y.impl.size); 2441: swap(impl.capacity, y.impl.capacity); 2441: swap(impl.coeff_allocator, y.impl.coeff_allocator); 2441: swap(impl.vec, y.impl.vec); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline Dense_Row& 2441: Dense_Row::operator=(const Dense_Row& y) { 2441: 2441: if (this != &y && size() == y.size()) { 2441: 2441: 2441: for (dimension_type i = size(); i-- > 0; ) { 2441: (*this)[i] = y[i]; 2441: } 2441: 2441: return *this; 2441: } 2441: 2441: Dense_Row x(y); 2441: swap(*this, x); 2441: 2441: return *this; 2441: } 2441: 2441: inline Coefficient& 2441: Dense_Row::operator[](const dimension_type k) { 2441: ((void) 0); 2441: ((void) 0); 2441: return impl.vec[k]; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Dense_Row::operator[](const dimension_type k) const { 2441: ((void) 0); 2441: ((void) 0); 2441: return impl.vec[k]; 2441: } 2441: 2441: inline void 2441: Dense_Row::swap_coefficients(dimension_type i, dimension_type j) { 2441: std::swap((*this)[i], (*this)[j]); 2441: } 2441: 2441: inline void 2441: Dense_Row::swap_coefficients(iterator i, iterator j) { 2441: std::swap(*i, *j); 2441: } 2441: 2441: inline void 2441: Dense_Row::reset(dimension_type i) { 2441: (*this)[i] = 0; 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::reset(iterator itr) { 2441: *itr = 0; 2441: ++itr; 2441: return itr; 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::begin() { 2441: return iterator(*this, 0); 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::begin() const { 2441: return const_iterator(*this, 0); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::end() { 2441: return iterator(*this, size()); 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::end() const { 2441: return const_iterator(*this, size()); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Dense_Row::get(dimension_type i) const { 2441: return (*this)[i]; 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::find(dimension_type i) { 2441: return iterator(*this, i); 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::find(dimension_type i) const { 2441: return const_iterator(*this, i); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::find(iterator itr, dimension_type i) { 2441: (void)itr; 2441: return iterator(*this, i); 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::find(const_iterator itr, dimension_type i) const { 2441: (void)itr; 2441: return const_iterator(*this, i); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::lower_bound(dimension_type i) { 2441: return find(i); 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::lower_bound(dimension_type i) const { 2441: return find(i); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::lower_bound(iterator itr, dimension_type i) { 2441: return find(itr, i); 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::lower_bound(const_iterator itr, dimension_type i) const { 2441: return find(itr, i); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::insert(dimension_type i, 2441: Coefficient_traits::const_reference x) { 2441: (*this)[i] = x; 2441: return find(i); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::insert(dimension_type i) { 2441: return find(i); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::insert(iterator itr, dimension_type i, 2441: Coefficient_traits::const_reference x) { 2441: (void)itr; 2441: (*this)[i] = x; 2441: return find(i); 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::insert(iterator itr, dimension_type i) { 2441: (void)itr; 2441: return find(i); 2441: } 2441: 2441: inline memory_size_type 2441: Dense_Row::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Dense_Row::total_memory_in_bytes(dimension_type capacity) const { 2441: return sizeof(*this) + external_memory_in_bytes(capacity); 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Dense_Row& x, const Dense_Row& y) { 2441: return !(x == y); 2441: } 2441: 2441: 2441: inline 2441: Dense_Row::iterator::iterator() 2441: : row( 2441: # 349 "../../src/Dense_Row_inlines.hh" 3 4 2441: __null 2441: # 349 "../../src/Dense_Row_inlines.hh" 2441: ), idx(0) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::iterator::iterator(Dense_Row& r, dimension_type i) 2441: : row(&r), idx(i) { 2441: ((void) 0); 2441: } 2441: 2441: inline Coefficient& 2441: Dense_Row::iterator::operator*() { 2441: ((void) 0); 2441: return (*row)[idx]; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Dense_Row::iterator::operator*() const { 2441: ((void) 0); 2441: return (*row)[idx]; 2441: } 2441: 2441: inline dimension_type 2441: Dense_Row::iterator::index() const { 2441: return idx; 2441: } 2441: 2441: inline Dense_Row::iterator& 2441: Dense_Row::iterator::operator++() { 2441: ((void) 0); 2441: ++idx; 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::iterator::operator++(int) { 2441: iterator tmp(*this); 2441: ++(*this); 2441: return tmp; 2441: } 2441: 2441: inline Dense_Row::iterator& 2441: Dense_Row::iterator::operator--() { 2441: ((void) 0); 2441: --idx; 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline Dense_Row::iterator 2441: Dense_Row::iterator::operator--(int) { 2441: iterator tmp(*this); 2441: --(*this); 2441: return tmp; 2441: } 2441: 2441: inline bool 2441: Dense_Row::iterator::operator==(const iterator& x) const { 2441: return (row == x.row) && (idx == x.idx); 2441: } 2441: 2441: inline bool 2441: Dense_Row::iterator::operator!=(const iterator& x) const { 2441: return !(*this == x); 2441: } 2441: 2441: inline 2441: Dense_Row::iterator::operator const_iterator() const { 2441: return const_iterator(*row, idx); 2441: } 2441: 2441: inline bool 2441: Dense_Row::iterator::OK() const { 2441: if (row == 2441: # 423 "../../src/Dense_Row_inlines.hh" 3 4 2441: __null 2441: # 423 "../../src/Dense_Row_inlines.hh" 2441: ) { 2441: return true; 2441: } 2441: 2441: return (idx <= row->size()); 2441: } 2441: 2441: 2441: inline 2441: Dense_Row::const_iterator::const_iterator() 2441: : row( 2441: # 433 "../../src/Dense_Row_inlines.hh" 3 4 2441: __null 2441: # 433 "../../src/Dense_Row_inlines.hh" 2441: ), idx(0) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Dense_Row::const_iterator::const_iterator(const Dense_Row& r, 2441: dimension_type i) 2441: : row(&r), idx(i) { 2441: ((void) 0); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Dense_Row::const_iterator::operator*() const { 2441: ((void) 0); 2441: return (*row)[idx]; 2441: } 2441: 2441: inline dimension_type 2441: Dense_Row::const_iterator::index() const { 2441: return idx; 2441: } 2441: 2441: inline Dense_Row::const_iterator& 2441: Dense_Row::const_iterator::operator++() { 2441: ((void) 0); 2441: ++idx; 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::const_iterator::operator++(int) { 2441: const_iterator tmp(*this); 2441: ++(*this); 2441: return tmp; 2441: } 2441: 2441: inline Dense_Row::const_iterator& 2441: Dense_Row::const_iterator::operator--() { 2441: ((void) 0); 2441: --idx; 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline Dense_Row::const_iterator 2441: Dense_Row::const_iterator::operator--(int) { 2441: const_iterator tmp(*this); 2441: --(*this); 2441: return tmp; 2441: } 2441: 2441: inline bool 2441: Dense_Row::const_iterator::operator==(const const_iterator& x) const { 2441: return (row == x.row) && (idx == x.idx); 2441: } 2441: 2441: inline bool 2441: Dense_Row::const_iterator::operator!=(const const_iterator& x) const { 2441: return !(*this == x); 2441: } 2441: 2441: inline bool 2441: Dense_Row::const_iterator::OK() const { 2441: if (row == 2441: # 497 "../../src/Dense_Row_inlines.hh" 3 4 2441: __null 2441: # 497 "../../src/Dense_Row_inlines.hh" 2441: ) { 2441: return true; 2441: } 2441: 2441: return (idx <= row->size()); 2441: } 2441: 2441: inline void 2441: linear_combine(Dense_Row& x, const Dense_Row& y, 2441: Coefficient_traits::const_reference coeff1, 2441: Coefficient_traits::const_reference coeff2) { 2441: x.linear_combine(y, coeff1, coeff2); 2441: } 2441: 2441: inline void 2441: linear_combine(Dense_Row& x, const Dense_Row& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) { 2441: x.linear_combine(y, c1, c2, start, end); 2441: } 2441: 2441: 2441: inline void 2441: swap(Dense_Row& x, Dense_Row& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: 2441: inline void 2441: iter_swap(std::vector::iterator x, 2441: std::vector::iterator y) { 2441: swap(*x, *y); 2441: } 2441: 2441: } 2441: # 560 "../../src/Dense_Row_defs.hh" 2 2441: # 1 "../../src/Dense_Row_templates.hh" 1 2441: # 27 "../../src/Dense_Row_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: template 2441: void 2441: Dense_Row::combine_needs_first(const Dense_Row& y, const Func1& , 2441: const Func2& g) { 2441: for (dimension_type i = size(); i-- > 0; ) { 2441: g((*this)[i], y[i]); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Dense_Row::combine_needs_second(const Dense_Row& y, const Func1& g, 2441: const Func2& ) { 2441: for (dimension_type i = size(); i-- > 0; ) { 2441: g((*this)[i], y[i]); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Dense_Row::combine(const Dense_Row& y, const Func1& , const Func2& g, 2441: const Func3& ) { 2441: for (dimension_type i = size(); i-- > 0; ) { 2441: g((*this)[i], y[i]); 2441: } 2441: } 2441: 2441: } 2441: # 561 "../../src/Dense_Row_defs.hh" 2 2441: # 33 "../../src/Linear_Expression_Impl_defs.hh" 2 2441: # 1 "../../src/Sparse_Row_defs.hh" 1 2441: # 29 "../../src/Sparse_Row_defs.hh" 2441: # 1 "../../src/CO_Tree_defs.hh" 1 2441: # 27 "../../src/CO_Tree_defs.hh" 2441: # 1 "../../src/CO_Tree_types.hh" 1 2441: # 16 "../../src/CO_Tree_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class CO_Tree; 2441: 2441: } 2441: # 28 "../../src/CO_Tree_defs.hh" 2 2441: # 53 "../../src/CO_Tree_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 103 "../../src/CO_Tree_defs.hh" 2441: class CO_Tree { 2441: 2441: public: 2441: class const_iterator; 2441: class iterator; 2441: 2441: private: 2441: 2441: typedef unsigned height_t; 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_115 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(C_Integer::max >= ((sizeof(dimension_type)) * static_cast(8)))>) } 2441: 2441: ; 2441: 2441: class tree_iterator; 2441: # 128 "../../src/CO_Tree_defs.hh" 2441: dimension_type dfs_index(const_iterator itr) const; 2441: # 139 "../../src/CO_Tree_defs.hh" 2441: dimension_type dfs_index(iterator itr) const; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef Coefficient data_type; 2441: typedef Coefficient_traits::const_reference data_type_const_reference; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: class const_iterator { 2441: private: 2441: public: 2441: 2441: typedef std::bidirectional_iterator_tag iterator_category; 2441: typedef const data_type value_type; 2441: typedef std::ptrdiff_t difference_type; 2441: typedef value_type* pointer; 2441: typedef data_type_const_reference reference; 2441: 2441: 2441: 2441: 2441: 2441: explicit const_iterator(); 2441: # 180 "../../src/CO_Tree_defs.hh" 2441: explicit const_iterator(const CO_Tree& tree); 2441: # 195 "../../src/CO_Tree_defs.hh" 2441: const_iterator(const CO_Tree& tree, dimension_type i); 2441: # 204 "../../src/CO_Tree_defs.hh" 2441: const_iterator(const const_iterator& itr); 2441: # 213 "../../src/CO_Tree_defs.hh" 2441: const_iterator(const iterator& itr); 2441: # 222 "../../src/CO_Tree_defs.hh" 2441: void m_swap(const_iterator& itr); 2441: # 231 "../../src/CO_Tree_defs.hh" 2441: const_iterator& operator=(const const_iterator& itr); 2441: # 240 "../../src/CO_Tree_defs.hh" 2441: const_iterator& operator=(const iterator& itr); 2441: 2441: 2441: 2441: 2441: 2441: const_iterator& operator++(); 2441: 2441: 2441: 2441: 2441: 2441: const_iterator& operator--(); 2441: 2441: 2441: 2441: 2441: 2441: const_iterator operator++(int); 2441: 2441: 2441: 2441: 2441: 2441: const_iterator operator--(int); 2441: 2441: 2441: data_type_const_reference operator*() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type index() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const const_iterator& x) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const const_iterator& x) const; 2441: 2441: private: 2441: 2441: bool OK() const; 2441: 2441: 2441: const dimension_type* current_index; 2441: 2441: 2441: const data_type* current_data; 2441: 2441: 2441: 2441: 2441: 2441: 2441: friend dimension_type CO_Tree::dfs_index(const_iterator itr) const; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: class iterator { 2441: public: 2441: 2441: typedef std::bidirectional_iterator_tag iterator_category; 2441: typedef data_type value_type; 2441: typedef std::ptrdiff_t difference_type; 2441: typedef value_type* pointer; 2441: typedef value_type& reference; 2441: 2441: 2441: 2441: 2441: 2441: iterator(); 2441: # 335 "../../src/CO_Tree_defs.hh" 2441: explicit iterator(CO_Tree& tree); 2441: # 350 "../../src/CO_Tree_defs.hh" 2441: iterator(CO_Tree& tree, dimension_type i); 2441: # 362 "../../src/CO_Tree_defs.hh" 2441: explicit iterator(const tree_iterator& itr); 2441: # 371 "../../src/CO_Tree_defs.hh" 2441: iterator(const iterator& itr); 2441: # 380 "../../src/CO_Tree_defs.hh" 2441: void m_swap(iterator& itr); 2441: # 389 "../../src/CO_Tree_defs.hh" 2441: iterator& operator=(const iterator& itr); 2441: # 398 "../../src/CO_Tree_defs.hh" 2441: iterator& operator=(const tree_iterator& itr); 2441: 2441: 2441: 2441: 2441: 2441: iterator& operator++(); 2441: 2441: 2441: 2441: 2441: 2441: iterator& operator--(); 2441: 2441: 2441: 2441: 2441: 2441: iterator operator++(int); 2441: 2441: 2441: 2441: 2441: 2441: iterator operator--(int); 2441: 2441: 2441: data_type& operator*(); 2441: 2441: 2441: data_type_const_reference operator*() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type index() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const iterator& x) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const iterator& x) const; 2441: 2441: private: 2441: 2441: bool OK() const; 2441: 2441: 2441: const dimension_type* current_index; 2441: 2441: 2441: data_type* current_data; 2441: 2441: 2441: 2441: 2441: 2441: 2441: friend const_iterator& const_iterator::operator=(const iterator&); 2441: friend dimension_type CO_Tree::dfs_index(iterator itr) const; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: CO_Tree(); 2441: # 482 "../../src/CO_Tree_defs.hh" 2441: CO_Tree(const CO_Tree& y); 2441: # 501 "../../src/CO_Tree_defs.hh" 2441: template 2441: CO_Tree(Iterator i, dimension_type n); 2441: # 511 "../../src/CO_Tree_defs.hh" 2441: CO_Tree& operator=(const CO_Tree& y); 2441: 2441: 2441: 2441: 2441: 2441: void clear(); 2441: 2441: 2441: 2441: 2441: 2441: ~CO_Tree(); 2441: 2441: 2441: 2441: 2441: 2441: bool empty() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type size() const; 2441: 2441: 2441: static dimension_type max_size(); 2441: 2441: 2441: void dump_tree() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type external_memory_in_bytes() const; 2441: # 566 "../../src/CO_Tree_defs.hh" 2441: iterator insert(dimension_type key); 2441: # 587 "../../src/CO_Tree_defs.hh" 2441: iterator insert(dimension_type key, data_type_const_reference data); 2441: # 615 "../../src/CO_Tree_defs.hh" 2441: iterator insert(iterator itr, dimension_type key); 2441: # 645 "../../src/CO_Tree_defs.hh" 2441: iterator insert(iterator itr, dimension_type key, 2441: data_type_const_reference data); 2441: # 661 "../../src/CO_Tree_defs.hh" 2441: iterator erase(dimension_type key); 2441: # 676 "../../src/CO_Tree_defs.hh" 2441: iterator erase(iterator itr); 2441: # 690 "../../src/CO_Tree_defs.hh" 2441: void erase_element_and_shift_left(dimension_type key); 2441: # 703 "../../src/CO_Tree_defs.hh" 2441: void increase_keys_from(dimension_type key, dimension_type n); 2441: # 712 "../../src/CO_Tree_defs.hh" 2441: void fast_shift(dimension_type i, iterator itr); 2441: # 723 "../../src/CO_Tree_defs.hh" 2441: void m_swap(CO_Tree& x); 2441: 2441: 2441: 2441: 2441: 2441: iterator begin(); 2441: # 740 "../../src/CO_Tree_defs.hh" 2441: const iterator& end(); 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const const_iterator& end() const; 2441: 2441: 2441: 2441: 2441: 2441: const_iterator cbegin() const; 2441: # 763 "../../src/CO_Tree_defs.hh" 2441: const const_iterator& cend() const; 2441: # 777 "../../src/CO_Tree_defs.hh" 2441: iterator bisect(dimension_type key); 2441: # 791 "../../src/CO_Tree_defs.hh" 2441: const_iterator bisect(dimension_type key) const; 2441: # 815 "../../src/CO_Tree_defs.hh" 2441: iterator bisect_in(iterator first, iterator last, dimension_type key); 2441: # 839 "../../src/CO_Tree_defs.hh" 2441: const_iterator bisect_in(const_iterator first, const_iterator last, 2441: dimension_type key) const; 2441: # 860 "../../src/CO_Tree_defs.hh" 2441: iterator bisect_near(iterator hint, dimension_type key); 2441: # 880 "../../src/CO_Tree_defs.hh" 2441: const_iterator bisect_near(const_iterator hint, dimension_type key) const; 2441: 2441: private: 2441: # 905 "../../src/CO_Tree_defs.hh" 2441: dimension_type bisect_in(dimension_type first, dimension_type last, 2441: dimension_type key) const; 2441: # 929 "../../src/CO_Tree_defs.hh" 2441: dimension_type bisect_near(dimension_type hint, dimension_type key) const; 2441: # 954 "../../src/CO_Tree_defs.hh" 2441: tree_iterator insert_precise(dimension_type key, 2441: data_type_const_reference data, 2441: tree_iterator itr); 2441: # 965 "../../src/CO_Tree_defs.hh" 2441: tree_iterator insert_precise_aux(dimension_type key, 2441: data_type_const_reference data, 2441: tree_iterator itr); 2441: # 984 "../../src/CO_Tree_defs.hh" 2441: void insert_in_empty_tree(dimension_type key, 2441: data_type_const_reference data); 2441: # 1000 "../../src/CO_Tree_defs.hh" 2441: iterator erase(tree_iterator itr); 2441: # 1009 "../../src/CO_Tree_defs.hh" 2441: void init(dimension_type n); 2441: # 1018 "../../src/CO_Tree_defs.hh" 2441: void destroy(); 2441: 2441: 2441: bool structure_OK() const; 2441: 2441: 2441: bool OK() const; 2441: # 1033 "../../src/CO_Tree_defs.hh" 2441: static unsigned integer_log2(dimension_type n); 2441: # 1051 "../../src/CO_Tree_defs.hh" 2441: static bool is_less_than_ratio(dimension_type numer, dimension_type denom, 2441: dimension_type ratio); 2441: # 1071 "../../src/CO_Tree_defs.hh" 2441: static bool is_greater_than_ratio(dimension_type numer, dimension_type denom, 2441: dimension_type ratio); 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void dump_subtree(tree_iterator itr); 2441: # 1088 "../../src/CO_Tree_defs.hh" 2441: void rebuild_bigger_tree(); 2441: # 1100 "../../src/CO_Tree_defs.hh" 2441: void rebuild_smaller_tree(); 2441: # 1109 "../../src/CO_Tree_defs.hh" 2441: void refresh_cached_iterators(); 2441: # 1133 "../../src/CO_Tree_defs.hh" 2441: tree_iterator rebalance(tree_iterator itr, dimension_type key, 2441: data_type_const_reference value); 2441: # 1160 "../../src/CO_Tree_defs.hh" 2441: dimension_type compact_elements_in_the_rightmost_end( 2441: dimension_type last_in_subtree, dimension_type subtree_size, 2441: dimension_type key, data_type_const_reference value, 2441: bool add_element); 2441: # 1191 "../../src/CO_Tree_defs.hh" 2441: void redistribute_elements_in_subtree(dimension_type root_index, 2441: dimension_type subtree_size, 2441: dimension_type last_used, 2441: dimension_type key, 2441: data_type_const_reference value, 2441: bool add_element); 2441: # 1208 "../../src/CO_Tree_defs.hh" 2441: void move_data_from(CO_Tree& tree); 2441: # 1221 "../../src/CO_Tree_defs.hh" 2441: void copy_data_from(const CO_Tree& tree); 2441: # 1231 "../../src/CO_Tree_defs.hh" 2441: static dimension_type count_used_in_subtree(tree_iterator itr); 2441: # 1249 "../../src/CO_Tree_defs.hh" 2441: static void move_data_element(data_type& to, data_type& from); 2441: 2441: 2441: 2441: 2441: 2441: static const dimension_type max_density_percent = 91; 2441: 2441: 2441: 2441: 2441: 2441: static const dimension_type min_density_percent = 38; 2441: # 1271 "../../src/CO_Tree_defs.hh" 2441: static const dimension_type min_leaf_density_percent = 1; 2441: 2441: 2441: 2441: 2441: 2441: static const dimension_type unused_index = C_Integer::max; 2441: 2441: 2441: 2441: 2441: 2441: iterator cached_end; 2441: 2441: 2441: 2441: 2441: 2441: const_iterator cached_const_end; 2441: 2441: 2441: height_t max_depth; 2441: # 1302 "../../src/CO_Tree_defs.hh" 2441: dimension_type* indexes; 2441: 2441: 2441: std::allocator data_allocator; 2441: # 1316 "../../src/CO_Tree_defs.hh" 2441: data_type* data; 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type reserved_size; 2441: 2441: 2441: dimension_type size_; 2441: }; 2441: 2441: class CO_Tree::tree_iterator { 2441: 2441: public: 2441: # 1341 "../../src/CO_Tree_defs.hh" 2441: explicit tree_iterator(CO_Tree& tree); 2441: # 1353 "../../src/CO_Tree_defs.hh" 2441: tree_iterator(CO_Tree& tree, dimension_type i); 2441: # 1365 "../../src/CO_Tree_defs.hh" 2441: tree_iterator(const iterator& itr, CO_Tree& tree); 2441: 2441: 2441: 2441: 2441: 2441: 2441: tree_iterator& operator=(const tree_iterator& itr); 2441: 2441: 2441: 2441: 2441: 2441: 2441: tree_iterator& operator=(const iterator& itr); 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const tree_iterator& itr) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const tree_iterator& itr) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void get_root(); 2441: 2441: 2441: 2441: 2441: 2441: void get_left_child(); 2441: 2441: 2441: 2441: 2441: 2441: void get_right_child(); 2441: 2441: 2441: 2441: 2441: 2441: void get_parent(); 2441: # 1433 "../../src/CO_Tree_defs.hh" 2441: void go_down_searching_key(dimension_type key); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void follow_left_children_with_value(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void follow_right_children_with_value(); 2441: 2441: 2441: 2441: 2441: 2441: bool is_root() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_right_child() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_leaf() const; 2441: 2441: 2441: data_type& operator*(); 2441: 2441: 2441: Coefficient_traits::const_reference operator*() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type& index(); 2441: 2441: 2441: 2441: 2441: 2441: dimension_type index() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type key() const; 2441: 2441: 2441: CO_Tree& tree; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type dfs_index() const; 2441: # 1512 "../../src/CO_Tree_defs.hh" 2441: dimension_type get_offset() const; 2441: 2441: 2441: 2441: 2441: 2441: height_t depth() const; 2441: 2441: private: 2441: 2441: bool OK() const; 2441: 2441: 2441: dimension_type i; 2441: # 1534 "../../src/CO_Tree_defs.hh" 2441: dimension_type offset; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: void swap(CO_Tree& x, CO_Tree& y); 2441: 2441: 2441: 2441: 2441: 2441: void swap(CO_Tree::const_iterator& x, CO_Tree::const_iterator& y); 2441: 2441: 2441: 2441: 2441: 2441: void swap(CO_Tree::iterator& x, CO_Tree::iterator& y); 2441: 2441: } 2441: 2441: # 1 "../../src/CO_Tree_inlines.hh" 1 2441: # 29 "../../src/CO_Tree_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline dimension_type 2441: CO_Tree::dfs_index(const_iterator itr) const { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: const std::ptrdiff_t index = itr.current_index - indexes; 2441: return static_cast(index); 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::dfs_index(iterator itr) const { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: const std::ptrdiff_t index = itr.current_index - indexes; 2441: return static_cast(index); 2441: } 2441: 2441: inline 2441: CO_Tree::CO_Tree() { 2441: init(0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::CO_Tree(const CO_Tree& y) { 2441: ((void) 0); 2441: data_allocator = y.data_allocator; 2441: init(y.reserved_size); 2441: copy_data_from(y); 2441: } 2441: 2441: inline CO_Tree& 2441: CO_Tree::operator=(const CO_Tree& y) { 2441: if (this != &y) { 2441: destroy(); 2441: data_allocator = y.data_allocator; 2441: init(y.reserved_size); 2441: copy_data_from(y); 2441: } 2441: return *this; 2441: } 2441: 2441: inline void 2441: CO_Tree::clear() { 2441: *this = CO_Tree(); 2441: } 2441: 2441: inline 2441: CO_Tree::~CO_Tree() { 2441: 2441: destroy(); 2441: } 2441: 2441: inline bool 2441: CO_Tree::empty() const { 2441: return size_ == 0; 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::size() const { 2441: return size_; 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::max_size() { 2441: return C_Integer::max/100; 2441: } 2441: 2441: inline void 2441: CO_Tree::dump_tree() const { 2441: if (empty()) { 2441: std::cout << "(empty tree)" << std::endl; 2441: } 2441: else { 2441: dump_subtree(tree_iterator(*const_cast(this))); 2441: } 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::insert(const dimension_type key) { 2441: if (empty()) { 2441: return insert(key, Coefficient_zero()); 2441: } 2441: else { 2441: tree_iterator itr(*this); 2441: itr.go_down_searching_key(key); 2441: if (itr.index() == key) { 2441: return iterator(itr); 2441: } 2441: else { 2441: return iterator(insert_precise(key, Coefficient_zero(), itr)); 2441: } 2441: } 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::insert(dimension_type key, data_type_const_reference data1) { 2441: if (empty()) { 2441: insert_in_empty_tree(key, data1); 2441: tree_iterator itr(*this); 2441: ((void) 0); 2441: return iterator(itr); 2441: } 2441: else { 2441: tree_iterator itr(*this); 2441: itr.go_down_searching_key(key); 2441: return iterator(insert_precise(key, data1, itr)); 2441: } 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::erase(dimension_type key) { 2441: ((void) 0); 2441: 2441: if (empty()) { 2441: return end(); 2441: } 2441: 2441: tree_iterator itr(*this); 2441: itr.go_down_searching_key(key); 2441: 2441: if (itr.index() == key) { 2441: return erase(itr); 2441: } 2441: 2441: iterator result(itr); 2441: if (result.index() < key) { 2441: ++result; 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: 2441: return result; 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::erase(iterator itr) { 2441: ((void) 0); 2441: return erase(tree_iterator(itr, *this)); 2441: } 2441: 2441: inline void 2441: CO_Tree::m_swap(CO_Tree& x) { 2441: using std::swap; 2441: swap(max_depth, x.max_depth); 2441: swap(indexes, x.indexes); 2441: swap(data_allocator, x.data_allocator); 2441: swap(data, x.data); 2441: swap(reserved_size, x.reserved_size); 2441: swap(size_, x.size_); 2441: 2441: 2441: refresh_cached_iterators(); 2441: x.refresh_cached_iterators(); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::begin() { 2441: return iterator(*this); 2441: } 2441: 2441: inline const CO_Tree::iterator& 2441: CO_Tree::end() { 2441: return cached_end; 2441: } 2441: 2441: inline CO_Tree::const_iterator 2441: CO_Tree::begin() const { 2441: return const_iterator(*this); 2441: } 2441: 2441: inline const CO_Tree::const_iterator& 2441: CO_Tree::end() const { 2441: return cached_const_end; 2441: } 2441: 2441: inline CO_Tree::const_iterator 2441: CO_Tree::cbegin() const { 2441: return const_iterator(*this); 2441: } 2441: 2441: inline const CO_Tree::const_iterator& 2441: CO_Tree::cend() const { 2441: return cached_const_end; 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::bisect(dimension_type key) { 2441: if (empty()) { 2441: return end(); 2441: } 2441: iterator last = end(); 2441: --last; 2441: return bisect_in(begin(), last, key); 2441: } 2441: 2441: inline CO_Tree::const_iterator 2441: CO_Tree::bisect(dimension_type key) const { 2441: if (empty()) { 2441: return end(); 2441: } 2441: const_iterator last = end(); 2441: --last; 2441: return bisect_in(begin(), last, key); 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::bisect_in(iterator first, iterator last, dimension_type key) { 2441: ((void) 0); 2441: ((void) 0); 2441: const dimension_type index 2441: = bisect_in(dfs_index(first), dfs_index(last), key); 2441: return iterator(*this, index); 2441: } 2441: 2441: inline CO_Tree::const_iterator 2441: CO_Tree::bisect_in(const_iterator first, const_iterator last, 2441: dimension_type key) const { 2441: ((void) 0); 2441: ((void) 0); 2441: const dimension_type index 2441: = bisect_in(dfs_index(first), dfs_index(last), key); 2441: return const_iterator(*this, index); 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::bisect_near(iterator hint, dimension_type key) { 2441: if (hint == end()) { 2441: return bisect(key); 2441: } 2441: const dimension_type index 2441: = bisect_near(dfs_index(hint), key); 2441: return iterator(*this, index); 2441: } 2441: 2441: inline CO_Tree::const_iterator 2441: CO_Tree::bisect_near(const_iterator hint, dimension_type key) const { 2441: if (hint == end()) { 2441: return bisect(key); 2441: } 2441: const dimension_type index = bisect_near(dfs_index(hint), key); 2441: return const_iterator(*this, index); 2441: } 2441: 2441: inline void 2441: CO_Tree::fast_shift(dimension_type i, iterator itr) { 2441: ((void) 0); 2441: ((void) 0); 2441: indexes[dfs_index(itr)] = i; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::insert_in_empty_tree(dimension_type key, 2441: data_type_const_reference data1) { 2441: ((void) 0); 2441: rebuild_bigger_tree(); 2441: tree_iterator itr(*this); 2441: ((void) 0); 2441: new(&(*itr)) data_type(data1); 2441: 2441: 2441: itr.index() = key; 2441: ++size_; 2441: 2441: ((void) 0); 2441: } 2441: 2441: inline bool 2441: CO_Tree::is_less_than_ratio(dimension_type numer, dimension_type denom, 2441: dimension_type ratio) { 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: return 100*numer < ratio*denom; 2441: } 2441: 2441: inline bool 2441: CO_Tree::is_greater_than_ratio(dimension_type numer, dimension_type denom, 2441: dimension_type ratio) { 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: return 100*numer > ratio*denom; 2441: } 2441: 2441: inline void 2441: CO_Tree::rebuild_smaller_tree() { 2441: ((void) 0); 2441: CO_Tree new_tree; 2441: new_tree.init(reserved_size / 2); 2441: new_tree.move_data_from(*this); 2441: m_swap(new_tree); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::refresh_cached_iterators() { 2441: cached_end = iterator(*this, reserved_size + 1); 2441: cached_const_end = const_iterator(*this, reserved_size + 1); 2441: } 2441: 2441: inline void 2441: CO_Tree::move_data_element(data_type& to, data_type& from) { 2441: # 354 "../../src/CO_Tree_inlines.hh" 2441: std::memcpy(&to, &from, sizeof(data_type)); 2441: } 2441: 2441: 2441: inline 2441: CO_Tree::const_iterator::const_iterator() 2441: : current_index(0), current_data(0) { 2441: 2441: 2441: 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::const_iterator::const_iterator(const CO_Tree& tree1) 2441: : current_index(&(tree1.indexes[1])), current_data(&(tree1.data[1])) { 2441: 2441: 2441: 2441: if (!tree1.empty()) { 2441: while (*current_index == unused_index) { 2441: ++current_index; 2441: ++current_data; 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::const_iterator::const_iterator(const CO_Tree& tree1, 2441: dimension_type i) 2441: : current_index(&(tree1.indexes[i])), current_data(&(tree1.data[i])) { 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::const_iterator::const_iterator(const const_iterator& itr2) { 2441: (*this) = itr2; 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::const_iterator::const_iterator(const iterator& itr2) { 2441: (*this) = itr2; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::const_iterator::m_swap(const_iterator& itr) { 2441: using std::swap; 2441: swap(current_data, itr.current_data); 2441: swap(current_index, itr.current_index); 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline CO_Tree::const_iterator& 2441: CO_Tree::const_iterator::operator=(const const_iterator& itr2) { 2441: current_index = itr2.current_index; 2441: current_data = itr2.current_data; 2441: 2441: 2441: 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::const_iterator& 2441: CO_Tree::const_iterator::operator=(const iterator& itr2) { 2441: current_index = itr2.current_index; 2441: current_data = itr2.current_data; 2441: 2441: 2441: 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::const_iterator& 2441: CO_Tree::const_iterator::operator++() { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: ++current_index; 2441: ++current_data; 2441: while (*current_index == unused_index) { 2441: ++current_index; 2441: ++current_data; 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::const_iterator& 2441: CO_Tree::const_iterator::operator--() { 2441: ((void) 0); 2441: ((void) 0); 2441: --current_index; 2441: --current_data; 2441: while (*current_index == unused_index) { 2441: --current_index; 2441: --current_data; 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::const_iterator 2441: CO_Tree::const_iterator::operator++(int) { 2441: const_iterator itr(*this); 2441: ++(*this); 2441: return itr; 2441: } 2441: 2441: inline CO_Tree::const_iterator 2441: CO_Tree::const_iterator::operator--(int) { 2441: const_iterator itr(*this); 2441: --(*this); 2441: return itr; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: CO_Tree::const_iterator::operator*() const { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: return *current_data; 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::const_iterator::index() const { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: return *current_index; 2441: } 2441: 2441: inline bool 2441: CO_Tree::const_iterator::operator==(const const_iterator& x) const { 2441: ((void) 0) 2441: ; 2441: ((void) 0); 2441: return (current_index == x.current_index); 2441: } 2441: 2441: inline bool 2441: CO_Tree::const_iterator::operator!=(const const_iterator& x) const { 2441: return !(*this == x); 2441: } 2441: 2441: 2441: inline 2441: CO_Tree::iterator::iterator() 2441: : current_index(0), current_data(0) { 2441: 2441: 2441: 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::iterator::iterator(CO_Tree& tree1) 2441: : current_index(&(tree1.indexes[1])), current_data(&(tree1.data[1])) { 2441: 2441: 2441: 2441: if (!tree1.empty()) { 2441: while (*current_index == unused_index) { 2441: ++current_index; 2441: ++current_data; 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::iterator::iterator(CO_Tree& tree1, dimension_type i) 2441: : current_index(&(tree1.indexes[i])), current_data(&(tree1.data[i])) { 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::iterator::iterator(const tree_iterator& itr) { 2441: *this = itr; 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::iterator::iterator(const iterator& itr2) { 2441: (*this) = itr2; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::iterator::m_swap(iterator& itr) { 2441: using std::swap; 2441: swap(current_data, itr.current_data); 2441: swap(current_index, itr.current_index); 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline CO_Tree::iterator& 2441: CO_Tree::iterator::operator=(const tree_iterator& itr) { 2441: current_index = &(itr.tree.indexes[itr.dfs_index()]); 2441: current_data = &(itr.tree.data[itr.dfs_index()]); 2441: 2441: 2441: 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::iterator& 2441: CO_Tree::iterator::operator=(const iterator& itr2) { 2441: current_index = itr2.current_index; 2441: current_data = itr2.current_data; 2441: 2441: 2441: 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::iterator& 2441: CO_Tree::iterator::operator++() { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: ++current_index; 2441: ++current_data; 2441: while (*current_index == unused_index) { 2441: ++current_index; 2441: ++current_data; 2441: } 2441: 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::iterator& 2441: CO_Tree::iterator::operator--() { 2441: ((void) 0); 2441: ((void) 0); 2441: --current_index; 2441: --current_data; 2441: while (*current_index == unused_index) { 2441: --current_index; 2441: --current_data; 2441: } 2441: 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::iterator::operator++(int) { 2441: iterator itr(*this); 2441: ++(*this); 2441: return itr; 2441: } 2441: 2441: inline CO_Tree::iterator 2441: CO_Tree::iterator::operator--(int) { 2441: iterator itr(*this); 2441: --(*this); 2441: return itr; 2441: } 2441: 2441: inline CO_Tree::data_type& 2441: CO_Tree::iterator::operator*() { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: return *current_data; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: CO_Tree::iterator::operator*() const { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: return *current_data; 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::iterator::index() const { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: return *current_index; 2441: } 2441: 2441: inline bool 2441: CO_Tree::iterator::operator==(const iterator& x) const { 2441: ((void) 0) 2441: ; 2441: ((void) 0); 2441: return (current_index == x.current_index); 2441: } 2441: 2441: inline bool 2441: CO_Tree::iterator::operator!=(const iterator& x) const { 2441: return !(*this == x); 2441: } 2441: 2441: 2441: inline 2441: CO_Tree::tree_iterator::tree_iterator(CO_Tree& tree1) 2441: : tree(tree1) { 2441: ((void) 0); 2441: get_root(); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::tree_iterator::tree_iterator(CO_Tree& tree1, dimension_type i1) 2441: : tree(tree1) { 2441: ((void) 0); 2441: ((void) 0); 2441: i = i1; 2441: offset = least_significant_one_mask(i); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: CO_Tree::tree_iterator::tree_iterator(const iterator& itr, CO_Tree& tree1) 2441: : tree(tree1) { 2441: ((void) 0); 2441: *this = itr; 2441: ((void) 0); 2441: } 2441: 2441: inline CO_Tree::tree_iterator& 2441: CO_Tree::tree_iterator::operator=(const tree_iterator& itr) { 2441: ((void) 0); 2441: i = itr.i; 2441: offset = itr.offset; 2441: return *this; 2441: } 2441: 2441: inline CO_Tree::tree_iterator& 2441: CO_Tree::tree_iterator::operator=(const iterator& itr) { 2441: ((void) 0); 2441: i = tree.dfs_index(itr); 2441: offset = least_significant_one_mask(i); 2441: return *this; 2441: } 2441: 2441: inline bool 2441: CO_Tree::tree_iterator::operator==(const tree_iterator& itr) const { 2441: return i == itr.i; 2441: } 2441: 2441: inline bool 2441: CO_Tree::tree_iterator::operator!=(const tree_iterator& itr) const { 2441: return !(*this == itr); 2441: } 2441: 2441: inline void 2441: CO_Tree::tree_iterator::get_root() { 2441: i = tree.reserved_size / 2 + 1; 2441: offset = i; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::tree_iterator::get_left_child() { 2441: ((void) 0); 2441: ((void) 0); 2441: offset /= 2; 2441: i -= offset; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::tree_iterator::get_right_child() { 2441: ((void) 0); 2441: ((void) 0); 2441: offset /= 2; 2441: i += offset; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::tree_iterator::get_parent() { 2441: ((void) 0); 2441: ((void) 0); 2441: i &= ~offset; 2441: offset *= 2; 2441: i |= offset; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::tree_iterator::follow_left_children_with_value() { 2441: ((void) 0); 2441: const dimension_type* p = tree.indexes; 2441: p += i; 2441: p -= (offset - 1); 2441: while (*p == unused_index) { 2441: ++p; 2441: } 2441: const std::ptrdiff_t distance = p - tree.indexes; 2441: ((void) 0); 2441: i = static_cast(distance); 2441: offset = least_significant_one_mask(i); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: CO_Tree::tree_iterator::follow_right_children_with_value() { 2441: ((void) 0); 2441: const dimension_type* p = tree.indexes; 2441: p += i; 2441: p += (offset - 1); 2441: while (*p == unused_index) { 2441: --p; 2441: } 2441: const std::ptrdiff_t distance = p - tree.indexes; 2441: ((void) 0); 2441: i = static_cast(distance); 2441: offset = least_significant_one_mask(i); 2441: ((void) 0); 2441: } 2441: 2441: inline bool 2441: CO_Tree::tree_iterator::is_root() const { 2441: 2441: ((void) 0); 2441: return offset == (tree.reserved_size / 2 + 1); 2441: } 2441: 2441: inline bool 2441: CO_Tree::tree_iterator::is_right_child() const { 2441: if (is_root()) { 2441: return false; 2441: } 2441: return (i & (2*offset)) != 0; 2441: } 2441: 2441: inline bool 2441: CO_Tree::tree_iterator::is_leaf() const { 2441: return offset == 1; 2441: } 2441: 2441: inline CO_Tree::data_type& 2441: CO_Tree::tree_iterator::operator*() { 2441: return tree.data[i]; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: CO_Tree::tree_iterator::operator*() const { 2441: return tree.data[i]; 2441: } 2441: 2441: inline dimension_type& 2441: CO_Tree::tree_iterator::index() { 2441: return tree.indexes[i]; 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::tree_iterator::index() const { 2441: return tree.indexes[i]; 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::tree_iterator::dfs_index() const { 2441: return i; 2441: } 2441: 2441: inline dimension_type 2441: CO_Tree::tree_iterator::get_offset() const { 2441: return offset; 2441: } 2441: 2441: inline CO_Tree::height_t 2441: CO_Tree::tree_iterator::depth() const { 2441: return integer_log2((tree.reserved_size + 1) / offset); 2441: } 2441: 2441: inline void 2441: swap(CO_Tree& x, CO_Tree& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: inline void 2441: swap(CO_Tree::const_iterator& x, CO_Tree::const_iterator& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: inline void 2441: swap(CO_Tree::iterator& x, CO_Tree::iterator& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 1558 "../../src/CO_Tree_defs.hh" 2 2441: # 1 "../../src/CO_Tree_templates.hh" 1 2441: # 27 "../../src/CO_Tree_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: CO_Tree::CO_Tree(Iterator i, dimension_type n) { 2441: 2441: if (n == 0) { 2441: init(0); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: const dimension_type new_max_depth = integer_log2(n) + 1; 2441: reserved_size = (static_cast(1) << new_max_depth) - 1; 2441: 2441: if (is_greater_than_ratio(n, reserved_size, max_density_percent) 2441: && reserved_size != 3) { 2441: reserved_size = reserved_size*2 + 1; 2441: } 2441: 2441: init(reserved_size); 2441: 2441: tree_iterator root(*this); 2441: # 57 "../../src/CO_Tree_templates.hh" 2441: static std::pair 2441: stack[4U * ((sizeof(dimension_type)) * static_cast(8)) + 1U]; 2441: 2441: dimension_type stack_first_empty = 0; 2441: # 71 "../../src/CO_Tree_templates.hh" 2441: stack[0].first = n; 2441: stack[0].second = 3; 2441: ++stack_first_empty; 2441: 2441: while (stack_first_empty != 0) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type top_n = stack[stack_first_empty - 1].first; 2441: const signed char top_operation = stack[stack_first_empty - 1].second; 2441: 2441: switch (top_operation) { 2441: 2441: case 0: 2441: root.get_parent(); 2441: --stack_first_empty; 2441: continue; 2441: 2441: case 1: 2441: root.get_left_child(); 2441: break; 2441: 2441: case 2: 2441: root.get_right_child(); 2441: break; 2441: # 108 "../../src/CO_Tree_templates.hh" 2441: } 2441: 2441: 2441: 2441: if (top_n == 0) { 2441: --stack_first_empty; 2441: } 2441: else { 2441: if (top_n == 1) { 2441: ((void) 0); 2441: root.index() = i.index(); 2441: new(&(*root)) data_type(*i); 2441: ++i; 2441: --stack_first_empty; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: const dimension_type half = (top_n + 1) / 2; 2441: stack[stack_first_empty - 1].second = 0; 2441: stack[stack_first_empty ] = std::make_pair(top_n - half, 2); 2441: stack[stack_first_empty + 1] = std::make_pair(1, 3); 2441: stack[stack_first_empty + 2].second = 0; 2441: stack[stack_first_empty + 3] = std::make_pair(half - 1, 1); 2441: stack_first_empty += 4; 2441: } 2441: } 2441: } 2441: size_ = n; 2441: ((void) 0); 2441: } 2441: 2441: } 2441: # 1559 "../../src/CO_Tree_defs.hh" 2 2441: # 30 "../../src/Sparse_Row_defs.hh" 2 2441: # 58 "../../src/Sparse_Row_defs.hh" 2441: class Parma_Polyhedra_Library::Sparse_Row { 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef CO_Tree::iterator iterator; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef CO_Tree::const_iterator const_iterator; 2441: # 85 "../../src/Sparse_Row_defs.hh" 2441: explicit Sparse_Row(dimension_type n = 0); 2441: # 99 "../../src/Sparse_Row_defs.hh" 2441: Sparse_Row(dimension_type n, dimension_type capacity); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Sparse_Row(const Sparse_Row& y, dimension_type capacity); 2441: 2441: 2441: 2441: 2441: 2441: Sparse_Row(const Sparse_Row& y, dimension_type sz, dimension_type capacity); 2441: # 122 "../../src/Sparse_Row_defs.hh" 2441: explicit Sparse_Row(const Dense_Row& row); 2441: 2441: 2441: 2441: 2441: 2441: Sparse_Row(const Dense_Row& y, dimension_type sz, dimension_type capacity); 2441: 2441: Sparse_Row& operator=(const Dense_Row& row); 2441: # 139 "../../src/Sparse_Row_defs.hh" 2441: void m_swap(Sparse_Row& x); 2441: 2441: 2441: 2441: 2441: 2441: dimension_type size() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type num_stored_elements() const; 2441: # 164 "../../src/Sparse_Row_defs.hh" 2441: void resize(dimension_type n); 2441: # 176 "../../src/Sparse_Row_defs.hh" 2441: void expand_within_capacity(dimension_type n); 2441: # 189 "../../src/Sparse_Row_defs.hh" 2441: void shrink(dimension_type n); 2441: # 205 "../../src/Sparse_Row_defs.hh" 2441: void delete_element_and_shift(dimension_type i); 2441: # 226 "../../src/Sparse_Row_defs.hh" 2441: void add_zeroes_and_shift(dimension_type n, dimension_type i); 2441: 2441: 2441: 2441: 2441: 2441: iterator begin(); 2441: # 243 "../../src/Sparse_Row_defs.hh" 2441: const iterator& end(); 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const const_iterator& end() const; 2441: 2441: 2441: 2441: 2441: 2441: const_iterator cbegin() const; 2441: # 266 "../../src/Sparse_Row_defs.hh" 2441: const const_iterator& cend() const; 2441: 2441: 2441: static dimension_type max_size(); 2441: 2441: 2441: 2441: 2441: 2441: void clear(); 2441: # 293 "../../src/Sparse_Row_defs.hh" 2441: Coefficient& operator[](dimension_type i); 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference operator[](dimension_type i) const; 2441: # 311 "../../src/Sparse_Row_defs.hh" 2441: Coefficient_traits::const_reference get(dimension_type i) const; 2441: # 323 "../../src/Sparse_Row_defs.hh" 2441: iterator find(dimension_type i); 2441: # 341 "../../src/Sparse_Row_defs.hh" 2441: iterator find(iterator itr, dimension_type i); 2441: # 353 "../../src/Sparse_Row_defs.hh" 2441: const_iterator find(dimension_type i) const; 2441: # 371 "../../src/Sparse_Row_defs.hh" 2441: const_iterator find(const_iterator itr, dimension_type i) const; 2441: # 387 "../../src/Sparse_Row_defs.hh" 2441: iterator lower_bound(dimension_type i); 2441: # 409 "../../src/Sparse_Row_defs.hh" 2441: iterator lower_bound(iterator itr, dimension_type i); 2441: # 426 "../../src/Sparse_Row_defs.hh" 2441: const_iterator lower_bound(dimension_type i) const; 2441: # 448 "../../src/Sparse_Row_defs.hh" 2441: const_iterator lower_bound(const_iterator itr, dimension_type i) const; 2441: # 465 "../../src/Sparse_Row_defs.hh" 2441: iterator insert(dimension_type i, Coefficient_traits::const_reference x); 2441: # 488 "../../src/Sparse_Row_defs.hh" 2441: iterator insert(iterator itr, dimension_type i, 2441: Coefficient_traits::const_reference x); 2441: # 503 "../../src/Sparse_Row_defs.hh" 2441: iterator insert(dimension_type i); 2441: # 523 "../../src/Sparse_Row_defs.hh" 2441: iterator insert(iterator itr, dimension_type i); 2441: # 537 "../../src/Sparse_Row_defs.hh" 2441: void swap_coefficients(dimension_type i, dimension_type j); 2441: # 547 "../../src/Sparse_Row_defs.hh" 2441: void fast_swap(dimension_type i, iterator itr); 2441: # 559 "../../src/Sparse_Row_defs.hh" 2441: void swap_coefficients(iterator i, iterator j); 2441: # 574 "../../src/Sparse_Row_defs.hh" 2441: iterator reset(iterator i); 2441: # 592 "../../src/Sparse_Row_defs.hh" 2441: iterator reset(iterator first, iterator last); 2441: # 606 "../../src/Sparse_Row_defs.hh" 2441: void reset(dimension_type i); 2441: # 621 "../../src/Sparse_Row_defs.hh" 2441: void reset_after(dimension_type i); 2441: # 630 "../../src/Sparse_Row_defs.hh" 2441: void normalize(); 2441: # 655 "../../src/Sparse_Row_defs.hh" 2441: template 2441: void combine_needs_first(const Sparse_Row& y, 2441: const Func1& f, const Func2& g); 2441: # 683 "../../src/Sparse_Row_defs.hh" 2441: template 2441: void combine_needs_second(const Sparse_Row& y, 2441: const Func1& g, const Func2& h); 2441: # 715 "../../src/Sparse_Row_defs.hh" 2441: template 2441: void combine(const Sparse_Row& y, 2441: const Func1& f, const Func2& g, const Func3& h); 2441: # 744 "../../src/Sparse_Row_defs.hh" 2441: void linear_combine(const Sparse_Row& y, 2441: Coefficient_traits::const_reference coeff1, 2441: Coefficient_traits::const_reference coeff2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void linear_combine(const Sparse_Row& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: # 783 "../../src/Sparse_Row_defs.hh" 2441: memory_size_type external_memory_in_bytes(dimension_type capacity) const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: # 800 "../../src/Sparse_Row_defs.hh" 2441: memory_size_type total_memory_in_bytes(dimension_type capacity) const; 2441: 2441: 2441: bool OK() const; 2441: # 812 "../../src/Sparse_Row_defs.hh" 2441: bool OK(dimension_type capacity) const; 2441: 2441: private: 2441: 2441: CO_Tree tree; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type size_; 2441: }; 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: void swap(Parma_Polyhedra_Library::Sparse_Row& x, 2441: Parma_Polyhedra_Library::Sparse_Row& y); 2441: 2441: void swap(Parma_Polyhedra_Library::Sparse_Row& x, 2441: Parma_Polyhedra_Library::Dense_Row& y); 2441: 2441: void swap(Parma_Polyhedra_Library::Dense_Row& x, 2441: Parma_Polyhedra_Library::Sparse_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Sparse_Row& x, const Sparse_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Sparse_Row& x, const Sparse_Row& y); 2441: 2441: bool operator==(const Dense_Row& x, const Sparse_Row& y); 2441: bool operator!=(const Dense_Row& x, const Sparse_Row& y); 2441: 2441: bool operator==(const Sparse_Row& x, const Dense_Row& y); 2441: bool operator!=(const Sparse_Row& x, const Dense_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void linear_combine(Sparse_Row& x, const Dense_Row& y, 2441: Coefficient_traits::const_reference coeff1, 2441: Coefficient_traits::const_reference coeff2); 2441: # 876 "../../src/Sparse_Row_defs.hh" 2441: void linear_combine(Sparse_Row& x, const Dense_Row& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void linear_combine(Dense_Row& x, const Sparse_Row& y, 2441: Coefficient_traits::const_reference coeff1, 2441: Coefficient_traits::const_reference coeff2); 2441: # 898 "../../src/Sparse_Row_defs.hh" 2441: void linear_combine(Dense_Row& x, const Sparse_Row& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void linear_combine(Sparse_Row& x, const Sparse_Row& y, 2441: Coefficient_traits::const_reference coeff1, 2441: Coefficient_traits::const_reference coeff2); 2441: # 920 "../../src/Sparse_Row_defs.hh" 2441: void linear_combine(Sparse_Row& x, const Sparse_Row& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: } 2441: 2441: # 1 "../../src/Sparse_Row_inlines.hh" 1 2441: # 29 "../../src/Sparse_Row_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Sparse_Row::Sparse_Row(dimension_type n) 2441: : size_(n) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Sparse_Row::Sparse_Row(dimension_type n, dimension_type) 2441: : size_(n) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Sparse_Row::Sparse_Row(const Sparse_Row& y, dimension_type) 2441: : tree(y.tree), size_(y.size_) { 2441: } 2441: 2441: inline 2441: Sparse_Row::Sparse_Row(const Sparse_Row& y, dimension_type sz, dimension_type) 2441: : tree(y.begin(), 2441: std::distance(y.begin(), y.lower_bound(std::min(y.size(), sz)))), 2441: size_(sz) { 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Sparse_Row::m_swap(Sparse_Row& x) { 2441: using std::swap; 2441: swap(tree, x.tree); 2441: swap(size_, x.size_); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline dimension_type 2441: Sparse_Row::size() const { 2441: return size_; 2441: } 2441: 2441: inline dimension_type 2441: Sparse_Row::num_stored_elements() const { 2441: return tree.size(); 2441: } 2441: 2441: inline void 2441: Sparse_Row::resize(dimension_type n) { 2441: if (n < size_) { 2441: reset_after(n); 2441: } 2441: size_ = n; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Sparse_Row::shrink(dimension_type n) { 2441: ((void) 0); 2441: resize(n); 2441: } 2441: 2441: inline void 2441: Sparse_Row::expand_within_capacity(dimension_type n) { 2441: ((void) 0); 2441: resize(n); 2441: } 2441: 2441: inline void 2441: Sparse_Row::delete_element_and_shift(dimension_type i) { 2441: ((void) 0); 2441: tree.erase_element_and_shift_left(i); 2441: --size_; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Sparse_Row::add_zeroes_and_shift(dimension_type n, dimension_type i) { 2441: ((void) 0); 2441: tree.increase_keys_from(i, n); 2441: size_ += n; 2441: ((void) 0); 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::begin() { 2441: return tree.begin(); 2441: } 2441: 2441: inline const Sparse_Row::iterator& 2441: Sparse_Row::end() { 2441: return tree.end(); 2441: } 2441: 2441: inline Sparse_Row::const_iterator 2441: Sparse_Row::begin() const { 2441: return tree.cbegin(); 2441: } 2441: 2441: inline const Sparse_Row::const_iterator& 2441: Sparse_Row::end() const { 2441: return tree.cend(); 2441: } 2441: 2441: inline Sparse_Row::const_iterator 2441: Sparse_Row::cbegin() const { 2441: return tree.cbegin(); 2441: } 2441: 2441: inline const Sparse_Row::const_iterator& 2441: Sparse_Row::cend() const { 2441: return tree.cend(); 2441: } 2441: 2441: inline dimension_type 2441: Sparse_Row::max_size() { 2441: return CO_Tree::max_size(); 2441: } 2441: 2441: inline void 2441: Sparse_Row::clear() { 2441: tree.clear(); 2441: } 2441: 2441: inline Coefficient& 2441: Sparse_Row::operator[](dimension_type i) { 2441: ((void) 0); 2441: iterator itr = insert(i); 2441: return *itr; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Sparse_Row::operator[](dimension_type i) const { 2441: return get(i); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Sparse_Row::get(dimension_type i) const { 2441: ((void) 0); 2441: if (tree.empty()) { 2441: return Coefficient_zero(); 2441: } 2441: const_iterator itr = find(i); 2441: if (itr != end()) { 2441: return *itr; 2441: } 2441: else { 2441: return Coefficient_zero(); 2441: } 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::find(dimension_type i) { 2441: ((void) 0); 2441: 2441: iterator itr = tree.bisect(i); 2441: 2441: if (itr != end() && itr.index() == i) { 2441: return itr; 2441: } 2441: return end(); 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::find(iterator hint, dimension_type i) { 2441: ((void) 0); 2441: 2441: iterator itr = tree.bisect_near(hint, i); 2441: 2441: if (itr != end() && itr.index() == i) { 2441: return itr; 2441: } 2441: return end(); 2441: } 2441: 2441: inline Sparse_Row::const_iterator 2441: Sparse_Row::find(dimension_type i) const { 2441: ((void) 0); 2441: 2441: const_iterator itr = tree.bisect(i); 2441: 2441: if (itr != end() && itr.index() == i) { 2441: return itr; 2441: } 2441: 2441: return end(); 2441: } 2441: 2441: inline Sparse_Row::const_iterator 2441: Sparse_Row::find(const_iterator hint, dimension_type i) const { 2441: ((void) 0); 2441: 2441: const_iterator itr = tree.bisect_near(hint, i); 2441: 2441: if (itr != end() && itr.index() == i) { 2441: return itr; 2441: } 2441: return end(); 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::lower_bound(dimension_type i) { 2441: ((void) 0); 2441: 2441: iterator itr = tree.bisect(i); 2441: 2441: if (itr == end()) { 2441: return end(); 2441: } 2441: 2441: if (itr.index() < i) { 2441: ++itr; 2441: } 2441: 2441: ((void) 0); 2441: 2441: return itr; 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::lower_bound(iterator hint, dimension_type i) { 2441: ((void) 0); 2441: 2441: iterator itr = tree.bisect_near(hint, i); 2441: 2441: if (itr == end()) { 2441: return end(); 2441: } 2441: 2441: if (itr.index() < i) { 2441: ++itr; 2441: } 2441: 2441: ((void) 0); 2441: 2441: return itr; 2441: } 2441: 2441: inline Sparse_Row::const_iterator 2441: Sparse_Row::lower_bound(dimension_type i) const { 2441: ((void) 0); 2441: 2441: const_iterator itr = tree.bisect(i); 2441: 2441: if (itr == end()) { 2441: return end(); 2441: } 2441: 2441: if (itr.index() < i) { 2441: ++itr; 2441: } 2441: 2441: ((void) 0); 2441: 2441: return itr; 2441: } 2441: 2441: inline Sparse_Row::const_iterator 2441: Sparse_Row::lower_bound(const_iterator hint, dimension_type i) const { 2441: ((void) 0); 2441: 2441: const_iterator itr = tree.bisect_near(hint, i); 2441: 2441: if (itr == end()) { 2441: return end(); 2441: } 2441: 2441: if (itr.index() < i) { 2441: ++itr; 2441: } 2441: 2441: ((void) 0); 2441: 2441: return itr; 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::insert(dimension_type i, Coefficient_traits::const_reference x) { 2441: ((void) 0); 2441: return tree.insert(i, x); 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::insert(iterator itr, dimension_type i, 2441: Coefficient_traits::const_reference x) { 2441: ((void) 0); 2441: return tree.insert(itr, i, x); 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::insert(dimension_type i) { 2441: ((void) 0); 2441: return tree.insert(i); 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::insert(iterator itr, dimension_type i) { 2441: ((void) 0); 2441: return tree.insert(itr, i); 2441: } 2441: 2441: inline void 2441: Sparse_Row::swap_coefficients(iterator i, iterator j) { 2441: ((void) 0); 2441: ((void) 0); 2441: using std::swap; 2441: swap(*i, *j); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Sparse_Row::fast_swap(dimension_type i, iterator itr) { 2441: ((void) 0); 2441: ((void) 0); 2441: tree.fast_shift(i, itr); 2441: ((void) 0); 2441: } 2441: 2441: inline Sparse_Row::iterator 2441: Sparse_Row::reset(iterator i) { 2441: iterator res = tree.erase(i); 2441: ((void) 0); 2441: return res; 2441: } 2441: 2441: inline void 2441: Sparse_Row::reset(dimension_type i) { 2441: ((void) 0); 2441: 2441: tree.erase(i); 2441: ((void) 0); 2441: } 2441: 2441: inline memory_size_type 2441: Sparse_Row::external_memory_in_bytes() const { 2441: return tree.external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Sparse_Row::external_memory_in_bytes(dimension_type ) const { 2441: return external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Sparse_Row::total_memory_in_bytes() const { 2441: return external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: inline memory_size_type 2441: Sparse_Row::total_memory_in_bytes(dimension_type ) const { 2441: return total_memory_in_bytes(); 2441: } 2441: 2441: 2441: 2441: 2441: inline void 2441: swap(Sparse_Row& x, Sparse_Row& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 928 "../../src/Sparse_Row_defs.hh" 2 2441: # 1 "../../src/Sparse_Row_templates.hh" 1 2441: # 27 "../../src/Sparse_Row_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: template 2441: void 2441: Sparse_Row::combine_needs_first(const Sparse_Row& y, 2441: const Func1& f, const Func2& g) { 2441: if (this == &y) { 2441: for (iterator i = begin(), i_end = end(); i != i_end; ++i) { 2441: g(*i, *i); 2441: } 2441: } 2441: else { 2441: iterator i = begin(); 2441: 2441: 2441: 2441: const iterator& i_end = end(); 2441: const_iterator j = y.begin(); 2441: const_iterator j_end = y.end(); 2441: while (i != i_end && j != j_end) { 2441: if (i.index() == j.index()) { 2441: g(*i, *j); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: ++j; 2441: } 2441: else 2441: if (i.index() < j.index()) { 2441: f(*i); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: else { 2441: j = y.lower_bound(j, i.index()); 2441: } 2441: } 2441: while (i != i_end) { 2441: f(*i); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Sparse_Row::combine_needs_second(const Sparse_Row& y, 2441: const Func1& g, 2441: const Func2& ) { 2441: iterator i = begin(); 2441: for (const_iterator j = y.begin(), j_end = y.end(); j != j_end; ++j) { 2441: i = insert(i, j.index()); 2441: g(*i, *j); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Sparse_Row::combine(const Sparse_Row& y, const Func1& f, 2441: const Func2& g, const Func3& h) { 2441: if (this == &y) { 2441: for (iterator i = begin(), i_end = end(); i != i_end; ++i) { 2441: g(*i, *i); 2441: } 2441: } 2441: else { 2441: iterator i = begin(); 2441: 2441: 2441: 2441: const iterator& i_end = end(); 2441: const_iterator j = y.begin(); 2441: const_iterator j_end = y.end(); 2441: while (i != i_end && j != j_end) { 2441: if (i.index() == j.index()) { 2441: g(*i, *j); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: ++j; 2441: } 2441: else 2441: if (i.index() < j.index()) { 2441: f(*i); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: i = insert(i, j.index()); 2441: h(*i, *j); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: ++j; 2441: } 2441: } 2441: ((void) 0); 2441: while (i != i_end) { 2441: f(*i); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: while (j != j_end) { 2441: i = insert(i, j.index()); 2441: h(*i, *j); 2441: if (*i == 0) { 2441: i = reset(i); 2441: } 2441: ++j; 2441: } 2441: } 2441: } 2441: 2441: } 2441: # 929 "../../src/Sparse_Row_defs.hh" 2 2441: # 34 "../../src/Linear_Expression_Impl_defs.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: std::ostream& 2441: operator<<(std::ostream& s, const Linear_Expression_Impl& e); 2441: 2441: } 2441: 2441: } 2441: # 102 "../../src/Linear_Expression_Impl_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Linear_Expression_Impl 2441: : public Linear_Expression_Interface { 2441: public: 2441: 2441: Linear_Expression_Impl(); 2441: 2441: 2441: Linear_Expression_Impl(const Linear_Expression_Impl& e); 2441: 2441: 2441: template 2441: Linear_Expression_Impl(const Linear_Expression_Impl& e); 2441: 2441: 2441: Linear_Expression_Impl(const Linear_Expression_Interface& e); 2441: 2441: 2441: virtual ~Linear_Expression_Impl(); 2441: 2441: 2441: virtual bool OK() const; 2441: 2441: 2441: 2441: 2441: 2441: explicit Linear_Expression_Impl(Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression_Impl(Variable v); 2441: 2441: 2441: virtual Representation representation() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: class const_iterator: public const_iterator_interface { 2441: public: 2441: explicit const_iterator(const Row& row, dimension_type i); 2441: 2441: 2441: 2441: 2441: virtual const_iterator_interface* clone() const; 2441: 2441: 2441: 2441: 2441: virtual void operator++(); 2441: 2441: 2441: 2441: 2441: virtual void operator--(); 2441: 2441: 2441: virtual reference operator*() const; 2441: 2441: 2441: 2441: 2441: 2441: virtual Variable variable() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual bool operator==(const const_iterator_interface& x) const; 2441: 2441: private: 2441: 2441: void skip_zeroes_forward(); 2441: void skip_zeroes_backward(); 2441: 2441: const Row* row; 2441: typename Row::const_iterator itr; 2441: }; 2441: 2441: 2441: 2441: virtual const_iterator_interface* begin() const; 2441: 2441: 2441: 2441: virtual const_iterator_interface* end() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual const_iterator_interface* lower_bound(Variable v) const; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: virtual dimension_type space_dimension() const; 2441: 2441: 2441: virtual void set_space_dimension(dimension_type n); 2441: 2441: 2441: virtual Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: virtual void set_coefficient(Variable v, 2441: Coefficient_traits::const_reference n); 2441: 2441: 2441: virtual Coefficient_traits::const_reference inhomogeneous_term() const; 2441: 2441: 2441: virtual void set_inhomogeneous_term(Coefficient_traits::const_reference n); 2441: # 243 "../../src/Linear_Expression_Impl_defs.hh" 2441: virtual void linear_combine(const Linear_Expression_Interface& y, Variable v); 2441: 2441: 2441: 2441: virtual void linear_combine(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2); 2441: 2441: 2441: 2441: virtual void linear_combine_lax(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2); 2441: 2441: 2441: virtual void swap_space_dimensions(Variable v1, Variable v2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void remove_space_dimensions(const Variables_Set& vars); 2441: 2441: 2441: 2441: virtual void shift_space_dimensions(Variable v, dimension_type n); 2441: # 284 "../../src/Linear_Expression_Impl_defs.hh" 2441: virtual void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: virtual bool is_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: virtual bool all_homogeneous_terms_are_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: virtual memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: virtual memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: virtual void ascii_dump(std::ostream& s) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual bool ascii_load(std::istream& s); 2441: 2441: 2441: Linear_Expression_Impl(const Linear_Expression_Interface& e, 2441: dimension_type space_dim); 2441: 2441: 2441: 2441: virtual bool is_equal_to(const Linear_Expression_Interface& x) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void normalize(); 2441: 2441: 2441: 2441: virtual void sign_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: virtual void negate(dimension_type first, dimension_type last); 2441: 2441: virtual Linear_Expression_Impl& 2441: operator+=(Coefficient_traits::const_reference n); 2441: virtual Linear_Expression_Impl& 2441: operator-=(Coefficient_traits::const_reference n); 2441: # 357 "../../src/Linear_Expression_Impl_defs.hh" 2441: virtual int compare(const Linear_Expression_Interface& y) const; 2441: 2441: virtual Linear_Expression_Impl& 2441: operator+=(const Linear_Expression_Interface& e2); 2441: virtual Linear_Expression_Impl& operator+=(const Variable v); 2441: virtual Linear_Expression_Impl& 2441: operator-=(const Linear_Expression_Interface& e2); 2441: virtual Linear_Expression_Impl& operator-=(const Variable v); 2441: virtual Linear_Expression_Impl& 2441: operator*=(Coefficient_traits::const_reference n); 2441: virtual Linear_Expression_Impl& 2441: operator/=(Coefficient_traits::const_reference n); 2441: 2441: virtual void negate(); 2441: 2441: virtual Linear_Expression_Impl& 2441: add_mul_assign(Coefficient_traits::const_reference n, const Variable v); 2441: 2441: virtual Linear_Expression_Impl& 2441: sub_mul_assign(Coefficient_traits::const_reference n, const Variable v); 2441: 2441: virtual void add_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Interface& e2); 2441: 2441: virtual void sub_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Interface& e2); 2441: 2441: virtual void print(std::ostream& s) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual bool all_zeroes(const Variables_Set& vars) const; 2441: 2441: 2441: 2441: virtual bool have_a_common_variable(const Linear_Expression_Interface& x, 2441: Variable first, Variable last) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual Coefficient_traits::const_reference get(dimension_type i) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual void set(dimension_type i, Coefficient_traits::const_reference n); 2441: # 416 "../../src/Linear_Expression_Impl_defs.hh" 2441: virtual bool all_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual dimension_type num_zeroes(dimension_type start, dimension_type end) const; 2441: # 433 "../../src/Linear_Expression_Impl_defs.hh" 2441: virtual Coefficient gcd(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: virtual void exact_div_assign(Coefficient_traits::const_reference c, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: 2441: 2441: virtual void mul_assign(Coefficient_traits::const_reference n, 2441: dimension_type start, dimension_type end); 2441: # 466 "../../src/Linear_Expression_Impl_defs.hh" 2441: virtual void 2441: linear_combine(const Linear_Expression_Interface& y, dimension_type i); 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void linear_combine(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual void linear_combine_lax(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual dimension_type last_nonzero() const; 2441: # 503 "../../src/Linear_Expression_Impl_defs.hh" 2441: virtual bool 2441: all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual void 2441: scalar_product_assign(Coefficient& result, 2441: const Linear_Expression_Interface& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual int 2441: scalar_product_sign(const Linear_Expression_Interface& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual dimension_type 2441: first_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual dimension_type 2441: last_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual void has_a_free_dimension_helper(std::set& x) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual bool is_equal_to(const Linear_Expression_Interface& x, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: virtual bool is_equal_to(const Linear_Expression_Interface& x, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual void get_row(Dense_Row& r) const; 2441: 2441: 2441: 2441: 2441: 2441: virtual void get_row(Sparse_Row& r) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression_Impl(dimension_type space_dim, bool); 2441: # 597 "../../src/Linear_Expression_Impl_defs.hh" 2441: template 2441: void linear_combine(const Linear_Expression_Impl& y, Variable v); 2441: 2441: 2441: 2441: template 2441: void linear_combine(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2); 2441: 2441: 2441: 2441: template 2441: void linear_combine_lax(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2); 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Linear_Expression_Impl& x) const; 2441: 2441: template 2441: Linear_Expression_Impl& operator+=(const Linear_Expression_Impl& e2); 2441: template 2441: Linear_Expression_Impl& operator-=(const Linear_Expression_Impl& e2); 2441: 2441: template 2441: Linear_Expression_Impl& 2441: sub_mul_assign(Coefficient_traits::const_reference n, 2441: const Linear_Expression_Impl& y, 2441: dimension_type start, dimension_type end); 2441: 2441: template 2441: void add_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Impl& e2); 2441: 2441: template 2441: void sub_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Impl& e2); 2441: # 653 "../../src/Linear_Expression_Impl_defs.hh" 2441: template 2441: void linear_combine(const Linear_Expression_Impl& y, dimension_type i); 2441: 2441: 2441: 2441: template 2441: void linear_combine(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: template 2441: void linear_combine_lax(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: # 684 "../../src/Linear_Expression_Impl_defs.hh" 2441: template 2441: int compare(const Linear_Expression_Impl& y) const; 2441: 2441: 2441: template 2441: void 2441: scalar_product_assign(Coefficient& result, 2441: const Linear_Expression_Impl& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: template 2441: int scalar_product_sign(const Linear_Expression_Impl& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: template 2441: bool is_equal_to(const Linear_Expression_Impl& x, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Linear_Expression_Impl& x, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: template 2441: bool have_a_common_variable(const Linear_Expression_Impl& x, 2441: Variable first, Variable last) const; 2441: 2441: private: 2441: 2441: void construct(const Linear_Expression_Interface& e); 2441: void construct(const Linear_Expression_Interface& e, 2441: dimension_type space_dim); 2441: 2441: template 2441: void construct(const Linear_Expression_Impl& e); 2441: template 2441: void construct(const Linear_Expression_Impl& e, 2441: dimension_type space_dim); 2441: 2441: Row row; 2441: 2441: template 2441: friend class Linear_Expression_Impl; 2441: 2441: }; 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: template <> 2441: bool 2441: Linear_Expression_Impl::OK() const; 2441: template <> 2441: bool 2441: Linear_Expression_Impl::OK() const; 2441: 2441: template <> 2441: bool 2441: Linear_Expression_Impl::all_homogeneous_terms_are_zero() const; 2441: template <> 2441: bool 2441: Linear_Expression_Impl::all_homogeneous_terms_are_zero() const; 2441: 2441: template <> 2441: bool 2441: Linear_Expression_Impl::all_zeroes(dimension_type start, 2441: dimension_type end) const; 2441: template <> 2441: bool 2441: Linear_Expression_Impl::all_zeroes(dimension_type start, 2441: dimension_type end) const; 2441: 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::all_zeroes(const Variables_Set& vars) const; 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::all_zeroes(const Variables_Set& vars) const; 2441: 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const; 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const; 2441: 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl 2441: ::first_nonzero(dimension_type first, dimension_type last) const; 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl 2441: ::first_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: template <> 2441: Coefficient 2441: Linear_Expression_Impl::gcd(dimension_type start, 2441: dimension_type end) const; 2441: template <> 2441: Coefficient 2441: Linear_Expression_Impl::gcd(dimension_type start, 2441: dimension_type end) const; 2441: 2441: template <> 2441: void 2441: Linear_Expression_Impl 2441: ::has_a_free_dimension_helper(std::set& x) const; 2441: template <> 2441: void 2441: Linear_Expression_Impl 2441: ::has_a_free_dimension_helper(std::set& x) const; 2441: 2441: template <> 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::have_a_common_variable(const Linear_Expression_Impl& y, 2441: Variable first, Variable last) const; 2441: template <> 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::have_a_common_variable(const Linear_Expression_Impl& y, 2441: Variable first, Variable last) const; 2441: template <> 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::have_a_common_variable(const Linear_Expression_Impl& y, 2441: Variable first, Variable last) const; 2441: template <> 2441: template <> 2441: bool 2441: Linear_Expression_Impl 2441: ::have_a_common_variable(const Linear_Expression_Impl& y, 2441: Variable first, Variable last) const; 2441: 2441: template <> 2441: bool 2441: Linear_Expression_Impl::is_zero() const; 2441: template <> 2441: bool 2441: Linear_Expression_Impl::is_zero() const; 2441: 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl::last_nonzero() const; 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl::last_nonzero() const; 2441: 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl 2441: ::last_nonzero(dimension_type first, dimension_type last) const; 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl 2441: ::last_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl::num_zeroes(dimension_type start, 2441: dimension_type end) const; 2441: template <> 2441: dimension_type 2441: Linear_Expression_Impl::num_zeroes(dimension_type start, 2441: dimension_type end) const; 2441: 2441: template <> 2441: void 2441: Linear_Expression_Impl 2441: ::remove_space_dimensions(const Variables_Set& vars); 2441: template <> 2441: void 2441: Linear_Expression_Impl 2441: ::remove_space_dimensions(const Variables_Set& vars); 2441: 2441: template <> 2441: Representation 2441: Linear_Expression_Impl::representation() const; 2441: template <> 2441: Representation 2441: Linear_Expression_Impl::representation() const; 2441: 2441: template <> 2441: void 2441: Linear_Expression_Impl::const_iterator::skip_zeroes_backward(); 2441: template <> 2441: void 2441: Linear_Expression_Impl::const_iterator::skip_zeroes_backward(); 2441: 2441: template <> 2441: void 2441: Linear_Expression_Impl::const_iterator::skip_zeroes_forward(); 2441: template <> 2441: void 2441: Linear_Expression_Impl::const_iterator::skip_zeroes_forward(); 2441: 2441: } 2441: 2441: 2441: # 1 "../../src/Linear_Expression_Impl_inlines.hh" 1 2441: # 27 "../../src/Linear_Expression_Impl_inlines.hh" 2441: # 1 "../../src/math_utilities_defs.hh" 1 2441: # 31 "../../src/math_utilities_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, void>::type 2441: numer_denom(const T& from, 2441: Coefficient& numer, Coefficient& denom); 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, void>::type 2441: div_round_up(T& to, 2441: Coefficient_traits::const_reference x, 2441: Coefficient_traits::const_reference y); 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: min_assign(N& x, const N& y); 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: max_assign(N& x, const N& y); 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: is_even(const T& x); 2441: 2441: 2441: 2441: 2441: template 2441: typename Enable_If::value, bool>::type 2441: is_additive_inverse(const T& x, const T& y); 2441: # 88 "../../src/math_utilities_defs.hh" 2441: void 2441: normalize2(Coefficient_traits::const_reference x, 2441: Coefficient_traits::const_reference y, 2441: Coefficient& n_x, Coefficient& n_y); 2441: 2441: 2441: 2441: 2441: bool 2441: is_canonical(const mpq_class& x); 2441: 2441: 2441: 2441: 2441: template 2441: T 2441: low_bits_mask(unsigned n); 2441: 2441: } 2441: 2441: # 1 "../../src/math_utilities_inlines.hh" 1 2441: # 31 "../../src/math_utilities_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline void 2441: normalize2(Coefficient_traits::const_reference x, 2441: Coefficient_traits::const_reference y, 2441: Coefficient& n_x, Coefficient& n_y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_gcd; Parma_Polyhedra_Library::Coefficient& gcd = holder_gcd.item(); 2441: gcd_assign(gcd, x, y); 2441: exact_div_assign(n_x, x, gcd); 2441: exact_div_assign(n_y, y, gcd); 2441: } 2441: 2441: template 2441: inline T 2441: low_bits_mask(const unsigned n) { 2441: ((void) 0); 2441: return ~((~static_cast(0)) << n); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, void>::type 2441: numer_denom(const T& from, 2441: Coefficient& numer, Coefficient& denom) { 2441: ((void) 0) 2441: 2441: ; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: assign_r(q, from, ROUND_NOT_NEEDED); 2441: numer = q.get_num(); 2441: denom = q.get_den(); 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, void>::type 2441: div_round_up(T& to, 2441: Coefficient_traits::const_reference x, 2441: Coefficient_traits::const_reference y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_x; mpq_class& q_x = holder_q_x.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_y; mpq_class& q_y = holder_q_y.item(); 2441: 2441: 2441: assign_r(q_x, x, ROUND_NOT_NEEDED); 2441: assign_r(q_y, y, ROUND_NOT_NEEDED); 2441: div_assign_r(q_x, q_x, q_y, ROUND_NOT_NEEDED); 2441: assign_r(to, q_x, ROUND_UP); 2441: } 2441: 2441: template 2441: inline void 2441: min_assign(N& x, const N& y) { 2441: if (x > y) { 2441: x = y; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: max_assign(N& x, const N& y) { 2441: if (x < y) { 2441: x = y; 2441: } 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: is_even(const T& x) { 2441: T mod; 2441: return umod_2exp_assign_r(mod, x, 1, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ 2441: && mod == 0; 2441: } 2441: 2441: template 2441: inline typename Enable_If::value, bool>::type 2441: is_additive_inverse(const T& x, const T& y) { 2441: T negated_x; 2441: return neg_assign_r(negated_x, x, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ 2441: && negated_x == y; 2441: } 2441: 2441: inline bool 2441: is_canonical(const mpq_class& x) { 2441: if (x.get_den() <= 0) { 2441: return false; 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp; mpq_class& temp = holder_temp.item(); 2441: temp = x; 2441: temp.canonicalize(); 2441: return temp.get_num() == x.get_num(); 2441: } 2441: 2441: } 2441: # 109 "../../src/math_utilities_defs.hh" 2 2441: # 28 "../../src/Linear_Expression_Impl_inlines.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline dimension_type 2441: Linear_Expression_Impl::max_space_dimension() { 2441: return Row::max_size() - 1; 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression_Impl::Linear_Expression_Impl() 2441: : row(1) { 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression_Impl 2441: ::Linear_Expression_Impl(dimension_type space_dim, bool) 2441: : row(space_dim + 1) { 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression_Impl::~Linear_Expression_Impl() { 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression_Impl 2441: ::Linear_Expression_Impl(Coefficient_traits::const_reference n) 2441: : row(1) { 2441: if (n != 0) { 2441: row.insert(0, n); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_Expression_Impl::space_dimension() const { 2441: return row.size() - 1; 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Expression_Impl::set_space_dimension(dimension_type n) { 2441: row.resize(n + 1); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Linear_Expression_Impl::coefficient(Variable v) const { 2441: if (v.space_dimension() > space_dimension()) { 2441: return Coefficient_zero(); 2441: } 2441: return row.get(v.id() + 1); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Expression_Impl 2441: ::set_coefficient(Variable v, Coefficient_traits::const_reference n) { 2441: ((void) 0); 2441: const dimension_type i = v.space_dimension(); 2441: if (n == 0) { 2441: row.reset(i); 2441: } 2441: else { 2441: row.insert(i, n); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Linear_Expression_Impl::inhomogeneous_term() const { 2441: return row.get(0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Expression_Impl 2441: ::set_inhomogeneous_term(Coefficient_traits::const_reference n) { 2441: if (n == 0) { 2441: row.reset(0); 2441: } 2441: else { 2441: row.insert(0, n); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Expression_Impl::swap_space_dimensions(Variable v1, Variable v2) { 2441: row.swap_coefficients(v1.space_dimension(), v2.space_dimension()); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Expression_Impl::shift_space_dimensions(Variable v, 2441: dimension_type n) { 2441: row.add_zeroes_and_shift(n, v.space_dimension()); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Linear_Expression_Impl::external_memory_in_bytes() const { 2441: return row.external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Linear_Expression_Impl::total_memory_in_bytes() const { 2441: return external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: template 2441: inline Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator+=(Coefficient_traits::const_reference n) { 2441: typename Row::iterator itr = row.insert(0); 2441: (*itr) += n; 2441: if (*itr == 0) { 2441: row.reset(itr); 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: template 2441: inline Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator-=(Coefficient_traits::const_reference n) { 2441: typename Row::iterator itr = row.insert(0); 2441: (*itr) -= n; 2441: if (*itr == 0) { 2441: row.reset(itr); 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: template 2441: inline void 2441: Linear_Expression_Impl::normalize() { 2441: row.normalize(); 2441: ((void) 0); 2441: } 2441: 2441: template <> 2441: inline bool 2441: Linear_Expression_Impl::is_zero() const { 2441: return row.num_stored_elements() == 0; 2441: } 2441: 2441: template <> 2441: inline bool 2441: Linear_Expression_Impl::all_homogeneous_terms_are_zero() const { 2441: return row.lower_bound(1) == row.end(); 2441: } 2441: 2441: template <> 2441: inline bool 2441: Linear_Expression_Impl::all_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: return row.lower_bound(start) == row.lower_bound(end); 2441: } 2441: 2441: template <> 2441: inline dimension_type 2441: Linear_Expression_Impl::num_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: ((void) 0); 2441: return (end - start) 2441: - std::distance(row.lower_bound(start), row.lower_bound(end)); 2441: } 2441: 2441: template <> 2441: inline dimension_type 2441: Linear_Expression_Impl::last_nonzero() const { 2441: if (row.num_stored_elements() == 0) { 2441: return 0; 2441: } 2441: Sparse_Row::const_iterator i = row.end(); 2441: --i; 2441: return i.index(); 2441: } 2441: 2441: template <> 2441: inline dimension_type 2441: Linear_Expression_Impl 2441: ::first_nonzero(dimension_type first, dimension_type last) const { 2441: ((void) 0); 2441: ((void) 0); 2441: Sparse_Row::const_iterator i = row.lower_bound(first); 2441: 2441: if (i != row.end() && i.index() < last) { 2441: return i.index(); 2441: } 2441: else { 2441: return last; 2441: } 2441: } 2441: 2441: template <> 2441: inline dimension_type 2441: Linear_Expression_Impl 2441: ::last_nonzero(dimension_type first, dimension_type last) const { 2441: ((void) 0); 2441: ((void) 0); 2441: Sparse_Row::const_iterator itr1 = row.lower_bound(first); 2441: Sparse_Row::const_iterator itr2 = row.lower_bound(last); 2441: 2441: if (itr1 == itr2) { 2441: return last; 2441: } 2441: 2441: --itr2; 2441: return itr2.index(); 2441: } 2441: 2441: template <> 2441: inline Representation 2441: Linear_Expression_Impl::representation() const { 2441: return DENSE; 2441: } 2441: 2441: template <> 2441: inline Representation 2441: Linear_Expression_Impl::representation() const { 2441: return SPARSE; 2441: } 2441: 2441: template <> 2441: inline void 2441: Linear_Expression_Impl::const_iterator 2441: ::skip_zeroes_forward() { 2441: 2441: } 2441: 2441: template <> 2441: inline void 2441: Linear_Expression_Impl::const_iterator 2441: ::skip_zeroes_backward() { 2441: 2441: } 2441: 2441: namespace IO_Operators { 2441: 2441: template 2441: inline std::ostream& 2441: operator<<(std::ostream& s, const Linear_Expression_Impl& e) { 2441: e.print(s); 2441: return s; 2441: } 2441: 2441: } 2441: 2441: } 2441: # 904 "../../src/Linear_Expression_Impl_defs.hh" 2 2441: # 1 "../../src/Linear_Expression_Impl_templates.hh" 1 2441: # 30 "../../src/Linear_Expression_Impl_templates.hh" 2441: # 1 "../../src/Constraint_defs.hh" 1 2441: # 27 "../../src/Constraint_defs.hh" 2441: # 1 "../../src/Constraint_types.hh" 1 2441: # 16 "../../src/Constraint_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Constraint; 2441: 2441: } 2441: # 28 "../../src/Constraint_defs.hh" 2 2441: 2441: # 1 "../../src/Congruence_types.hh" 1 2441: # 16 "../../src/Congruence_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Congruence; 2441: 2441: } 2441: # 30 "../../src/Constraint_defs.hh" 2 2441: 2441: # 1 "../../src/Polyhedron_types.hh" 1 2441: # 16 "../../src/Polyhedron_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Polyhedron; 2441: 2441: } 2441: # 32 "../../src/Constraint_defs.hh" 2 2441: # 1 "../../src/termination_types.hh" 1 2441: # 16 "../../src/termination_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Termination_Helpers; 2441: 2441: } 2441: # 33 "../../src/Constraint_defs.hh" 2 2441: # 1 "../../src/Octagonal_Shape_types.hh" 1 2441: # 16 "../../src/Octagonal_Shape_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Octagonal_Shape; 2441: 2441: class Octagonal_Shape_Helper; 2441: 2441: } 2441: # 34 "../../src/Constraint_defs.hh" 2 2441: # 1 "../../src/Grid_types.hh" 1 2441: # 16 "../../src/Grid_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Grid; 2441: 2441: } 2441: # 35 "../../src/Constraint_defs.hh" 2 2441: 2441: # 1 "../../src/Linear_Expression_defs.hh" 1 2441: # 30 "../../src/Linear_Expression_defs.hh" 2441: # 1 "../../src/Generator_types.hh" 1 2441: # 16 "../../src/Generator_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Generator; 2441: 2441: } 2441: # 31 "../../src/Linear_Expression_defs.hh" 2 2441: 2441: # 1 "../../src/Grid_Generator_types.hh" 1 2441: # 16 "../../src/Grid_Generator_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Grid_Generator; 2441: 2441: } 2441: # 33 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/Linear_System_types.hh" 1 2441: # 16 "../../src/Linear_System_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Linear_System; 2441: 2441: template 2441: class Linear_System_With_Bit_Matrix_iterator; 2441: 2441: } 2441: # 34 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/Constraint_System_types.hh" 1 2441: # 16 "../../src/Constraint_System_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Constraint_System; 2441: class Constraint_System_const_iterator; 2441: 2441: } 2441: # 35 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/Congruence_System_types.hh" 1 2441: # 16 "../../src/Congruence_System_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Congruence_System; 2441: 2441: } 2441: # 36 "../../src/Linear_Expression_defs.hh" 2 2441: 2441: 2441: 2441: # 1 "../../src/PIP_Problem_types.hh" 1 2441: # 16 "../../src/PIP_Problem_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: enum PIP_Problem_Status { 2441: 2441: UNFEASIBLE_PIP_PROBLEM, 2441: 2441: OPTIMIZED_PIP_PROBLEM 2441: }; 2441: 2441: class PIP_Problem; 2441: 2441: } 2441: # 40 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/BHRZ03_Certificate_types.hh" 1 2441: # 16 "../../src/BHRZ03_Certificate_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class BHRZ03_Certificate; 2441: 2441: } 2441: # 41 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/Scalar_Products_types.hh" 1 2441: # 16 "../../src/Scalar_Products_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Scalar_Products; 2441: class Topology_Adjusted_Scalar_Product_Sign; 2441: class Topology_Adjusted_Scalar_Product_Assign; 2441: 2441: } 2441: # 42 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/MIP_Problem_types.hh" 1 2441: # 16 "../../src/MIP_Problem_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: enum MIP_Problem_Status { 2441: 2441: UNFEASIBLE_MIP_PROBLEM, 2441: 2441: UNBOUNDED_MIP_PROBLEM, 2441: 2441: OPTIMIZED_MIP_PROBLEM 2441: }; 2441: 2441: class MIP_Problem; 2441: 2441: } 2441: # 43 "../../src/Linear_Expression_defs.hh" 2 2441: 2441: # 1 "../../src/BD_Shape_types.hh" 1 2441: # 16 "../../src/BD_Shape_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class BD_Shape; 2441: 2441: class BD_Shape_Helpers; 2441: 2441: } 2441: # 45 "../../src/Linear_Expression_defs.hh" 2 2441: 2441: 2441: 2441: # 1 "../../src/Expression_Adapter_defs.hh" 1 2441: # 27 "../../src/Expression_Adapter_defs.hh" 2441: # 1 "../../src/Expression_Adapter_types.hh" 1 2441: # 16 "../../src/Expression_Adapter_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Expression_Adapter_Base; 2441: 2441: template 2441: class Expression_Adapter; 2441: 2441: template 2441: class Expression_Adapter_Transparent; 2441: 2441: } 2441: # 28 "../../src/Expression_Adapter_defs.hh" 2 2441: # 36 "../../src/Expression_Adapter_defs.hh" 2441: class Parma_Polyhedra_Library::Expression_Adapter_Base { 2441: }; 2441: # 55 "../../src/Expression_Adapter_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Expression_Adapter 2441: : public Expression_Adapter_Base { 2441: public: 2441: 2441: typedef Expression_Adapter const_reference; 2441: 2441: typedef typename T::const_reference inner_type; 2441: 2441: typedef typename T::raw_type raw_type; 2441: 2441: 2441: inner_type inner() const; 2441: 2441: 2441: typedef typename raw_type::const_iterator const_iterator; 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const_iterator end() const; 2441: 2441: 2441: 2441: const_iterator lower_bound(Variable v) const; 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: Coefficient_traits::const_reference inhomogeneous_term() const; 2441: 2441: 2441: bool is_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_homogeneous_terms_are_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(const Variables_Set& vars) const; 2441: 2441: 2441: Coefficient_traits::const_reference get(dimension_type i) const; 2441: 2441: 2441: Coefficient_traits::const_reference get(Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: dimension_type num_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: Coefficient gcd(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: dimension_type last_nonzero() const; 2441: 2441: 2441: 2441: dimension_type last_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: dimension_type first_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void has_a_free_dimension_helper(std::set& x) const; 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void get_row(Dense_Row& r) const; 2441: 2441: 2441: void get_row(Sparse_Row& r) const; 2441: 2441: 2441: 2441: template 2441: bool have_a_common_variable(const Expression& y, 2441: Variable first, Variable last) const; 2441: 2441: protected: 2441: 2441: explicit Expression_Adapter(const raw_type& expr); 2441: 2441: const raw_type& raw_; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: class Parma_Polyhedra_Library::Expression_Adapter_Transparent 2441: : public Expression_Adapter { 2441: typedef Expression_Adapter base_type; 2441: public: 2441: 2441: typedef Expression_Adapter_Transparent const_reference; 2441: 2441: typedef typename base_type::inner_type inner_type; 2441: 2441: typedef typename base_type::raw_type raw_type; 2441: 2441: 2441: typedef typename base_type::const_iterator const_iterator; 2441: 2441: 2441: explicit Expression_Adapter_Transparent(const raw_type& expr); 2441: }; 2441: 2441: # 1 "../../src/Expression_Adapter_inlines.hh" 1 2441: # 29 "../../src/Expression_Adapter_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Expression_Adapter::Expression_Adapter(const raw_type& expr) 2441: : raw_(expr) { 2441: } 2441: 2441: template 2441: inline typename Expression_Adapter::inner_type 2441: Expression_Adapter::inner() const { 2441: return inner_type(raw_); 2441: } 2441: 2441: template 2441: inline Representation 2441: Expression_Adapter::representation() const { 2441: return inner().representation(); 2441: } 2441: 2441: template 2441: inline typename Expression_Adapter::const_iterator 2441: Expression_Adapter::begin() const { 2441: return inner().begin(); 2441: } 2441: 2441: template 2441: inline typename Expression_Adapter::const_iterator 2441: Expression_Adapter::end() const { 2441: return inner().end(); 2441: } 2441: 2441: template 2441: inline typename Expression_Adapter::const_iterator 2441: Expression_Adapter::lower_bound(Variable v) const { 2441: return inner().lower_bound(v); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Adapter::space_dimension() const { 2441: return inner().space_dimension(); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Adapter::coefficient(Variable v) const { 2441: return inner().coefficient(v); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Adapter::inhomogeneous_term() const { 2441: return inner().inhomogeneous_term(); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Adapter::is_zero() const { 2441: return inner().is_zero(); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Adapter::all_homogeneous_terms_are_zero() const { 2441: return inner().all_homogeneous_terms_are_zero(); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Adapter::is_equal_to(const Expression& y) const { 2441: return inner().is_equal_to(y); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Adapter 2441: ::all_zeroes(const Variables_Set& vars) const { 2441: return inner().all_zeroes(vars); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Adapter::get(dimension_type i) const { 2441: return inner().get(i); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Adapter::get(Variable v) const { 2441: return inner().get(v); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Adapter::all_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: return inner().all_zeroes(start, end); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Adapter::num_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: return inner().num_zeroes(start, end); 2441: } 2441: 2441: template 2441: inline Coefficient 2441: Expression_Adapter::gcd(dimension_type start, 2441: dimension_type end) const { 2441: return inner().gcd(start, end); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Adapter::last_nonzero() const { 2441: return inner().last_nonzero(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Adapter::last_nonzero(dimension_type first, 2441: dimension_type last) const { 2441: return inner().last_nonzero(first, last); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Adapter::first_nonzero(dimension_type first, 2441: dimension_type last) const { 2441: return inner().first_nonzero(first, last); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Adapter 2441: ::all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const { 2441: return inner().all_zeroes_except(vars, start, end); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Adapter 2441: ::has_a_free_dimension_helper(std::set& x) const { 2441: inner().has_a_free_dimension_helper(x); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Adapter 2441: ::is_equal_to(const Expression& y, 2441: dimension_type start, dimension_type end) const { 2441: return inner().is_equal_to(y, start, end); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Adapter 2441: ::is_equal_to(const Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const { 2441: return inner().is_equal_to(y, c1, c2, start, end); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Adapter::get_row(Dense_Row& r) const { 2441: inner().get_row(r); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Adapter::get_row(Sparse_Row& r) const { 2441: inner().get_row(r); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Adapter 2441: ::have_a_common_variable(const Expression& y, 2441: Variable first, Variable last) const { 2441: return inner().have_a_common_variable(y, first, last); 2441: } 2441: 2441: template 2441: inline 2441: Expression_Adapter_Transparent 2441: ::Expression_Adapter_Transparent(const raw_type& expr) 2441: : base_type(expr) { 2441: } 2441: 2441: } 2441: # 215 "../../src/Expression_Adapter_defs.hh" 2 2441: # 49 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/Expression_Hide_Inhomo_types.hh" 1 2441: # 16 "../../src/Expression_Hide_Inhomo_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Expression_Hide_Inhomo; 2441: 2441: } 2441: # 50 "../../src/Linear_Expression_defs.hh" 2 2441: # 1 "../../src/Expression_Hide_Last_types.hh" 1 2441: # 16 "../../src/Expression_Hide_Last_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Expression_Hide_Last; 2441: 2441: } 2441: # 51 "../../src/Linear_Expression_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression 2441: operator+(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator+(Variable v, Variable w); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator+(Variable v, const Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator+(const Linear_Expression& e, Variable v); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator+(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator+(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator+(const Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator-(const Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator-(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator-(Variable v, Variable w); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator-(Variable v, const Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator-(const Linear_Expression& e, Variable v); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator-(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator-(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator*(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression 2441: operator*(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator+=(Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator+=(Linear_Expression& e, Variable v); 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator+=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator-=(Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator-=(Linear_Expression& e, Variable v); 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator-=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator*=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Linear_Expression& 2441: operator/=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: void 2441: neg_assign(Linear_Expression& e); 2441: 2441: 2441: 2441: Linear_Expression& 2441: add_mul_assign(Linear_Expression& e, 2441: Coefficient_traits::const_reference n, Variable v); 2441: 2441: 2441: 2441: void add_mul_assign(Linear_Expression& e1, 2441: Coefficient_traits::const_reference factor, 2441: const Linear_Expression& e2); 2441: 2441: 2441: 2441: void sub_mul_assign(Linear_Expression& e1, 2441: Coefficient_traits::const_reference factor, 2441: const Linear_Expression& e2); 2441: 2441: 2441: 2441: Linear_Expression& 2441: sub_mul_assign(Linear_Expression& e, 2441: Coefficient_traits::const_reference n, Variable v); 2441: # 230 "../../src/Linear_Expression_defs.hh" 2441: int compare(const Linear_Expression& x, const Linear_Expression& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Linear_Expression& e); 2441: 2441: } 2441: 2441: } 2441: # 289 "../../src/Linear_Expression_defs.hh" 2441: class Parma_Polyhedra_Library::Linear_Expression { 2441: public: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: explicit Linear_Expression(Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression(const Linear_Expression& e); 2441: 2441: 2441: Linear_Expression(const Linear_Expression& e, Representation r); 2441: 2441: 2441: typedef const Linear_Expression& const_reference; 2441: typedef Linear_Expression raw_type; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: explicit 2441: Linear_Expression(const LE_Adapter& e, 2441: typename 2441: Enable_If::value, 2441: void*>::type = 0); 2441: 2441: 2441: 2441: 2441: template 2441: Linear_Expression(const LE_Adapter& e, 2441: Representation r, 2441: typename 2441: Enable_If::value, 2441: void*>::type = 0); 2441: # 341 "../../src/Linear_Expression_defs.hh" 2441: template 2441: explicit 2441: Linear_Expression(const LE_Adapter& e, 2441: dimension_type space_dim, 2441: typename 2441: Enable_If::value, 2441: void*>::type = 0); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: Linear_Expression(const LE_Adapter& e, 2441: dimension_type space_dim, 2441: Representation r, 2441: typename 2441: Enable_If::value, 2441: void*>::type = 0); 2441: 2441: 2441: Linear_Expression& operator=(const Linear_Expression& e); 2441: 2441: 2441: ~Linear_Expression(); 2441: 2441: 2441: 2441: 2441: 2441: explicit Linear_Expression(Coefficient_traits::const_reference n, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression(Variable v, Representation r = default_representation); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: class const_iterator { 2441: private: 2441: public: 2441: typedef std::bidirectional_iterator_tag iterator_category; 2441: typedef const Coefficient value_type; 2441: typedef std::ptrdiff_t difference_type; 2441: typedef value_type* pointer; 2441: typedef Coefficient_traits::const_reference reference; 2441: 2441: 2441: 2441: 2441: 2441: explicit const_iterator(); 2441: # 417 "../../src/Linear_Expression_defs.hh" 2441: const_iterator(const const_iterator& i); 2441: 2441: ~const_iterator(); 2441: # 428 "../../src/Linear_Expression_defs.hh" 2441: void m_swap(const_iterator& i); 2441: # 437 "../../src/Linear_Expression_defs.hh" 2441: const_iterator& operator=(const const_iterator& i); 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator& operator++(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator& operator--(); 2441: 2441: 2441: reference operator*() const; 2441: 2441: 2441: 2441: 2441: 2441: Variable variable() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const const_iterator& i) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const const_iterator& i) const; 2441: 2441: private: 2441: 2441: 2441: const_iterator(Linear_Expression_Interface::const_iterator_interface* i); 2441: 2441: Linear_Expression_Interface::const_iterator_interface* itr; 2441: 2441: friend class Linear_Expression; 2441: }; 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: 2441: const_iterator end() const; 2441: 2441: 2441: 2441: const_iterator lower_bound(Variable v) const; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: void set_space_dimension(dimension_type n); 2441: 2441: 2441: Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: void set_coefficient(Variable v, 2441: Coefficient_traits::const_reference n); 2441: 2441: 2441: Coefficient_traits::const_reference inhomogeneous_term() const; 2441: 2441: 2441: void set_inhomogeneous_term(Coefficient_traits::const_reference n); 2441: # 535 "../../src/Linear_Expression_defs.hh" 2441: void linear_combine(const Linear_Expression& y, Variable v); 2441: 2441: 2441: 2441: void linear_combine(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2); 2441: 2441: 2441: 2441: void linear_combine_lax(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: # 576 "../../src/Linear_Expression_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: bool is_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_homogeneous_terms_are_zero() const; 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: static const Linear_Expression& zero(); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: void m_swap(Linear_Expression& y); 2441: 2441: 2441: Linear_Expression(const Linear_Expression& e, dimension_type space_dim); 2441: 2441: 2441: Linear_Expression(const Linear_Expression& e, dimension_type space_dim, 2441: Representation r); 2441: 2441: 2441: 2441: bool is_equal_to(const Linear_Expression& x) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void normalize(); 2441: 2441: 2441: 2441: void sign_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(const Variables_Set& vars) const; 2441: 2441: private: 2441: 2441: 2441: 2441: 2441: static const Linear_Expression* zero_p; 2441: 2441: Linear_Expression_Interface* impl; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression(dimension_type space_dim, bool, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference get(dimension_type i) const; 2441: 2441: 2441: 2441: 2441: 2441: void set(dimension_type i, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference get(Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: void set(Variable v, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: dimension_type num_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: Coefficient gcd(dimension_type start, dimension_type end) const; 2441: 2441: void exact_div_assign(Coefficient_traits::const_reference c, 2441: dimension_type start, dimension_type end); 2441: # 725 "../../src/Linear_Expression_defs.hh" 2441: void linear_combine(const Linear_Expression& y, dimension_type i); 2441: 2441: 2441: 2441: void linear_combine(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: void linear_combine_lax(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: void mul_assign(Coefficient_traits::const_reference n, 2441: dimension_type start, dimension_type end); 2441: 2441: 2441: 2441: dimension_type last_nonzero() const; 2441: 2441: 2441: 2441: dimension_type last_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: dimension_type first_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void scalar_product_assign(Coefficient& result, 2441: const Linear_Expression& y) const; 2441: 2441: 2441: void scalar_product_assign(Coefficient& result, const Linear_Expression& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: int scalar_product_sign(const Linear_Expression& y) const; 2441: 2441: 2441: 2441: int scalar_product_sign(const Linear_Expression& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void has_a_free_dimension_helper(std::set& x) const; 2441: 2441: 2441: bool is_equal_to(const Linear_Expression& x, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: bool is_equal_to(const Linear_Expression& x, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void get_row(Dense_Row& r) const; 2441: 2441: 2441: void get_row(Sparse_Row& r) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool have_a_common_variable(const Linear_Expression& x, 2441: Variable first, Variable last) const; 2441: 2441: 2441: 2441: 2441: 2441: void negate(dimension_type first, dimension_type last); 2441: 2441: template 2441: friend class Linear_Expression_Impl; 2441: 2441: 2441: 2441: 2441: 2441: 2441: friend class Grid; 2441: friend class Congruence; 2441: friend class Polyhedron; 2441: friend class PIP_Tree_Node; 2441: friend class Grid_Generator; 2441: friend class Generator; 2441: friend class Constraint; 2441: friend class Constraint_System; 2441: friend class PIP_Problem; 2441: friend class BHRZ03_Certificate; 2441: friend class Scalar_Products; 2441: friend class MIP_Problem; 2441: friend class Box_Helpers; 2441: friend class Congruence_System; 2441: friend class BD_Shape_Helpers; 2441: friend class Octagonal_Shape_Helper; 2441: friend class Termination_Helpers; 2441: template 2441: friend class BD_Shape; 2441: template 2441: friend class Octagonal_Shape; 2441: template 2441: friend class Linear_System; 2441: template 2441: friend class Box; 2441: template 2441: friend class Expression_Adapter; 2441: template 2441: friend class Expression_Hide_Inhomo; 2441: template 2441: friend class Expression_Hide_Last; 2441: 2441: friend Linear_Expression 2441: operator+(const Linear_Expression& e1, const Linear_Expression& e2); 2441: friend Linear_Expression 2441: operator+(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: friend Linear_Expression 2441: operator+(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: friend Linear_Expression 2441: operator+(Variable v, const Linear_Expression& e); 2441: friend Linear_Expression 2441: operator+(Variable v, Variable w); 2441: 2441: friend Linear_Expression 2441: operator-(const Linear_Expression& e); 2441: 2441: friend Linear_Expression 2441: operator-(const Linear_Expression& e1, const Linear_Expression& e2); 2441: friend Linear_Expression 2441: operator-(Variable v, Variable w); 2441: friend Linear_Expression 2441: operator-(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: friend Linear_Expression 2441: operator-(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: friend Linear_Expression 2441: operator-(Variable v, const Linear_Expression& e); 2441: friend Linear_Expression 2441: operator-(const Linear_Expression& e, Variable v); 2441: 2441: friend Linear_Expression 2441: operator*(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: friend Linear_Expression 2441: operator*(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Linear_Expression& 2441: operator+=(Linear_Expression& e1, const Linear_Expression& e2); 2441: friend Linear_Expression& 2441: operator+=(Linear_Expression& e, Variable v); 2441: friend Linear_Expression& 2441: operator+=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Linear_Expression& 2441: operator-=(Linear_Expression& e1, const Linear_Expression& e2); 2441: friend Linear_Expression& 2441: operator-=(Linear_Expression& e, Variable v); 2441: friend Linear_Expression& 2441: operator-=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Linear_Expression& 2441: operator*=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: friend Linear_Expression& 2441: operator/=(Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend void 2441: neg_assign(Linear_Expression& e); 2441: 2441: friend Linear_Expression& 2441: add_mul_assign(Linear_Expression& e, 2441: Coefficient_traits::const_reference n, Variable v); 2441: friend Linear_Expression& 2441: sub_mul_assign(Linear_Expression& e, 2441: Coefficient_traits::const_reference n, Variable v); 2441: 2441: friend void 2441: add_mul_assign(Linear_Expression& e1, 2441: Coefficient_traits::const_reference factor, 2441: const Linear_Expression& e2); 2441: friend void 2441: sub_mul_assign(Linear_Expression& e1, 2441: Coefficient_traits::const_reference factor, 2441: const Linear_Expression& e2); 2441: 2441: friend int 2441: compare(const Linear_Expression& x, const Linear_Expression& y); 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library::IO_Operators 2441: ::operator<<(std::ostream& s, const Linear_Expression& e); 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: void swap(Linear_Expression& x, Linear_Expression& y); 2441: 2441: 2441: 2441: void swap(Linear_Expression::const_iterator& x, 2441: Linear_Expression::const_iterator& y); 2441: 2441: } 2441: 2441: # 1 "../../src/Linear_Expression_inlines.hh" 1 2441: # 29 "../../src/Linear_Expression_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline Linear_Expression& 2441: Linear_Expression::operator=(const Linear_Expression& e) { 2441: Linear_Expression tmp = e; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: inline 2441: Linear_Expression::~Linear_Expression() { 2441: delete impl; 2441: } 2441: 2441: inline Representation 2441: Linear_Expression::representation() const { 2441: return impl->representation(); 2441: } 2441: 2441: inline dimension_type 2441: Linear_Expression::space_dimension() const { 2441: return impl->space_dimension(); 2441: } 2441: 2441: inline void 2441: Linear_Expression::set_space_dimension(dimension_type n) { 2441: impl->set_space_dimension(n); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Linear_Expression::coefficient(Variable v) const { 2441: return impl->coefficient(v); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::set_coefficient(Variable v, Coefficient_traits::const_reference n) { 2441: impl->set_coefficient(v, n); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Linear_Expression::inhomogeneous_term() const { 2441: return impl->inhomogeneous_term(); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::set_inhomogeneous_term(Coefficient_traits::const_reference n) { 2441: impl->set_inhomogeneous_term(n); 2441: } 2441: 2441: inline void 2441: Linear_Expression::swap_space_dimensions(Variable v1, Variable v2) { 2441: impl->swap_space_dimensions(v1, v2); 2441: } 2441: 2441: inline void 2441: Linear_Expression::shift_space_dimensions(Variable v, dimension_type n) { 2441: impl->shift_space_dimensions(v, n); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::is_zero() const { 2441: return impl->is_zero(); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::all_homogeneous_terms_are_zero() const { 2441: return impl->all_homogeneous_terms_are_zero(); 2441: } 2441: 2441: inline const Linear_Expression& 2441: Linear_Expression::zero() { 2441: ((void) 0); 2441: return *zero_p; 2441: } 2441: 2441: inline memory_size_type 2441: Linear_Expression::external_memory_in_bytes() const { 2441: return impl->total_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Linear_Expression::total_memory_in_bytes() const { 2441: return external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator+(const Linear_Expression& e) { 2441: return e; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: Linear_Expression x = e; 2441: x += n; 2441: return x; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator+(const Linear_Expression& e, const Variable v) { 2441: Linear_Expression x = e; 2441: x += v; 2441: return x; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator-(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: Linear_Expression x = e; 2441: x -= n; 2441: return x; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator-(const Variable v, const Variable w) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: const dimension_type w_space_dim = w.space_dimension(); 2441: const dimension_type space_dim = std::max(v_space_dim, w_space_dim); 2441: if (space_dim > Linear_Expression::max_space_dimension()) { 2441: throw std::length_error("Linear_Expression " 2441: "PPL::operator+(v, w):\n" 2441: "v or w exceed the maximum allowed " 2441: "space dimension."); 2441: } 2441: if (v_space_dim >= w_space_dim) { 2441: Linear_Expression e(v); 2441: e -= w; 2441: return e; 2441: } 2441: else { 2441: Linear_Expression e(w.space_dimension(), true); 2441: e -= w; 2441: e += v; 2441: return e; 2441: } 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: Linear_Expression x = e; 2441: x *= n; 2441: return x; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator+=(Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: *e.impl += n; 2441: return e; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: *e.impl -= n; 2441: return e; 2441: } 2441: 2441: inline void 2441: Linear_Expression::m_swap(Linear_Expression& y) { 2441: using std::swap; 2441: swap(impl, y.impl); 2441: } 2441: 2441: inline void 2441: Linear_Expression::normalize() { 2441: impl->normalize(); 2441: } 2441: 2441: inline void 2441: Linear_Expression::ascii_dump(std::ostream& s) const { 2441: impl->ascii_dump(s); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::ascii_load(std::istream& s) { 2441: return impl->ascii_load(s); 2441: } 2441: 2441: inline void 2441: Linear_Expression::remove_space_dimensions(const Variables_Set& vars) { 2441: impl->remove_space_dimensions(vars); 2441: } 2441: 2441: inline void 2441: Linear_Expression::permute_space_dimensions(const std::vector& cycle) { 2441: impl->permute_space_dimensions(cycle); 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator+(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: if (e1.space_dimension() >= e2.space_dimension()) { 2441: Linear_Expression e = e1; 2441: e += e2; 2441: return e; 2441: } 2441: else { 2441: Linear_Expression e = e2; 2441: e += e1; 2441: return e; 2441: } 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator+(const Variable v, const Linear_Expression& e) { 2441: return e + v; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator+(Coefficient_traits::const_reference n, 2441: const Linear_Expression& e) { 2441: return e + n; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator+(const Variable v, const Variable w) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: const dimension_type w_space_dim = w.space_dimension(); 2441: const dimension_type space_dim = std::max(v_space_dim, w_space_dim); 2441: if (space_dim > Linear_Expression::max_space_dimension()) { 2441: throw std::length_error("Linear_Expression " 2441: "PPL::operator+(v, w):\n" 2441: "v or w exceed the maximum allowed " 2441: "space dimension."); 2441: } 2441: if (v_space_dim >= w_space_dim) { 2441: Linear_Expression e(v); 2441: e += w; 2441: return e; 2441: } 2441: else { 2441: Linear_Expression e(w); 2441: e += v; 2441: return e; 2441: } 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator-(const Linear_Expression& e) { 2441: Linear_Expression r(e); 2441: neg_assign(r); 2441: return r; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator-(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: if (e1.space_dimension() >= e2.space_dimension()) { 2441: Linear_Expression e = e1; 2441: e -= e2; 2441: return e; 2441: } 2441: else { 2441: Linear_Expression e = e2; 2441: neg_assign(e); 2441: e += e1; 2441: return e; 2441: } 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator-(const Variable v, const Linear_Expression& e) { 2441: Linear_Expression result(e, std::max(v.space_dimension(), e.space_dimension())); 2441: result.negate(0, e.space_dimension() + 1); 2441: result += v; 2441: return result; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator-(const Linear_Expression& e, const Variable v) { 2441: Linear_Expression result(e, std::max(v.space_dimension(), e.space_dimension())); 2441: result -= v; 2441: return result; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator-(Coefficient_traits::const_reference n, 2441: const Linear_Expression& e) { 2441: Linear_Expression result(e); 2441: neg_assign(result); 2441: result += n; 2441: return result; 2441: } 2441: 2441: 2441: inline Linear_Expression 2441: operator*(Coefficient_traits::const_reference n, 2441: const Linear_Expression& e) { 2441: return e * n; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator+=(Linear_Expression& e1, const Linear_Expression& e2) { 2441: *e1.impl += *e2.impl; 2441: return e1; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator+=(Linear_Expression& e, const Variable v) { 2441: *e.impl += v; 2441: return e; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator-=(Linear_Expression& e1, const Linear_Expression& e2) { 2441: *e1.impl -= *e2.impl; 2441: return e1; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator-=(Linear_Expression& e, const Variable v) { 2441: *e.impl -= v; 2441: return e; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator*=(Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: *e.impl *= n; 2441: return e; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: operator/=(Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: *e.impl /= n; 2441: return e; 2441: } 2441: 2441: 2441: inline void 2441: neg_assign(Linear_Expression& e) { 2441: e.impl->negate(); 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: add_mul_assign(Linear_Expression& e, 2441: Coefficient_traits::const_reference n, 2441: const Variable v) { 2441: e.impl->add_mul_assign(n, v); 2441: return e; 2441: } 2441: 2441: 2441: inline Linear_Expression& 2441: sub_mul_assign(Linear_Expression& e, 2441: Coefficient_traits::const_reference n, 2441: const Variable v) { 2441: e.impl->sub_mul_assign(n, v); 2441: return e; 2441: } 2441: 2441: inline void 2441: add_mul_assign(Linear_Expression& e1, 2441: Coefficient_traits::const_reference factor, 2441: const Linear_Expression& e2) { 2441: e1.impl->add_mul_assign(factor, *e2.impl); 2441: } 2441: 2441: inline void 2441: sub_mul_assign(Linear_Expression& e1, 2441: Coefficient_traits::const_reference factor, 2441: const Linear_Expression& e2) { 2441: e1.impl->sub_mul_assign(factor, *e2.impl); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Linear_Expression::get(dimension_type i) const { 2441: return impl->get(i); 2441: } 2441: 2441: inline void 2441: Linear_Expression::set(dimension_type i, 2441: Coefficient_traits::const_reference n) { 2441: impl->set(i, n); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Linear_Expression::get(Variable v) const { 2441: return impl->get(v.space_dimension()); 2441: } 2441: 2441: inline void 2441: Linear_Expression::set(Variable v, 2441: Coefficient_traits::const_reference n) { 2441: impl->set(v.space_dimension(), n); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::all_zeroes(dimension_type start, dimension_type end) const { 2441: return impl->all_zeroes(start, end); 2441: } 2441: 2441: inline dimension_type 2441: Linear_Expression::num_zeroes(dimension_type start, dimension_type end) const { 2441: return impl->num_zeroes(start, end); 2441: } 2441: 2441: inline Coefficient 2441: Linear_Expression::gcd(dimension_type start, dimension_type end) const { 2441: return impl->gcd(start, end); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::exact_div_assign(Coefficient_traits::const_reference c, 2441: dimension_type start, dimension_type end) { 2441: impl->exact_div_assign(c, start, end); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::mul_assign(Coefficient_traits::const_reference c, 2441: dimension_type start, dimension_type end) { 2441: impl->mul_assign(c, start, end); 2441: } 2441: 2441: inline void 2441: Linear_Expression::sign_normalize() { 2441: impl->sign_normalize(); 2441: } 2441: 2441: inline void 2441: Linear_Expression::negate(dimension_type first, dimension_type last) { 2441: impl->negate(first, last); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::all_zeroes(const Variables_Set& vars) const { 2441: return impl->all_zeroes(vars); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, 2441: dimension_type end) const { 2441: return impl->all_zeroes_except(vars, start, end); 2441: } 2441: 2441: inline dimension_type 2441: Linear_Expression::last_nonzero() const { 2441: return impl->last_nonzero(); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::scalar_product_assign(Coefficient& result, const Linear_Expression& y) const { 2441: scalar_product_assign(result, y, 0, space_dimension() + 1); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::scalar_product_assign(Coefficient& result, const Linear_Expression& y, 2441: dimension_type start, dimension_type end) const { 2441: impl->scalar_product_assign(result, *(y.impl), start, end); 2441: } 2441: 2441: inline int 2441: Linear_Expression 2441: ::scalar_product_sign(const Linear_Expression& y) const { 2441: return scalar_product_sign(y, 0, space_dimension() + 1); 2441: } 2441: 2441: inline int 2441: Linear_Expression 2441: ::scalar_product_sign(const Linear_Expression& y, 2441: dimension_type start, dimension_type end) const { 2441: return impl->scalar_product_sign(*(y.impl), start, end); 2441: } 2441: 2441: inline dimension_type 2441: Linear_Expression 2441: ::first_nonzero(dimension_type first, dimension_type last) const { 2441: return impl->first_nonzero(first, last); 2441: } 2441: 2441: inline dimension_type 2441: Linear_Expression 2441: ::last_nonzero(dimension_type first, dimension_type last) const { 2441: return impl->last_nonzero(first, last); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::has_a_free_dimension_helper(std::set& x) const { 2441: return impl->has_a_free_dimension_helper(x); 2441: } 2441: 2441: inline bool 2441: Linear_Expression 2441: ::is_equal_to(const Linear_Expression& x, 2441: dimension_type start, dimension_type end) const { 2441: return impl->is_equal_to(*(x.impl), start, end); 2441: } 2441: 2441: inline bool 2441: Linear_Expression 2441: ::is_equal_to(const Linear_Expression& x, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const { 2441: return impl->is_equal_to(*(x.impl), c1, c2, start, end); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::get_row(Dense_Row& r) const { 2441: return impl->get_row(r); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::get_row(Sparse_Row& r) const { 2441: return impl->get_row(r); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::linear_combine(const Linear_Expression& y, dimension_type i) { 2441: impl->linear_combine(*y.impl, i); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::linear_combine(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) { 2441: impl->linear_combine(*y.impl, c1, c2); 2441: } 2441: 2441: inline void 2441: Linear_Expression 2441: ::linear_combine_lax(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) { 2441: impl->linear_combine_lax(*y.impl, c1, c2); 2441: } 2441: 2441: inline int 2441: compare(const Linear_Expression& x, const Linear_Expression& y) { 2441: return x.impl->compare(*y.impl); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::is_equal_to(const Linear_Expression& x) const { 2441: return impl->is_equal_to(*x.impl); 2441: } 2441: 2441: inline void 2441: Linear_Expression::linear_combine(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, 2441: dimension_type end) { 2441: impl->linear_combine(*y.impl, c1, c2, start, end); 2441: } 2441: 2441: inline void 2441: Linear_Expression::linear_combine_lax(const Linear_Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, 2441: dimension_type end) { 2441: impl->linear_combine_lax(*y.impl, c1, c2, start, end); 2441: } 2441: 2441: inline bool 2441: Linear_Expression 2441: ::have_a_common_variable(const Linear_Expression& x, 2441: Variable first, Variable last) const { 2441: return impl->have_a_common_variable(*(x.impl), first, last); 2441: } 2441: 2441: inline 2441: Linear_Expression::const_iterator 2441: ::const_iterator() 2441: : itr( 2441: # 624 "../../src/Linear_Expression_inlines.hh" 3 4 2441: __null 2441: # 624 "../../src/Linear_Expression_inlines.hh" 2441: ) { 2441: } 2441: 2441: inline 2441: Linear_Expression::const_iterator 2441: ::const_iterator(const const_iterator& i) 2441: : itr(i.itr->clone()) { 2441: } 2441: 2441: inline 2441: Linear_Expression::const_iterator 2441: ::~const_iterator() { 2441: 2441: delete itr; 2441: } 2441: 2441: inline void 2441: Linear_Expression::const_iterator::m_swap(const_iterator& i) { 2441: using std::swap; 2441: swap(itr, i.itr); 2441: } 2441: 2441: inline Linear_Expression::const_iterator& 2441: Linear_Expression::const_iterator 2441: ::operator=(const const_iterator& i) { 2441: const_iterator tmp = i; 2441: using std::swap; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: inline Linear_Expression::const_iterator& 2441: Linear_Expression::const_iterator 2441: ::operator++() { 2441: ((void) 0); 2441: ++(*itr); 2441: return *this; 2441: } 2441: 2441: inline Linear_Expression::const_iterator& 2441: Linear_Expression::const_iterator 2441: ::operator--() { 2441: ((void) 0); 2441: --(*itr); 2441: return *this; 2441: } 2441: 2441: inline Linear_Expression::const_iterator::reference 2441: Linear_Expression::const_iterator 2441: ::operator*() const { 2441: ((void) 0); 2441: return *(*itr); 2441: } 2441: 2441: inline Variable 2441: Linear_Expression::const_iterator 2441: ::variable() const { 2441: ((void) 0); 2441: return itr->variable(); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::const_iterator 2441: ::operator==(const const_iterator& i) const { 2441: ((void) 0); 2441: ((void) 0); 2441: return *itr == *(i.itr); 2441: } 2441: 2441: inline bool 2441: Linear_Expression::const_iterator 2441: ::operator!=(const const_iterator& i) const { 2441: return !(*this == i); 2441: } 2441: 2441: inline 2441: Linear_Expression::const_iterator 2441: ::const_iterator(Linear_Expression_Interface::const_iterator_interface* i) 2441: : itr(i) { 2441: ((void) 0); 2441: } 2441: 2441: inline Linear_Expression::const_iterator 2441: Linear_Expression 2441: ::begin() const { 2441: return const_iterator(impl->begin()); 2441: } 2441: 2441: inline Linear_Expression::const_iterator 2441: Linear_Expression 2441: ::end() const { 2441: return const_iterator(impl->end()); 2441: } 2441: 2441: inline Linear_Expression::const_iterator 2441: Linear_Expression 2441: ::lower_bound(Variable v) const { 2441: return const_iterator(impl->lower_bound(v)); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression 2441: ::Linear_Expression(const LE_Adapter& e, 2441: typename Enable_If::value, 2441: void*>::type) 2441: : impl( 2441: # 731 "../../src/Linear_Expression_inlines.hh" 3 4 2441: __null 2441: # 731 "../../src/Linear_Expression_inlines.hh" 2441: ) { 2441: Linear_Expression tmp(e.representation()); 2441: tmp.set_space_dimension(e.space_dimension()); 2441: tmp.set_inhomogeneous_term(e.inhomogeneous_term()); 2441: for (typename LE_Adapter::const_iterator i = e.begin(), 2441: i_end = e.end(); i != i_end; ++i) { 2441: add_mul_assign(tmp, *i, i.variable()); 2441: } 2441: using std::swap; 2441: swap(impl, tmp.impl); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression 2441: ::Linear_Expression(const LE_Adapter& e, 2441: Representation r, 2441: typename Enable_If::value, 2441: void*>::type) 2441: : impl( 2441: # 751 "../../src/Linear_Expression_inlines.hh" 3 4 2441: __null 2441: # 751 "../../src/Linear_Expression_inlines.hh" 2441: ) { 2441: Linear_Expression tmp(r); 2441: tmp.set_space_dimension(e.space_dimension()); 2441: tmp.set_inhomogeneous_term(e.inhomogeneous_term()); 2441: for (typename LE_Adapter::const_iterator i = e.begin(), 2441: i_end = e.end(); i != i_end; ++i) { 2441: add_mul_assign(tmp, *i, i.variable()); 2441: } 2441: using std::swap; 2441: swap(impl, tmp.impl); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression 2441: ::Linear_Expression(const LE_Adapter& e, 2441: dimension_type space_dim, 2441: typename Enable_If::value, 2441: void*>::type) 2441: : impl( 2441: # 771 "../../src/Linear_Expression_inlines.hh" 3 4 2441: __null 2441: # 771 "../../src/Linear_Expression_inlines.hh" 2441: ) { 2441: Linear_Expression tmp(e.representation()); 2441: tmp.set_space_dimension(space_dim); 2441: tmp.set_inhomogeneous_term(e.inhomogeneous_term()); 2441: typedef typename LE_Adapter::const_iterator itr_t; 2441: itr_t i_end; 2441: if (space_dim <= e.space_dimension()) { 2441: i_end = e.lower_bound(Variable(space_dim)); 2441: } 2441: else { 2441: i_end = e.end(); 2441: } 2441: for (itr_t i = e.begin(); i != i_end; ++i) { 2441: add_mul_assign(tmp, *i, i.variable()); 2441: } 2441: using std::swap; 2441: swap(impl, tmp.impl); 2441: } 2441: 2441: template 2441: inline 2441: Linear_Expression 2441: ::Linear_Expression(const LE_Adapter& e, 2441: dimension_type space_dim, 2441: Representation r, 2441: typename Enable_If::value, 2441: void*>::type) 2441: : impl( 2441: # 799 "../../src/Linear_Expression_inlines.hh" 3 4 2441: __null 2441: # 799 "../../src/Linear_Expression_inlines.hh" 2441: ) { 2441: Linear_Expression tmp(r); 2441: tmp.set_space_dimension(space_dim); 2441: tmp.set_inhomogeneous_term(e.inhomogeneous_term()); 2441: typedef typename LE_Adapter::const_iterator itr_t; 2441: itr_t i_end; 2441: if (space_dim <= e.space_dimension()) { 2441: i_end = e.lower_bound(Variable(space_dim)); 2441: } 2441: else { 2441: i_end = e.end(); 2441: } 2441: for (itr_t i = e.begin(); i != i_end; ++i) { 2441: add_mul_assign(tmp, *i, i.variable()); 2441: } 2441: using std::swap; 2441: swap(impl, tmp.impl); 2441: } 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: inline std::ostream& 2441: operator<<(std::ostream& s, const Linear_Expression& e) { 2441: e.impl->print(s); 2441: return s; 2441: } 2441: 2441: } 2441: 2441: 2441: inline void 2441: swap(Linear_Expression& x, Linear_Expression& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: 2441: inline void 2441: swap(Linear_Expression::const_iterator& x, 2441: Linear_Expression::const_iterator& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 946 "../../src/Linear_Expression_defs.hh" 2 2441: # 37 "../../src/Constraint_defs.hh" 2 2441: 2441: # 1 "../../src/Topology_types.hh" 1 2441: # 16 "../../src/Topology_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: enum Topology { 2441: NECESSARILY_CLOSED = 0, 2441: NOT_NECESSARILY_CLOSED = 1 2441: }; 2441: 2441: } 2441: # 39 "../../src/Constraint_defs.hh" 2 2441: # 1 "../../src/Expression_Hide_Last_defs.hh" 1 2441: # 36 "../../src/Expression_Hide_Last_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Expression_Hide_Last 2441: : public Expression_Adapter { 2441: typedef Expression_Adapter base_type; 2441: public: 2441: 2441: typedef Expression_Hide_Last const_reference; 2441: 2441: typedef typename base_type::inner_type inner_type; 2441: 2441: typedef typename base_type::raw_type raw_type; 2441: 2441: 2441: typedef typename base_type::const_iterator const_iterator; 2441: 2441: 2441: explicit Expression_Hide_Last(const raw_type& expr, bool hide_last); 2441: 2441: 2441: const_iterator end() const; 2441: 2441: 2441: 2441: const_iterator lower_bound(Variable v) const; 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: bool is_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_homogeneous_terms_are_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(const Variables_Set& vars) const; 2441: 2441: 2441: Coefficient_traits::const_reference get(dimension_type i) const; 2441: 2441: 2441: Coefficient_traits::const_reference get(Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: dimension_type num_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: Coefficient gcd(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: dimension_type last_nonzero() const; 2441: 2441: 2441: 2441: dimension_type last_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: dimension_type first_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void has_a_free_dimension_helper(std::set& x) const; 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void get_row(Dense_Row& r) const; 2441: 2441: 2441: void get_row(Sparse_Row& r) const; 2441: 2441: 2441: 2441: template 2441: bool have_a_common_variable(const Expression& y, 2441: Variable first, Variable last) const; 2441: 2441: private: 2441: 2441: const bool hide_last_; 2441: }; 2441: 2441: # 1 "../../src/Expression_Hide_Last_inlines.hh" 1 2441: # 29 "../../src/Expression_Hide_Last_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Expression_Hide_Last::Expression_Hide_Last(const raw_type& expr, 2441: const bool hide_last) 2441: : base_type(expr), hide_last_(hide_last) { 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Last::space_dimension() const { 2441: dimension_type dim = this->inner().space_dimension(); 2441: if (hide_last_) { 2441: ((void) 0); 2441: --dim; 2441: } 2441: return dim; 2441: } 2441: 2441: template 2441: inline typename Expression_Hide_Last::const_iterator 2441: Expression_Hide_Last::end() const { 2441: if (hide_last_) { 2441: return this->inner().lower_bound(Variable(space_dimension())); 2441: } 2441: else { 2441: return this->inner().end(); 2441: } 2441: } 2441: 2441: template 2441: inline typename Expression_Hide_Last::const_iterator 2441: Expression_Hide_Last::lower_bound(Variable v) const { 2441: ((void) 0); 2441: return this->inner().lower_bound(v); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Hide_Last::coefficient(Variable v) const { 2441: ((void) 0); 2441: return this->inner().coefficient(v); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Last::is_zero() const { 2441: return this->inner().all_zeroes(0, space_dimension() + 1); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Last::all_homogeneous_terms_are_zero() const { 2441: return this->inner().all_zeroes(1, space_dimension() + 1); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Hide_Last 2441: ::is_equal_to(const Expression& y) const { 2441: const dimension_type x_dim = space_dimension(); 2441: const dimension_type y_dim = y.space_dimension(); 2441: if (x_dim != y_dim) { 2441: return false; 2441: } 2441: return is_equal_to(y, 0, x_dim + 1); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Last::all_zeroes(const Variables_Set& vars) const { 2441: ((void) 0); 2441: return this->inner().all_zeroes(vars); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Hide_Last::get(dimension_type i) const { 2441: ((void) 0); 2441: return this->inner().get(i); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Hide_Last::get(Variable v) const { 2441: ((void) 0); 2441: return this->inner().get(v); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Last::all_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: ((void) 0); 2441: return this->inner().all_zeroes(start, end); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Last::num_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: ((void) 0); 2441: return this->inner().num_zeroes(start, end); 2441: } 2441: 2441: template 2441: inline Coefficient 2441: Expression_Hide_Last::gcd(dimension_type start, 2441: dimension_type end) const { 2441: ((void) 0); 2441: return this->inner().gcd(start, end); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Last::last_nonzero() const { 2441: return this->inner().last_nonzero(0, space_dimension() + 1); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Last::last_nonzero(dimension_type first, 2441: dimension_type last) const { 2441: ((void) 0); 2441: return this->inner().last_nonzero(first, last); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Last::first_nonzero(dimension_type first, 2441: dimension_type last) const { 2441: ((void) 0); 2441: return this->inner().first_nonzero(first, last); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Last 2441: ::all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const { 2441: ((void) 0); 2441: return this->inner().all_zeroes_except(vars, start, end); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Hide_Last 2441: ::has_a_free_dimension_helper(std::set& x) const { 2441: if (x.empty()) { 2441: return; 2441: } 2441: ((void) 0); 2441: this->inner().has_a_free_dimension_helper(x); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Hide_Last 2441: ::is_equal_to(const Expression& y, 2441: dimension_type start, dimension_type end) const { 2441: ((void) 0); 2441: ((void) 0); 2441: return this->inner().is_equal_to(y, start, end); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Hide_Last 2441: ::is_equal_to(const Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const { 2441: ((void) 0); 2441: ((void) 0); 2441: return this->inner().is_equal_to(y, c1, c2, start, end); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Hide_Last::get_row(Dense_Row& r) const { 2441: this->inner().get_row(r); 2441: if (hide_last_) { 2441: ((void) 0); 2441: r.resize(r.size() - 1); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Hide_Last::get_row(Sparse_Row& r) const { 2441: this->inner().get_row(r); 2441: if (hide_last_) { 2441: ((void) 0); 2441: r.resize(r.size() - 1); 2441: } 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Hide_Last 2441: ::have_a_common_variable(const Expression& y, 2441: Variable first, Variable last) const { 2441: ((void) 0); 2441: ((void) 0); 2441: return this->inner().have_a_common_variable(y, first, last); 2441: } 2441: 2441: } 2441: # 164 "../../src/Expression_Hide_Last_defs.hh" 2 2441: # 40 "../../src/Constraint_defs.hh" 2 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: Constraint 2441: operator<(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Constraint 2441: operator<(Variable v1, Variable v2); 2441: 2441: 2441: 2441: Constraint 2441: operator<(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Constraint 2441: operator<(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: 2441: 2441: Constraint 2441: operator>(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Constraint 2441: operator>(Variable v1, Variable v2); 2441: 2441: 2441: 2441: Constraint 2441: operator>(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Constraint 2441: operator>(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: 2441: 2441: Constraint 2441: operator==(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Constraint 2441: operator==(Variable v1, Variable v2); 2441: 2441: 2441: 2441: Constraint 2441: operator==(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Constraint 2441: operator==(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: 2441: 2441: Constraint 2441: operator<=(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Constraint 2441: operator<=(Variable v1, Variable v2); 2441: 2441: 2441: 2441: Constraint 2441: operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Constraint 2441: operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: 2441: 2441: Constraint 2441: operator>=(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Constraint 2441: operator>=(Variable v1, Variable v2); 2441: 2441: 2441: 2441: Constraint 2441: operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: Constraint 2441: operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: # 182 "../../src/Constraint_defs.hh" 2441: int compare(const Constraint& x, const Constraint& y); 2441: 2441: } 2441: # 284 "../../src/Constraint_defs.hh" 2441: class Parma_Polyhedra_Library::Constraint { 2441: public: 2441: 2441: 2441: enum Type { 2441: 2441: EQUALITY, 2441: 2441: NONSTRICT_INEQUALITY, 2441: 2441: STRICT_INEQUALITY 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: explicit Constraint(Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Constraint(const Constraint& c); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Constraint(const Constraint& c, dimension_type space_dim); 2441: 2441: 2441: Constraint(const Constraint& c, Representation r); 2441: 2441: 2441: Constraint(const Constraint& c, dimension_type space_dim, 2441: Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit Constraint(const Congruence& cg, 2441: Representation r = default_representation); 2441: 2441: 2441: ~Constraint(); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: Constraint& operator=(const Constraint& c); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: void set_space_dimension(dimension_type space_dim); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: # 371 "../../src/Constraint_defs.hh" 2441: bool remove_space_dimensions(const Variables_Set& vars); 2441: # 385 "../../src/Constraint_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: 2441: 2441: Type type() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_equality() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_inequality() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_nonstrict_inequality() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_strict_inequality() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: Coefficient_traits::const_reference inhomogeneous_term() const; 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: static const Constraint& zero_dim_false(); 2441: 2441: 2441: 2441: 2441: 2441: static const Constraint& zero_dim_positivity(); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: # 463 "../../src/Constraint_defs.hh" 2441: bool is_tautological() const; 2441: # 477 "../../src/Constraint_defs.hh" 2441: bool is_inconsistent() const; 2441: # 487 "../../src/Constraint_defs.hh" 2441: bool is_equivalent_to(const Constraint& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_equal_to(const Constraint& y) const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: void m_swap(Constraint& y); 2441: 2441: 2441: static const Constraint& epsilon_geq_zero(); 2441: 2441: 2441: 2441: 2441: 2441: static const Constraint& epsilon_leq_one(); 2441: 2441: 2441: typedef Expression_Hide_Last expr_type; 2441: 2441: expr_type expression() const; 2441: 2441: private: 2441: 2441: 2441: enum Kind { 2441: LINE_OR_EQUALITY = 0, 2441: RAY_OR_POINT_OR_INEQUALITY = 1 2441: }; 2441: 2441: Linear_Expression expr; 2441: 2441: Kind kind_; 2441: 2441: Topology topology_; 2441: 2441: 2441: 2441: 2441: 2441: static const Constraint* zero_dim_false_p; 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Constraint* zero_dim_positivity_p; 2441: 2441: 2441: 2441: 2441: 2441: static const Constraint* epsilon_geq_zero_p; 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Constraint* epsilon_leq_one_p; 2441: 2441: 2441: Constraint(dimension_type space_dim, Kind kind, Topology topology, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Constraint(Linear_Expression& e, Kind kind, Topology topology); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Constraint(Linear_Expression& e, Type type, Topology topology); 2441: 2441: 2441: 2441: 2441: 2441: bool is_line_or_equality() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_ray_or_point_or_inequality() const; 2441: 2441: 2441: void set_is_line_or_equality(); 2441: 2441: 2441: void set_is_ray_or_point_or_inequality(); 2441: 2441: 2441: 2441: 2441: Topology topology() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_not_necessarily_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_topology(Topology x); 2441: 2441: 2441: void set_necessarily_closed(); 2441: 2441: 2441: void set_not_necessarily_closed(); 2441: # 642 "../../src/Constraint_defs.hh" 2441: void set_space_dimension_no_ok(dimension_type space_dim); 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_invalid_argument(const char* method, const char* message) const; 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_dimension_incompatible(const char* method, 2441: const char* name_var, 2441: Variable v) const; 2441: 2441: 2441: Coefficient_traits::const_reference epsilon_coefficient() const; 2441: 2441: 2441: void set_epsilon_coefficient(Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_necessarily_closed(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_not_necessarily_closed(); 2441: 2441: 2441: void set_is_equality(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_is_inequality(); 2441: # 703 "../../src/Constraint_defs.hh" 2441: void linear_combine(const Constraint& y, dimension_type i); 2441: 2441: 2441: 2441: 2441: 2441: void sign_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void strong_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: bool check_strong_normalized() const; 2441: 2441: 2441: 2441: 2441: 2441: static Constraint construct_epsilon_geq_zero(); 2441: 2441: friend int 2441: compare(const Constraint& x, const Constraint& y); 2441: 2441: friend class Linear_System; 2441: friend class Constraint_System; 2441: friend class Polyhedron; 2441: friend class Scalar_Products; 2441: friend class Topology_Adjusted_Scalar_Product_Sign; 2441: friend class Termination_Helpers; 2441: friend class Grid; 2441: template 2441: friend class Octagonal_Shape; 2441: 2441: friend Constraint 2441: operator<(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: friend Constraint 2441: operator<(Variable v1, Variable v2); 2441: 2441: friend Constraint 2441: operator<(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Constraint 2441: operator<(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: friend Constraint 2441: operator>(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: friend Constraint 2441: operator>(Variable v1, Variable v2); 2441: 2441: friend Constraint 2441: operator>(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Constraint 2441: operator>(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: friend Constraint 2441: operator==(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: friend Constraint 2441: operator==(Variable v1, Variable v2); 2441: 2441: friend Constraint 2441: operator==(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Constraint 2441: operator==(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: friend Constraint 2441: operator<=(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: friend Constraint 2441: operator<=(Variable v1, Variable v2); 2441: 2441: friend Constraint 2441: operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Constraint 2441: operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: 2441: friend Constraint 2441: operator>=(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: friend Constraint 2441: operator>=(Variable v1, Variable v2); 2441: 2441: friend Constraint 2441: operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: 2441: friend Constraint 2441: operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e); 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Constraint& c); 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Constraint::Type& t); 2441: 2441: } 2441: 2441: 2441: 2441: bool 2441: operator==(const Constraint& x, const Constraint& y); 2441: 2441: 2441: 2441: bool 2441: operator!=(const Constraint& x, const Constraint& y); 2441: 2441: 2441: void swap(Constraint& x, Constraint& y); 2441: 2441: } 2441: 2441: # 1 "../../src/Constraint_inlines.hh" 1 2441: # 29 "../../src/Constraint_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline bool 2441: Constraint::is_necessarily_closed() const { 2441: return (topology_ == NECESSARILY_CLOSED); 2441: } 2441: 2441: inline bool 2441: Constraint::is_not_necessarily_closed() const { 2441: return !is_necessarily_closed(); 2441: } 2441: 2441: inline Constraint::expr_type 2441: Constraint::expression() const { 2441: return expr_type(expr, is_not_necessarily_closed()); 2441: } 2441: 2441: inline dimension_type 2441: Constraint::space_dimension() const { 2441: return expression().space_dimension(); 2441: } 2441: 2441: inline void 2441: Constraint::shift_space_dimensions(Variable v, dimension_type n) { 2441: expr.shift_space_dimensions(v, n); 2441: } 2441: 2441: inline bool 2441: Constraint::is_line_or_equality() const { 2441: return (kind_ == LINE_OR_EQUALITY); 2441: } 2441: 2441: inline bool 2441: Constraint::is_ray_or_point_or_inequality() const { 2441: return (kind_ == RAY_OR_POINT_OR_INEQUALITY); 2441: } 2441: 2441: inline Topology 2441: Constraint::topology() const { 2441: return topology_; 2441: } 2441: 2441: inline void 2441: Constraint::set_is_line_or_equality() { 2441: kind_ = LINE_OR_EQUALITY; 2441: } 2441: 2441: inline void 2441: Constraint::set_is_ray_or_point_or_inequality() { 2441: kind_ = RAY_OR_POINT_OR_INEQUALITY; 2441: } 2441: 2441: inline void 2441: Constraint::set_topology(Topology x) { 2441: if (topology() == x) { 2441: return; 2441: } 2441: if (topology() == NECESSARILY_CLOSED) { 2441: 2441: expr.set_space_dimension(expr.space_dimension() + 1); 2441: } 2441: else { 2441: ((void) 0); 2441: expr.set_space_dimension(expr.space_dimension() - 1); 2441: } 2441: topology_ = x; 2441: } 2441: 2441: inline void 2441: Constraint::mark_as_necessarily_closed() { 2441: ((void) 0); 2441: topology_ = NECESSARILY_CLOSED; 2441: } 2441: 2441: inline void 2441: Constraint::mark_as_not_necessarily_closed() { 2441: ((void) 0); 2441: topology_ = NOT_NECESSARILY_CLOSED; 2441: } 2441: 2441: inline void 2441: Constraint::set_necessarily_closed() { 2441: set_topology(NECESSARILY_CLOSED); 2441: } 2441: 2441: inline void 2441: Constraint::set_not_necessarily_closed() { 2441: set_topology(NOT_NECESSARILY_CLOSED); 2441: } 2441: 2441: inline 2441: Constraint::Constraint(Representation r) 2441: : expr(r), 2441: kind_(RAY_OR_POINT_OR_INEQUALITY), 2441: topology_(NECESSARILY_CLOSED) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Constraint::Constraint(dimension_type space_dim, Kind kind, Topology topology, 2441: Representation r) 2441: : expr(r), 2441: kind_(kind), 2441: topology_(topology) { 2441: expr.set_space_dimension(space_dim + 1); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Constraint::Constraint(Linear_Expression& e, Kind kind, Topology topology) 2441: : kind_(kind), 2441: topology_(topology) { 2441: ((void) 0); 2441: swap(expr, e); 2441: if (topology == NOT_NECESSARILY_CLOSED) { 2441: 2441: expr.set_space_dimension(expr.space_dimension() + 1); 2441: } 2441: strong_normalize(); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) 2441: : topology_(topology) { 2441: ((void) 0); 2441: swap(expr, e); 2441: if (topology == NOT_NECESSARILY_CLOSED) { 2441: expr.set_space_dimension(expr.space_dimension() + 1); 2441: } 2441: if (type == EQUALITY) { 2441: kind_ = LINE_OR_EQUALITY; 2441: } 2441: else { 2441: kind_ = RAY_OR_POINT_OR_INEQUALITY; 2441: } 2441: strong_normalize(); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Constraint::Constraint(const Constraint& c) 2441: : expr(c.expr), 2441: kind_(c.kind_), 2441: topology_(c.topology_) { 2441: 2441: } 2441: 2441: inline 2441: Constraint::Constraint(const Constraint& c, Representation r) 2441: : expr(c.expr, r), 2441: kind_(c.kind_), 2441: topology_(c.topology_) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Constraint::Constraint(const Constraint& c, const dimension_type space_dim) 2441: : expr(c.expr, c.is_necessarily_closed() ? space_dim : (space_dim + 1)), 2441: kind_(c.kind_), topology_(c.topology_) { 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Constraint::Constraint(const Constraint& c, const dimension_type space_dim, 2441: Representation r) 2441: : expr(c.expr, c.is_necessarily_closed() ? space_dim : (space_dim + 1), r), 2441: kind_(c.kind_), topology_(c.topology_) { 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Constraint::~Constraint() { 2441: } 2441: 2441: inline Constraint& 2441: Constraint::operator=(const Constraint& c) { 2441: Constraint tmp = c; 2441: swap(*this, tmp); 2441: 2441: return *this; 2441: } 2441: 2441: inline Representation 2441: Constraint::representation() const { 2441: return expr.representation(); 2441: } 2441: 2441: inline void 2441: Constraint::set_representation(Representation r) { 2441: expr.set_representation(r); 2441: } 2441: 2441: inline dimension_type 2441: Constraint::max_space_dimension() { 2441: return Linear_Expression::max_space_dimension(); 2441: } 2441: 2441: inline void 2441: Constraint::set_space_dimension_no_ok(dimension_type space_dim) { 2441: const dimension_type old_expr_space_dim = expr.space_dimension(); 2441: if (topology() == NECESSARILY_CLOSED) { 2441: expr.set_space_dimension(space_dim); 2441: } 2441: else { 2441: const dimension_type old_space_dim = space_dimension(); 2441: if (space_dim > old_space_dim) { 2441: expr.set_space_dimension(space_dim + 1); 2441: expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim)); 2441: } 2441: else { 2441: expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim)); 2441: expr.set_space_dimension(space_dim + 1); 2441: } 2441: } 2441: ((void) 0); 2441: if (expr.space_dimension() < old_expr_space_dim) { 2441: strong_normalize(); 2441: } 2441: } 2441: 2441: inline void 2441: Constraint::set_space_dimension(dimension_type space_dim) { 2441: set_space_dimension_no_ok(space_dim); 2441: ((void) 0); 2441: } 2441: 2441: inline bool 2441: Constraint::remove_space_dimensions(const Variables_Set& vars) { 2441: expr.remove_space_dimensions(vars); 2441: return true; 2441: } 2441: 2441: inline bool 2441: Constraint::is_equality() const { 2441: return is_line_or_equality(); 2441: } 2441: 2441: inline bool 2441: Constraint::is_inequality() const { 2441: return is_ray_or_point_or_inequality(); 2441: } 2441: 2441: inline Constraint::Type 2441: Constraint::type() const { 2441: if (is_equality()) { 2441: return EQUALITY; 2441: } 2441: if (is_necessarily_closed()) { 2441: return NONSTRICT_INEQUALITY; 2441: } 2441: if (epsilon_coefficient() < 0) { 2441: return STRICT_INEQUALITY; 2441: } 2441: else { 2441: return NONSTRICT_INEQUALITY; 2441: } 2441: } 2441: 2441: inline bool 2441: Constraint::is_nonstrict_inequality() const { 2441: return type() == NONSTRICT_INEQUALITY; 2441: } 2441: 2441: inline bool 2441: Constraint::is_strict_inequality() const { 2441: return type() == STRICT_INEQUALITY; 2441: } 2441: 2441: inline void 2441: Constraint::set_is_equality() { 2441: set_is_line_or_equality(); 2441: } 2441: 2441: inline void 2441: Constraint::set_is_inequality() { 2441: set_is_ray_or_point_or_inequality(); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Constraint::coefficient(const Variable v) const { 2441: if (v.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("coefficient(v)", "v", v); 2441: } 2441: return expr.coefficient(v); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Constraint::inhomogeneous_term() const { 2441: return expr.inhomogeneous_term(); 2441: } 2441: 2441: inline memory_size_type 2441: Constraint::external_memory_in_bytes() const { 2441: return expr.external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Constraint::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline void 2441: Constraint::strong_normalize() { 2441: expr.normalize(); 2441: sign_normalize(); 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const Constraint& x, const Constraint& y) { 2441: return x.is_equivalent_to(y); 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Constraint& x, const Constraint& y) { 2441: return !x.is_equivalent_to(y); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator==(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: Linear_Expression diff(e1, 2441: std::max(e1.space_dimension(), e2.space_dimension()), 2441: Constraint::default_representation); 2441: diff -= e2; 2441: return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator==(Variable v1, Variable v2) { 2441: if (v1.space_dimension() > v2.space_dimension()) { 2441: swap(v1, v2); 2441: } 2441: ((void) 0); 2441: 2441: Linear_Expression diff(v1, Constraint::default_representation); 2441: diff -= v2; 2441: return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>=(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: Linear_Expression diff(e1, 2441: std::max(e1.space_dimension(), e2.space_dimension()), 2441: Constraint::default_representation); 2441: diff -= e2; 2441: return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>=(const Variable v1, const Variable v2) { 2441: Linear_Expression diff(Constraint::default_representation); 2441: diff.set_space_dimension(std::max(v1.space_dimension(), 2441: v2.space_dimension())); 2441: diff += v1; 2441: diff -= v2; 2441: return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: Linear_Expression diff(e1, Constraint::default_representation); 2441: diff -= e2; 2441: Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED); 2441: 2441: 2441: c.set_epsilon_coefficient(-1); 2441: ((void) 0); 2441: 2441: return c; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>(const Variable v1, const Variable v2) { 2441: Linear_Expression diff(Constraint::default_representation); 2441: diff.set_space_dimension(std::max(v1.space_dimension(), 2441: v2.space_dimension())); 2441: diff += v1; 2441: diff -= v2; 2441: Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED); 2441: 2441: c.set_epsilon_coefficient(-1); 2441: ((void) 0); 2441: 2441: return c; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator==(Coefficient_traits::const_reference n, const Linear_Expression& e) { 2441: Linear_Expression diff(e, Constraint::default_representation); 2441: neg_assign(diff); 2441: diff += n; 2441: return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e) { 2441: Linear_Expression diff(e, Constraint::default_representation); 2441: neg_assign(diff); 2441: diff += n; 2441: return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>(Coefficient_traits::const_reference n, const Linear_Expression& e) { 2441: Linear_Expression diff(e, Constraint::default_representation); 2441: neg_assign(diff); 2441: diff += n; 2441: Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED); 2441: 2441: 2441: c.set_epsilon_coefficient(-1); 2441: ((void) 0); 2441: 2441: return c; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator==(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: Linear_Expression diff(e, Constraint::default_representation); 2441: diff -= n; 2441: return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: Linear_Expression diff(e, Constraint::default_representation); 2441: diff -= n; 2441: return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED); 2441: } 2441: 2441: 2441: inline Constraint 2441: operator>(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: Linear_Expression diff(e, Constraint::default_representation); 2441: diff -= n; 2441: Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED); 2441: 2441: 2441: c.set_epsilon_coefficient(-1); 2441: ((void) 0); 2441: 2441: return c; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<=(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: return e2 >= e1; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<=(const Variable v1, const Variable v2) { 2441: return v2 >= v1; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e) { 2441: return e >= n; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: return n >= e; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: return e2 > e1; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<(const Variable v1, const Variable v2) { 2441: return v2 > v1; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<(Coefficient_traits::const_reference n, const Linear_Expression& e) { 2441: return e > n; 2441: } 2441: 2441: 2441: inline Constraint 2441: operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: return n > e; 2441: } 2441: 2441: inline const Constraint& 2441: Constraint::zero_dim_false() { 2441: ((void) 0); 2441: return *zero_dim_false_p; 2441: } 2441: 2441: inline const Constraint& 2441: Constraint::zero_dim_positivity() { 2441: ((void) 0); 2441: return *zero_dim_positivity_p; 2441: } 2441: 2441: inline const Constraint& 2441: Constraint::epsilon_geq_zero() { 2441: ((void) 0); 2441: return *epsilon_geq_zero_p; 2441: } 2441: 2441: inline const Constraint& 2441: Constraint::epsilon_leq_one() { 2441: ((void) 0); 2441: return *epsilon_leq_one_p; 2441: } 2441: 2441: inline void 2441: Constraint::m_swap(Constraint& y) { 2441: using std::swap; 2441: swap(expr, y.expr); 2441: swap(kind_, y.kind_); 2441: swap(topology_, y.topology_); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Constraint::epsilon_coefficient() const { 2441: ((void) 0); 2441: return expr.coefficient(Variable(expr.space_dimension() - 1)); 2441: } 2441: 2441: inline void 2441: Constraint::set_epsilon_coefficient(Coefficient_traits::const_reference n) { 2441: ((void) 0); 2441: expr.set_coefficient(Variable(expr.space_dimension() - 1), n); 2441: } 2441: 2441: 2441: inline void 2441: swap(Constraint& x, Constraint& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 835 "../../src/Constraint_defs.hh" 2 2441: # 31 "../../src/Linear_Expression_Impl_templates.hh" 2 2441: # 1 "../../src/Generator_defs.hh" 1 2441: # 31 "../../src/Generator_defs.hh" 2441: # 1 "../../src/Generator_System_types.hh" 1 2441: # 16 "../../src/Generator_System_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Generator_System; 2441: class Generator_System_const_iterator; 2441: 2441: } 2441: # 32 "../../src/Generator_defs.hh" 2 2441: 2441: 2441: 2441: # 1 "../../src/Grid_Generator_System_types.hh" 1 2441: # 16 "../../src/Grid_Generator_System_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Grid_Generator_System; 2441: 2441: } 2441: # 36 "../../src/Generator_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "../../src/distances_defs.hh" 1 2441: # 27 "../../src/distances_defs.hh" 2441: # 1 "../../src/distances_types.hh" 1 2441: # 16 "../../src/distances_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: struct Rectilinear_Distance_Specialization; 2441: 2441: template 2441: struct Euclidean_Distance_Specialization; 2441: 2441: template 2441: struct L_Infinity_Distance_Specialization; 2441: 2441: } 2441: # 28 "../../src/distances_defs.hh" 2 2441: 2441: 2441: template 2441: struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization { 2441: static void combine(Temp& running, const Temp& current, Rounding_Dir dir); 2441: 2441: static void finalize(Temp&, Rounding_Dir); 2441: }; 2441: 2441: template 2441: struct Parma_Polyhedra_Library::Euclidean_Distance_Specialization { 2441: static void combine(Temp& running, Temp& current, Rounding_Dir dir); 2441: 2441: static void finalize(Temp& running, Rounding_Dir dir); 2441: }; 2441: 2441: 2441: template 2441: struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization { 2441: static void combine(Temp& running, const Temp& current, Rounding_Dir); 2441: 2441: static void finalize(Temp&, Rounding_Dir); 2441: }; 2441: 2441: # 1 "../../src/distances_inlines.hh" 1 2441: # 29 "../../src/distances_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: template 2441: struct maybe_assign_struct { 2441: static inline Result 2441: function(const To*& top, To& tmp, const From& from, Rounding_Dir dir) { 2441: 2441: 2441: top = &tmp; 2441: return assign_r(tmp, from, dir); 2441: } 2441: }; 2441: 2441: template 2441: struct maybe_assign_struct { 2441: static inline Result 2441: function(const Type*& top, Type&, const Type& from, Rounding_Dir) { 2441: 2441: top = &from; 2441: return V_EQ; 2441: } 2441: }; 2441: # 62 "../../src/distances_inlines.hh" 2441: template 2441: inline Result 2441: maybe_assign(const To*& top, To& tmp, const From& from, Rounding_Dir dir) { 2441: return maybe_assign_struct::function(top, tmp, from, dir); 2441: } 2441: 2441: template 2441: inline void 2441: Rectilinear_Distance_Specialization::combine(Temp& running, 2441: const Temp& current, 2441: Rounding_Dir dir) { 2441: add_assign_r(running, running, current, dir); 2441: } 2441: 2441: template 2441: inline void 2441: Rectilinear_Distance_Specialization::finalize(Temp&, Rounding_Dir) { 2441: } 2441: 2441: template 2441: inline void 2441: Euclidean_Distance_Specialization::combine(Temp& running, 2441: Temp& current, 2441: Rounding_Dir dir) { 2441: mul_assign_r(current, current, current, dir); 2441: add_assign_r(running, running, current, dir); 2441: } 2441: 2441: template 2441: inline void 2441: Euclidean_Distance_Specialization::finalize(Temp& running, 2441: Rounding_Dir dir) { 2441: sqrt_assign_r(running, running, dir); 2441: } 2441: 2441: template 2441: inline void 2441: L_Infinity_Distance_Specialization::combine(Temp& running, 2441: const Temp& current, 2441: Rounding_Dir) { 2441: if (current > running) { 2441: running = current; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: L_Infinity_Distance_Specialization::finalize(Temp&, Rounding_Dir) { 2441: } 2441: 2441: } 2441: # 53 "../../src/distances_defs.hh" 2 2441: # 43 "../../src/Generator_defs.hh" 2 2441: 2441: 2441: # 1 "../../src/Expression_Hide_Inhomo_defs.hh" 1 2441: # 41 "../../src/Expression_Hide_Inhomo_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Expression_Hide_Inhomo 2441: : public Expression_Adapter { 2441: typedef Expression_Adapter base_type; 2441: public: 2441: 2441: typedef Expression_Hide_Inhomo const_reference; 2441: 2441: typedef typename base_type::inner_type inner_type; 2441: 2441: typedef typename base_type::raw_type raw_type; 2441: 2441: 2441: explicit Expression_Hide_Inhomo(const raw_type& expr); 2441: 2441: public: 2441: 2441: typedef typename base_type::const_iterator const_iterator; 2441: 2441: 2441: Coefficient_traits::const_reference inhomogeneous_term() const; 2441: 2441: 2441: bool is_zero() const; 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y) const; 2441: 2441: 2441: Coefficient_traits::const_reference get(dimension_type i) const; 2441: 2441: 2441: Coefficient_traits::const_reference get(Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(const Variables_Set& vars) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: dimension_type num_zeroes(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: 2441: 2441: Coefficient gcd(dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: dimension_type last_nonzero() const; 2441: 2441: 2441: 2441: dimension_type last_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: dimension_type first_nonzero(dimension_type first, dimension_type last) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void has_a_free_dimension_helper(std::set& x) const; 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: 2441: template 2441: bool is_equal_to(const Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const; 2441: 2441: 2441: void get_row(Dense_Row& r) const; 2441: 2441: 2441: void get_row(Sparse_Row& r) const; 2441: }; 2441: 2441: # 1 "../../src/Expression_Hide_Inhomo_inlines.hh" 1 2441: # 29 "../../src/Expression_Hide_Inhomo_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Expression_Hide_Inhomo::Expression_Hide_Inhomo(const raw_type& expr) 2441: : base_type(expr) { 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Hide_Inhomo::inhomogeneous_term() const { 2441: 2441: return Coefficient_zero(); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Inhomo::is_zero() const { 2441: 2441: return this->inner().all_homogeneous_terms_are_zero(); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Hide_Inhomo 2441: ::is_equal_to(const Expression& y) const { 2441: const dimension_type x_dim = this->space_dimension(); 2441: const dimension_type y_dim = y.space_dimension(); 2441: if (x_dim != y_dim) { 2441: return false; 2441: } 2441: if (y.inhomogeneous_term() != 0) { 2441: return false; 2441: } 2441: 2441: return this->inner().is_equal_to(y, 1, x_dim + 1); 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Hide_Inhomo::get(dimension_type i) const { 2441: if (i == 0) { 2441: return Coefficient_zero(); 2441: } 2441: else { 2441: return this->inner().get(i); 2441: } 2441: } 2441: 2441: template 2441: inline Coefficient_traits::const_reference 2441: Expression_Hide_Inhomo::get(Variable v) const { 2441: return this->inner().get(v); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Inhomo 2441: ::all_zeroes(const Variables_Set& vars) const { 2441: return this->inner().all_zeroes(vars); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Inhomo::all_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: if (start == end) { 2441: return true; 2441: } 2441: if (start == 0) { 2441: ++start; 2441: } 2441: return this->inner().all_zeroes(start, end); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Inhomo::num_zeroes(dimension_type start, 2441: dimension_type end) const { 2441: if (start == end) { 2441: return 0; 2441: } 2441: dimension_type nz = 0; 2441: if (start == 0) { 2441: ++start; 2441: ++nz; 2441: } 2441: nz += this->inner().num_zeroes(start, end); 2441: return nz; 2441: } 2441: 2441: template 2441: inline Coefficient 2441: Expression_Hide_Inhomo::gcd(dimension_type start, 2441: dimension_type end) const { 2441: if (start == end) { 2441: return Coefficient_zero(); 2441: } 2441: if (start == 0) { 2441: ++start; 2441: } 2441: return this->inner().gcd(start, end); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Inhomo::last_nonzero() const { 2441: return this->inner().last_nonzero(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Inhomo::last_nonzero(dimension_type first, 2441: dimension_type last) const { 2441: if (first == last) { 2441: return last; 2441: } 2441: if (first == 0) { 2441: ++first; 2441: } 2441: return this->inner().last_nonzero(first, last); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Expression_Hide_Inhomo::first_nonzero(dimension_type first, 2441: dimension_type last) const { 2441: if (first == last) { 2441: return last; 2441: } 2441: if (first == 0) { 2441: ++first; 2441: } 2441: return this->inner().first_nonzero(first, last); 2441: } 2441: 2441: template 2441: inline bool 2441: Expression_Hide_Inhomo 2441: ::all_zeroes_except(const Variables_Set& vars, 2441: dimension_type start, dimension_type end) const { 2441: if (start == end) { 2441: return true; 2441: } 2441: if (start == 0) { 2441: ++start; 2441: } 2441: return this->inner().all_zeroes_except(vars, start, end); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Hide_Inhomo 2441: ::has_a_free_dimension_helper(std::set& y) const { 2441: bool had_0 = (y.count(0) == 1); 2441: this->inner().has_a_free_dimension_helper(y); 2441: if (had_0) { 2441: y.insert(0); 2441: } 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Hide_Inhomo 2441: ::is_equal_to(const Expression& y, 2441: dimension_type start, dimension_type end) const { 2441: if (start == end) { 2441: return true; 2441: } 2441: if (start == 0) { 2441: ++start; 2441: } 2441: return this->inner().is_equal_to(y, start, end); 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: Expression_Hide_Inhomo 2441: ::is_equal_to(const Expression& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const { 2441: if (start == end) { 2441: return true; 2441: } 2441: if (start == 0) { 2441: ++start; 2441: } 2441: return this->inner().is_equal_to(y, c1, c2, start, end); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Hide_Inhomo::get_row(Dense_Row& r) const { 2441: this->inner().get_row(r); 2441: r.reset(0); 2441: } 2441: 2441: template 2441: inline void 2441: Expression_Hide_Inhomo::get_row(Sparse_Row& r) const { 2441: this->inner().get_row(r); 2441: r.reset(0); 2441: } 2441: 2441: } 2441: # 146 "../../src/Expression_Hide_Inhomo_defs.hh" 2 2441: # 46 "../../src/Generator_defs.hh" 2 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: # 90 "../../src/Generator_defs.hh" 2441: int compare(const Generator& x, const Generator& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Generator& g); 2441: 2441: } 2441: 2441: 2441: 2441: void swap(Generator& x, Generator& y); 2441: 2441: } 2441: # 285 "../../src/Generator_defs.hh" 2441: class Parma_Polyhedra_Library::Generator { 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static Generator line(const Linear_Expression& e, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static Generator ray(const Linear_Expression& e, 2441: Representation r = default_representation); 2441: # 322 "../../src/Generator_defs.hh" 2441: static Generator point(const Linear_Expression& e 2441: = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d 2441: = Coefficient_one(), 2441: Representation r = default_representation); 2441: 2441: 2441: static Generator point(Representation r); 2441: 2441: 2441: static Generator point(const Linear_Expression& e, 2441: Representation r); 2441: 2441: 2441: explicit Generator(Representation r = default_representation); 2441: # 346 "../../src/Generator_defs.hh" 2441: static Generator 2441: closure_point(const Linear_Expression& e = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d = Coefficient_one(), 2441: Representation r = default_representation); 2441: 2441: 2441: static Generator 2441: closure_point(Representation r); 2441: 2441: 2441: static Generator 2441: closure_point(const Linear_Expression& e, Representation r); 2441: 2441: 2441: 2441: Generator(const Generator& g); 2441: 2441: 2441: Generator(const Generator& g, Representation r); 2441: 2441: 2441: 2441: Generator(const Generator& g, dimension_type space_dim); 2441: 2441: 2441: Generator(const Generator& g, dimension_type space_dim, Representation r); 2441: 2441: 2441: ~Generator(); 2441: 2441: 2441: Generator& operator=(const Generator& g); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: void set_space_dimension(dimension_type space_dim); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: # 408 "../../src/Generator_defs.hh" 2441: bool remove_space_dimensions(const Variables_Set& vars); 2441: # 422 "../../src/Generator_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: 2441: 2441: enum Type { 2441: 2441: LINE, 2441: 2441: RAY, 2441: 2441: POINT, 2441: 2441: CLOSURE_POINT 2441: }; 2441: 2441: 2441: Type type() const; 2441: 2441: 2441: bool is_line() const; 2441: 2441: 2441: bool is_ray() const; 2441: 2441: 2441: 2441: 2441: bool is_line_or_ray() const; 2441: 2441: 2441: bool is_point() const; 2441: 2441: 2441: bool is_closure_point() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference divisor() const; 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: static const Generator& zero_dim_point(); 2441: 2441: 2441: 2441: 2441: 2441: static const Generator& zero_dim_closure_point(); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_equivalent_to(const Generator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_equal_to(const Generator& y) const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: void m_swap(Generator& y); 2441: 2441: 2441: typedef Expression_Hide_Last > 2441: expr_type; 2441: 2441: expr_type expression() const; 2441: 2441: private: 2441: 2441: enum Kind { 2441: LINE_OR_EQUALITY = 0, 2441: RAY_OR_POINT_OR_INEQUALITY = 1 2441: }; 2441: 2441: 2441: Linear_Expression expr; 2441: 2441: 2441: Kind kind_; 2441: 2441: 2441: Topology topology_; 2441: 2441: 2441: 2441: 2441: 2441: static const Generator* zero_dim_point_p; 2441: 2441: 2441: 2441: 2441: 2441: static const Generator* zero_dim_closure_point_p; 2441: # 570 "../../src/Generator_defs.hh" 2441: Generator(Linear_Expression& e, Type type, Topology topology); 2441: 2441: Generator(Linear_Expression& e, Kind kind, Topology topology); 2441: 2441: Generator(dimension_type space_dim, Kind kind, Topology topology, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: bool is_line_or_equality() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_ray_or_point_or_inequality() const; 2441: 2441: 2441: void set_is_line_or_equality(); 2441: 2441: 2441: void set_is_ray_or_point_or_inequality(); 2441: 2441: 2441: 2441: 2441: Topology topology() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_not_necessarily_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_topology(Topology x); 2441: 2441: 2441: void set_necessarily_closed(); 2441: 2441: 2441: void set_not_necessarily_closed(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_necessarily_closed(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_not_necessarily_closed(); 2441: # 652 "../../src/Generator_defs.hh" 2441: void linear_combine(const Generator& y, dimension_type i); 2441: # 661 "../../src/Generator_defs.hh" 2441: void set_space_dimension_no_ok(dimension_type space_dim); 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_dimension_incompatible(const char* method, 2441: const char* v_name, 2441: Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_invalid_argument(const char* method, const char* reason) const; 2441: 2441: 2441: bool is_ray_or_point() const; 2441: 2441: 2441: void set_is_line(); 2441: 2441: 2441: void set_is_ray_or_point(); 2441: # 695 "../../src/Generator_defs.hh" 2441: bool is_matching_closure_point(const Generator& p) const; 2441: 2441: 2441: Coefficient_traits::const_reference epsilon_coefficient() const; 2441: 2441: 2441: void set_epsilon_coefficient(Coefficient_traits::const_reference n); 2441: 2441: 2441: 2441: 2441: 2441: void sign_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void strong_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: bool check_strong_normalized() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void fancy_print(std::ostream& s) const; 2441: 2441: friend class Expression_Adapter; 2441: friend class Linear_System; 2441: friend class Parma_Polyhedra_Library::Scalar_Products; 2441: friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign; 2441: friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Assign; 2441: friend class Parma_Polyhedra_Library::Generator_System; 2441: friend class Parma_Polyhedra_Library::Generator_System_const_iterator; 2441: 2441: friend class Parma_Polyhedra_Library::Polyhedron; 2441: 2441: friend class Parma_Polyhedra_Library::Grid_Generator_System; 2441: friend class Parma_Polyhedra_Library::MIP_Problem; 2441: friend class Parma_Polyhedra_Library::Grid; 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s, 2441: const Generator& g); 2441: 2441: friend int 2441: compare(const Generator& x, const Generator& y); 2441: }; 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: Generator line(const Linear_Expression& e, 2441: Representation r = Generator::default_representation); 2441: 2441: 2441: 2441: Generator ray(const Linear_Expression& e, 2441: Representation r = Generator::default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Generator 2441: point(const Linear_Expression& e = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d = Coefficient_one(), 2441: Representation r = Generator::default_representation); 2441: 2441: 2441: 2441: Generator 2441: point(Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Generator 2441: point(const Linear_Expression& e, Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Generator 2441: closure_point(const Linear_Expression& e = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d = Coefficient_one(), 2441: Representation r = Generator::default_representation); 2441: 2441: 2441: 2441: Generator 2441: closure_point(Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Generator 2441: closure_point(const Linear_Expression& e, Representation r); 2441: 2441: 2441: 2441: bool operator==(const Generator& x, const Generator& y); 2441: 2441: 2441: 2441: bool operator!=(const Generator& x, const Generator& y); 2441: # 838 "../../src/Generator_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir); 2441: # 859 "../../src/Generator_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir); 2441: # 880 "../../src/Generator_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 904 "../../src/Generator_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir); 2441: # 925 "../../src/Generator_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir); 2441: # 946 "../../src/Generator_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 970 "../../src/Generator_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir); 2441: # 991 "../../src/Generator_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir); 2441: # 1012 "../../src/Generator_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Generator::Type& t); 2441: 2441: } 2441: 2441: } 2441: 2441: # 1 "../../src/Generator_inlines.hh" 1 2441: # 27 "../../src/Generator_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline bool 2441: Generator::is_necessarily_closed() const { 2441: return (topology() == NECESSARILY_CLOSED); 2441: } 2441: 2441: inline bool 2441: Generator::is_not_necessarily_closed() const { 2441: return (topology() == NOT_NECESSARILY_CLOSED); 2441: } 2441: 2441: inline Generator::expr_type 2441: Generator::expression() const { 2441: return expr_type(expr, is_not_necessarily_closed()); 2441: } 2441: 2441: inline dimension_type 2441: Generator::space_dimension() const { 2441: return expression().space_dimension(); 2441: } 2441: 2441: inline bool 2441: Generator::is_line_or_equality() const { 2441: return (kind_ == LINE_OR_EQUALITY); 2441: } 2441: 2441: inline bool 2441: Generator::is_ray_or_point_or_inequality() const { 2441: return (kind_ == RAY_OR_POINT_OR_INEQUALITY); 2441: } 2441: 2441: inline Topology 2441: Generator::topology() const { 2441: return topology_; 2441: } 2441: 2441: inline void 2441: Generator::set_is_line_or_equality() { 2441: kind_ = LINE_OR_EQUALITY; 2441: } 2441: 2441: inline void 2441: Generator::set_is_ray_or_point_or_inequality() { 2441: kind_ = RAY_OR_POINT_OR_INEQUALITY; 2441: } 2441: 2441: inline void 2441: Generator::set_topology(Topology x) { 2441: if (topology() == x) { 2441: return; 2441: } 2441: if (topology() == NECESSARILY_CLOSED) { 2441: 2441: expr.set_space_dimension(expr.space_dimension() + 1); 2441: } 2441: else { 2441: ((void) 0); 2441: expr.set_space_dimension(expr.space_dimension() - 1); 2441: } 2441: topology_ = x; 2441: } 2441: 2441: inline void 2441: Generator::mark_as_necessarily_closed() { 2441: ((void) 0); 2441: topology_ = NECESSARILY_CLOSED; 2441: } 2441: 2441: inline void 2441: Generator::mark_as_not_necessarily_closed() { 2441: ((void) 0); 2441: topology_ = NOT_NECESSARILY_CLOSED; 2441: } 2441: 2441: inline void 2441: Generator::set_necessarily_closed() { 2441: set_topology(NECESSARILY_CLOSED); 2441: } 2441: 2441: inline void 2441: Generator::set_not_necessarily_closed() { 2441: set_topology(NOT_NECESSARILY_CLOSED); 2441: } 2441: 2441: inline 2441: Generator::Generator(Representation r) 2441: : expr(r), 2441: kind_(RAY_OR_POINT_OR_INEQUALITY), 2441: topology_(NECESSARILY_CLOSED) { 2441: expr.set_inhomogeneous_term(Coefficient_one()); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Generator::Generator(dimension_type space_dim, Kind kind, Topology topology, 2441: Representation r) 2441: : expr(r), 2441: kind_(kind), 2441: topology_(topology) { 2441: if (is_necessarily_closed()) { 2441: expr.set_space_dimension(space_dim); 2441: } 2441: else { 2441: expr.set_space_dimension(space_dim + 1); 2441: } 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Generator::Generator(Linear_Expression& e, Type type, Topology topology) 2441: : topology_(topology) { 2441: ((void) 0); 2441: swap(expr, e); 2441: if (topology == NOT_NECESSARILY_CLOSED) { 2441: expr.set_space_dimension(expr.space_dimension() + 1); 2441: } 2441: if (type == LINE) { 2441: kind_ = LINE_OR_EQUALITY; 2441: } 2441: else { 2441: kind_ = RAY_OR_POINT_OR_INEQUALITY; 2441: } 2441: strong_normalize(); 2441: } 2441: 2441: inline 2441: Generator::Generator(Linear_Expression& e, Kind kind, Topology topology) 2441: : kind_(kind), 2441: topology_(topology) { 2441: swap(expr, e); 2441: if (topology == NOT_NECESSARILY_CLOSED) { 2441: expr.set_space_dimension(expr.space_dimension() + 1); 2441: } 2441: strong_normalize(); 2441: } 2441: 2441: inline 2441: Generator::Generator(const Generator& g) 2441: : expr(g.expr), 2441: kind_(g.kind_), 2441: topology_(g.topology_) { 2441: } 2441: 2441: inline 2441: Generator::Generator(const Generator& g, Representation r) 2441: : expr(g.expr, r), 2441: kind_(g.kind_), 2441: topology_(g.topology_) { 2441: 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Generator::Generator(const Generator& g, dimension_type space_dim) 2441: : expr(g.expr, g.is_necessarily_closed() ? space_dim : (space_dim + 1)), 2441: kind_(g.kind_), 2441: topology_(g.topology_) { 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Generator::Generator(const Generator& g, dimension_type space_dim, 2441: Representation r) 2441: : expr(g.expr, g.is_necessarily_closed() ? space_dim : (space_dim + 1), r), 2441: kind_(g.kind_), 2441: topology_(g.topology_) { 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Generator::~Generator() { 2441: } 2441: 2441: inline Generator& 2441: Generator::operator=(const Generator& g) { 2441: Generator tmp = g; 2441: swap(*this, tmp); 2441: 2441: return *this; 2441: } 2441: 2441: inline Representation 2441: Generator::representation() const { 2441: return expr.representation(); 2441: } 2441: 2441: inline void 2441: Generator::set_representation(Representation r) { 2441: expr.set_representation(r); 2441: } 2441: 2441: inline dimension_type 2441: Generator::max_space_dimension() { 2441: return Linear_Expression::max_space_dimension(); 2441: } 2441: 2441: inline void 2441: Generator::set_space_dimension_no_ok(dimension_type space_dim) { 2441: const dimension_type old_expr_space_dim = expr.space_dimension(); 2441: if (topology() == NECESSARILY_CLOSED) { 2441: expr.set_space_dimension(space_dim); 2441: } 2441: else { 2441: const dimension_type old_space_dim = space_dimension(); 2441: if (space_dim > old_space_dim) { 2441: expr.set_space_dimension(space_dim + 1); 2441: expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim)); 2441: } 2441: else { 2441: expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim)); 2441: expr.set_space_dimension(space_dim + 1); 2441: } 2441: } 2441: ((void) 0); 2441: if (expr.space_dimension() < old_expr_space_dim) { 2441: strong_normalize(); 2441: } 2441: } 2441: 2441: inline void 2441: Generator::set_space_dimension(dimension_type space_dim) { 2441: set_space_dimension_no_ok(space_dim); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Generator::shift_space_dimensions(Variable v, dimension_type n) { 2441: expr.shift_space_dimensions(v, n); 2441: } 2441: 2441: inline bool 2441: Generator::is_line() const { 2441: return is_line_or_equality(); 2441: } 2441: 2441: inline bool 2441: Generator::is_ray_or_point() const { 2441: return is_ray_or_point_or_inequality(); 2441: } 2441: 2441: inline bool 2441: Generator::is_line_or_ray() const { 2441: return expr.inhomogeneous_term() == 0; 2441: } 2441: 2441: inline bool 2441: Generator::is_ray() const { 2441: return is_ray_or_point() && is_line_or_ray(); 2441: } 2441: 2441: inline Generator::Type 2441: Generator::type() const { 2441: if (is_line()) { 2441: return LINE; 2441: } 2441: if (is_line_or_ray()) { 2441: return RAY; 2441: } 2441: if (is_necessarily_closed()) { 2441: return POINT; 2441: } 2441: else { 2441: 2441: if (epsilon_coefficient() == 0) { 2441: return CLOSURE_POINT; 2441: } 2441: else { 2441: return POINT; 2441: } 2441: } 2441: } 2441: 2441: inline bool 2441: Generator::is_point() const { 2441: return type() == POINT; 2441: } 2441: 2441: inline bool 2441: Generator::is_closure_point() const { 2441: return type() == CLOSURE_POINT; 2441: } 2441: 2441: inline void 2441: Generator::set_is_line() { 2441: set_is_line_or_equality(); 2441: } 2441: 2441: inline void 2441: Generator::set_is_ray_or_point() { 2441: set_is_ray_or_point_or_inequality(); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Generator::coefficient(const Variable v) const { 2441: if (v.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("coefficient(v)", "v", v); 2441: } 2441: return expr.coefficient(v); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Generator::divisor() const { 2441: Coefficient_traits::const_reference d = expr.inhomogeneous_term(); 2441: if (!is_ray_or_point() || d == 0) { 2441: throw_invalid_argument("divisor()", 2441: "*this is neither a point nor a closure point"); 2441: } 2441: return d; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Generator::epsilon_coefficient() const { 2441: ((void) 0); 2441: return expr.coefficient(Variable(expr.space_dimension() - 1)); 2441: } 2441: 2441: 2441: inline void 2441: Generator::set_epsilon_coefficient(Coefficient_traits::const_reference n) { 2441: ((void) 0); 2441: expr.set_coefficient(Variable(expr.space_dimension() - 1), n); 2441: } 2441: 2441: 2441: inline memory_size_type 2441: Generator::external_memory_in_bytes() const { 2441: return expr.external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Generator::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline void 2441: Generator::strong_normalize() { 2441: expr.normalize(); 2441: sign_normalize(); 2441: } 2441: 2441: inline const Generator& 2441: Generator::zero_dim_point() { 2441: ((void) 0); 2441: return *zero_dim_point_p; 2441: } 2441: 2441: inline const Generator& 2441: Generator::zero_dim_closure_point() { 2441: ((void) 0); 2441: return *zero_dim_closure_point_p; 2441: } 2441: 2441: 2441: inline Generator 2441: line(const Linear_Expression& e, Representation r) { 2441: return Generator::line(e, r); 2441: } 2441: 2441: 2441: inline Generator 2441: ray(const Linear_Expression& e, Representation r) { 2441: return Generator::ray(e, r); 2441: } 2441: 2441: 2441: inline Generator 2441: point(const Linear_Expression& e, Coefficient_traits::const_reference d, 2441: Representation r) { 2441: return Generator::point(e, d, r); 2441: } 2441: 2441: 2441: inline Generator 2441: point(Representation r) { 2441: return Generator::point(r); 2441: } 2441: 2441: 2441: inline Generator 2441: point(const Linear_Expression& e, Representation r) { 2441: return Generator::point(e, r); 2441: } 2441: 2441: 2441: inline Generator 2441: closure_point(const Linear_Expression& e, 2441: Coefficient_traits::const_reference d, 2441: Representation r) { 2441: return Generator::closure_point(e, d, r); 2441: } 2441: 2441: 2441: inline Generator 2441: closure_point(Representation r) { 2441: return Generator::closure_point(r); 2441: } 2441: 2441: 2441: inline Generator 2441: closure_point(const Linear_Expression& e, 2441: Representation r) { 2441: return Generator::closure_point(e, r); 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const Generator& x, const Generator& y) { 2441: return x.is_equivalent_to(y); 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Generator& x, const Generator& y) { 2441: return !x.is_equivalent_to(y); 2441: } 2441: 2441: inline void 2441: Generator::ascii_dump(std::ostream& s) const { 2441: 2441: expr.ascii_dump(s); 2441: 2441: s << " "; 2441: 2441: switch (type()) { 2441: case Generator::LINE: 2441: s << "L "; 2441: break; 2441: case Generator::RAY: 2441: s << "R "; 2441: break; 2441: case Generator::POINT: 2441: s << "P "; 2441: break; 2441: case Generator::CLOSURE_POINT: 2441: s << "C "; 2441: break; 2441: } 2441: if (is_necessarily_closed()) { 2441: s << "(C)"; 2441: } 2441: else { 2441: s << "(NNC)"; 2441: } 2441: s << "\n"; 2441: } 2441: 2441: inline bool 2441: Generator::ascii_load(std::istream& s) { 2441: std::string str; 2441: 2441: expr.ascii_load(s); 2441: 2441: if (!(s >> str)) { 2441: return false; 2441: } 2441: if (str == "L") { 2441: set_is_line(); 2441: } 2441: else if (str == "R" || str == "P" || str == "C") { 2441: set_is_ray_or_point(); 2441: } 2441: else { 2441: return false; 2441: } 2441: 2441: std::string str2; 2441: 2441: if (!(s >> str2)) { 2441: return false; 2441: } 2441: if (str2 == "(C)") { 2441: if (is_not_necessarily_closed()) { 2441: 2441: mark_as_necessarily_closed(); 2441: } 2441: } 2441: else { 2441: if (str2 == "(NNC)") { 2441: if (is_necessarily_closed()) { 2441: 2441: mark_as_not_necessarily_closed(); 2441: } 2441: } 2441: else { 2441: return false; 2441: } 2441: } 2441: 2441: 2441: switch (type()) { 2441: case Generator::LINE: 2441: if (str != "L") { 2441: return false; 2441: } 2441: break; 2441: case Generator::RAY: 2441: if (str != "R") { 2441: return false; 2441: } 2441: break; 2441: case Generator::POINT: 2441: if (str != "P") { 2441: return false; 2441: } 2441: break; 2441: case Generator::CLOSURE_POINT: 2441: if (str != "C") { 2441: return false; 2441: } 2441: break; 2441: } 2441: 2441: return true; 2441: } 2441: 2441: inline void 2441: Generator::m_swap(Generator& y) { 2441: using std::swap; 2441: swap(expr, y.expr); 2441: swap(kind_, y.kind_); 2441: swap(topology_, y.topology_); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: l_m_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: 2441: 2441: if (x.is_line_or_ray() || y.is_line_or_ray()) { 2441: return false; 2441: } 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: return false; 2441: } 2441: 2441: 2441: if (x_space_dim == 0) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: return true; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_x_coord; mpq_class& x_coord = holder_x_coord.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_y_coord; mpq_class& y_coord = holder_y_coord.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_x_div; mpq_class& x_div = holder_x_div.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_y_div; mpq_class& y_div = holder_y_div.item(); 2441: assign_r(x_div, x.divisor(), ROUND_NOT_NEEDED); 2441: assign_r(y_div, y.divisor(), ROUND_NOT_NEEDED); 2441: 2441: assign_r(tmp0, 0, ROUND_NOT_NEEDED); 2441: 2441: for (dimension_type i = x_space_dim; i-- > 0; ) { 2441: assign_r(x_coord, x.coefficient(Variable(i)), ROUND_NOT_NEEDED); 2441: div_assign_r(x_coord, x_coord, x_div, ROUND_NOT_NEEDED); 2441: assign_r(y_coord, y.coefficient(Variable(i)), ROUND_NOT_NEEDED); 2441: div_assign_r(y_coord, y_coord, y_div, ROUND_NOT_NEEDED); 2441: const Temp* tmp1p; 2441: const Temp* tmp2p; 2441: 2441: if (x_coord > y_coord) { 2441: maybe_assign(tmp1p, tmp1, x_coord, dir); 2441: maybe_assign(tmp2p, tmp2, y_coord, inverse(dir)); 2441: } 2441: else { 2441: maybe_assign(tmp1p, tmp1, y_coord, dir); 2441: maybe_assign(tmp2p, tmp2, x_coord, inverse(dir)); 2441: } 2441: sub_assign_r(tmp1, *tmp1p, *tmp2p, dir); 2441: ((void) 0); 2441: Specialization::combine(tmp0, tmp1, dir); 2441: } 2441: Specialization::finalize(tmp0, dir); 2441: assign_r(r, tmp0, dir); 2441: return true; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return l_m_distance_assign > 2441: (r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir) { 2441: return rectilinear_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return l_m_distance_assign > 2441: (r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir) { 2441: return euclidean_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return l_m_distance_assign > 2441: (r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Generator& x, 2441: const Generator& y, 2441: const Rounding_Dir dir) { 2441: return l_infinity_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: inline void 2441: swap(Generator& x, Generator& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 1032 "../../src/Generator_defs.hh" 2 2441: # 32 "../../src/Linear_Expression_Impl_templates.hh" 2 2441: # 1 "../../src/Grid_Generator_defs.hh" 1 2441: # 43 "../../src/Grid_Generator_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 84 "../../src/Grid_Generator_defs.hh" 2441: int compare(const Grid_Generator& x, const Grid_Generator& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Grid_Generator& g); 2441: 2441: } 2441: 2441: 2441: 2441: void swap(Grid_Generator& x, Grid_Generator& y); 2441: 2441: } 2441: # 271 "../../src/Grid_Generator_defs.hh" 2441: class Parma_Polyhedra_Library::Grid_Generator { 2441: public: 2441: 2441: 2441: enum Kind { 2441: LINE_OR_EQUALITY = 0, 2441: RAY_OR_POINT_OR_INEQUALITY = 1 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static Grid_Generator grid_line(const Linear_Expression& e, 2441: Representation r = default_representation); 2441: # 306 "../../src/Grid_Generator_defs.hh" 2441: static Grid_Generator parameter(const Linear_Expression& e 2441: = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d 2441: = Coefficient_one(), 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: static Grid_Generator parameter(Representation r); 2441: 2441: 2441: static Grid_Generator parameter(const Linear_Expression& e, 2441: Representation r); 2441: # 328 "../../src/Grid_Generator_defs.hh" 2441: static Grid_Generator grid_point(const Linear_Expression& e 2441: = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d 2441: = Coefficient_one(), 2441: Representation r = default_representation); 2441: 2441: 2441: static Grid_Generator grid_point(Representation r); 2441: 2441: 2441: static Grid_Generator grid_point(const Linear_Expression& e, 2441: Representation r); 2441: 2441: 2441: explicit Grid_Generator(Representation r = default_representation); 2441: 2441: 2441: 2441: Grid_Generator(const Grid_Generator& g); 2441: 2441: 2441: Grid_Generator(const Grid_Generator& g, Representation r); 2441: 2441: 2441: 2441: Grid_Generator(const Grid_Generator& g, dimension_type space_dim); 2441: 2441: 2441: Grid_Generator(const Grid_Generator& g, dimension_type space_dim, 2441: Representation r); 2441: 2441: 2441: ~Grid_Generator(); 2441: 2441: 2441: Grid_Generator& operator=(const Grid_Generator& g); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: void set_space_dimension(dimension_type space_dim); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: # 393 "../../src/Grid_Generator_defs.hh" 2441: bool remove_space_dimensions(const Variables_Set& vars); 2441: # 407 "../../src/Grid_Generator_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: 2441: 2441: enum Type { 2441: 2441: LINE, 2441: 2441: PARAMETER, 2441: 2441: POINT 2441: }; 2441: 2441: 2441: Type type() const; 2441: 2441: 2441: bool is_line() const; 2441: 2441: 2441: bool is_parameter() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_line_or_parameter() const; 2441: 2441: 2441: bool is_point() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_parameter_or_point() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference divisor() const; 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: static const Grid_Generator& zero_dim_point(); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_equivalent_to(const Grid_Generator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_equal_to(const Grid_Generator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool all_homogeneous_terms_are_zero() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: void m_swap(Grid_Generator& y); 2441: # 524 "../../src/Grid_Generator_defs.hh" 2441: void scale_to_divisor(Coefficient_traits::const_reference d); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_divisor(Coefficient_traits::const_reference d); 2441: 2441: 2441: typedef Expression_Hide_Last > 2441: expr_type; 2441: 2441: expr_type expression() const; 2441: 2441: private: 2441: Linear_Expression expr; 2441: 2441: Kind kind_; 2441: 2441: 2441: 2441: 2441: 2441: static const Grid_Generator* zero_dim_point_p; 2441: 2441: 2441: 2441: Grid_Generator(dimension_type space_dim, Kind kind, Topology topology, 2441: Representation r = default_representation); 2441: # 565 "../../src/Grid_Generator_defs.hh" 2441: Grid_Generator(Linear_Expression& e, Type t); 2441: # 574 "../../src/Grid_Generator_defs.hh" 2441: void set_space_dimension_no_ok(dimension_type space_dim); 2441: 2441: 2441: 2441: 2441: 2441: bool is_equal_at_dimension(dimension_type dim, 2441: const Grid_Generator& gg) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void fancy_print(std::ostream& s) const; 2441: 2441: 2441: void set_is_parameter(); 2441: 2441: 2441: void set_is_line(); 2441: 2441: 2441: void set_is_parameter_or_point(); 2441: 2441: 2441: 2441: 2441: Topology topology() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_not_necessarily_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_line_or_equality() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_ray_or_point_or_inequality() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_topology(Topology x); 2441: 2441: 2441: void set_necessarily_closed(); 2441: 2441: 2441: void set_not_necessarily_closed(); 2441: 2441: 2441: void set_is_line_or_equality(); 2441: 2441: 2441: void set_is_ray_or_point_or_inequality(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void sign_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void strong_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: bool check_strong_normalized() const; 2441: # 680 "../../src/Grid_Generator_defs.hh" 2441: void linear_combine(const Grid_Generator& y, dimension_type i); 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_dimension_incompatible(const char* method, 2441: const char* name_var, 2441: const Variable v) const; 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_invalid_argument(const char* method, const char* reason) const; 2441: 2441: friend std::ostream& 2441: IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g); 2441: 2441: friend int 2441: compare(const Grid_Generator& x, const Grid_Generator& y); 2441: 2441: friend class Expression_Adapter; 2441: friend class Grid_Generator_System; 2441: friend class Grid; 2441: friend class Linear_System; 2441: friend class Scalar_Products; 2441: friend class Topology_Adjusted_Scalar_Product_Sign; 2441: }; 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Grid_Generator 2441: grid_line(const Linear_Expression& e, 2441: Representation r = Grid_Generator::default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Grid_Generator 2441: parameter(const Linear_Expression& e = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d = Coefficient_one(), 2441: Representation r = Grid_Generator::default_representation); 2441: 2441: 2441: 2441: Grid_Generator 2441: parameter(Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Grid_Generator 2441: parameter(const Linear_Expression& e, Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Grid_Generator 2441: grid_point(const Linear_Expression& e = Linear_Expression::zero(), 2441: Coefficient_traits::const_reference d = Coefficient_one(), 2441: Representation r = Grid_Generator::default_representation); 2441: 2441: 2441: 2441: Grid_Generator 2441: grid_point(Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Grid_Generator 2441: grid_point(const Linear_Expression& e, Representation r); 2441: 2441: 2441: 2441: bool operator==(const Grid_Generator& x, const Grid_Generator& y); 2441: 2441: 2441: 2441: bool operator!=(const Grid_Generator& x, const Grid_Generator& y); 2441: 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Grid_Generator::Type& t); 2441: 2441: } 2441: 2441: } 2441: 2441: # 1 "../../src/Grid_Generator_inlines.hh" 1 2441: # 27 "../../src/Grid_Generator_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline bool 2441: Grid_Generator::is_necessarily_closed() const { 2441: return true; 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_not_necessarily_closed() const { 2441: return false; 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_line_or_equality() const { 2441: return (kind_ == LINE_OR_EQUALITY); 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_ray_or_point_or_inequality() const { 2441: return (kind_ == RAY_OR_POINT_OR_INEQUALITY); 2441: } 2441: 2441: inline Topology 2441: Grid_Generator::topology() const { 2441: return NECESSARILY_CLOSED; 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_is_line_or_equality() { 2441: kind_ = LINE_OR_EQUALITY; 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_is_ray_or_point_or_inequality() { 2441: kind_ = RAY_OR_POINT_OR_INEQUALITY; 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_topology(Topology x) { 2441: (void)(x); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_necessarily_closed() { 2441: set_topology(NECESSARILY_CLOSED); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_not_necessarily_closed() { 2441: set_topology(NOT_NECESSARILY_CLOSED); 2441: } 2441: 2441: inline 2441: Grid_Generator::Grid_Generator(Linear_Expression& e, Type type) { 2441: swap(expr, e); 2441: if (type == LINE) { 2441: kind_ = LINE_OR_EQUALITY; 2441: } 2441: else { 2441: kind_ = RAY_OR_POINT_OR_INEQUALITY; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid_Generator::Grid_Generator(Representation r) 2441: : expr(Coefficient_one(), r), 2441: kind_(RAY_OR_POINT_OR_INEQUALITY) { 2441: expr.set_space_dimension(1); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid_Generator::Grid_Generator(const Grid_Generator& g) 2441: : expr(g.expr), 2441: kind_(g.kind_) { 2441: } 2441: 2441: inline 2441: Grid_Generator::Grid_Generator(const Grid_Generator& g, Representation r) 2441: : expr(g.expr, r), 2441: kind_(g.kind_) { 2441: } 2441: 2441: inline 2441: Grid_Generator::Grid_Generator(dimension_type space_dim, Kind kind, 2441: Topology topology, Representation r) 2441: : expr(r), 2441: kind_(kind) { 2441: (void)(topology); 2441: ((void) 0); 2441: expr.set_space_dimension(space_dim + 1); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid_Generator::Grid_Generator(const Grid_Generator& g, 2441: dimension_type space_dim) 2441: : expr(g.expr, space_dim + 1), 2441: kind_(g.kind_) { 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid_Generator::Grid_Generator(const Grid_Generator& g, 2441: dimension_type space_dim, Representation r) 2441: : expr(g.expr, space_dim + 1, r), 2441: kind_(g.kind_) { 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid_Generator::~Grid_Generator() { 2441: } 2441: 2441: inline Grid_Generator::expr_type 2441: Grid_Generator::expression() const { 2441: return expr_type(expr, true); 2441: } 2441: 2441: inline Representation 2441: Grid_Generator::representation() const { 2441: return expr.representation(); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_representation(Representation r) { 2441: expr.set_representation(r); 2441: } 2441: 2441: inline dimension_type 2441: Grid_Generator::max_space_dimension() { 2441: return Linear_Expression::max_space_dimension() - 1; 2441: } 2441: 2441: inline dimension_type 2441: Grid_Generator::space_dimension() const { 2441: return expression().space_dimension(); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_space_dimension(dimension_type space_dim) { 2441: const dimension_type old_space_dim = space_dimension(); 2441: if (space_dim > old_space_dim) { 2441: expr.set_space_dimension(space_dim + 1); 2441: expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim)); 2441: } 2441: else { 2441: expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim)); 2441: expr.set_space_dimension(space_dim + 1); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_space_dimension_no_ok(dimension_type space_dim) { 2441: set_space_dimension(space_dim); 2441: } 2441: 2441: inline void 2441: Grid_Generator::shift_space_dimensions(Variable v, dimension_type n) { 2441: expr.shift_space_dimensions(v, n); 2441: } 2441: 2441: inline Grid_Generator::Type 2441: Grid_Generator::type() const { 2441: if (is_line()) { 2441: return LINE; 2441: } 2441: return is_point() ? POINT : PARAMETER; 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_line() const { 2441: return is_line_or_equality(); 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_parameter() const { 2441: return is_parameter_or_point() && is_line_or_parameter(); 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_line_or_parameter() const { 2441: return expr.inhomogeneous_term() == 0; 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_point() const { 2441: return !is_line_or_parameter(); 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_parameter_or_point() const { 2441: return is_ray_or_point_or_inequality(); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_divisor(Coefficient_traits::const_reference d) { 2441: ((void) 0); 2441: if (is_line_or_parameter()) { 2441: expr.set_coefficient(Variable(space_dimension()), d); 2441: } 2441: else { 2441: expr.set_inhomogeneous_term(d); 2441: } 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Grid_Generator::divisor() const { 2441: if (is_line()) { 2441: throw_invalid_argument("divisor()", "*this is a line"); 2441: } 2441: if (is_line_or_parameter()) { 2441: return expr.coefficient(Variable(space_dimension())); 2441: } 2441: else { 2441: return expr.inhomogeneous_term(); 2441: } 2441: } 2441: 2441: inline bool 2441: Grid_Generator::is_equal_at_dimension(dimension_type dim, 2441: const Grid_Generator& y) const { 2441: const Grid_Generator& x = *this; 2441: return x.expr.get(dim) * y.divisor() == y.expr.get(dim) * x.divisor(); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_is_line() { 2441: set_is_line_or_equality(); 2441: } 2441: 2441: inline void 2441: Grid_Generator::set_is_parameter_or_point() { 2441: set_is_ray_or_point_or_inequality(); 2441: } 2441: 2441: inline Grid_Generator& 2441: Grid_Generator::operator=(const Grid_Generator& g) { 2441: Grid_Generator tmp = g; 2441: swap(*this, tmp); 2441: 2441: return *this; 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Grid_Generator::coefficient(const Variable v) const { 2441: if (v.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("coefficient(v)", "v", v); 2441: } 2441: return expr.coefficient(v); 2441: } 2441: 2441: inline memory_size_type 2441: Grid_Generator::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Grid_Generator::external_memory_in_bytes() const { 2441: return expr.external_memory_in_bytes(); 2441: } 2441: 2441: inline const Grid_Generator& 2441: Grid_Generator::zero_dim_point() { 2441: ((void) 0); 2441: return *zero_dim_point_p; 2441: } 2441: 2441: inline void 2441: Grid_Generator::strong_normalize() { 2441: ((void) 0); 2441: expr.normalize(); 2441: sign_normalize(); 2441: } 2441: 2441: inline void 2441: Grid_Generator::m_swap(Grid_Generator& y) { 2441: using std::swap; 2441: swap(expr, y.expr); 2441: swap(kind_, y.kind_); 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const Grid_Generator& x, const Grid_Generator& y) { 2441: return x.is_equivalent_to(y); 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Grid_Generator& x, const Grid_Generator& y) { 2441: return !(x == y); 2441: } 2441: 2441: 2441: inline Grid_Generator 2441: grid_line(const Linear_Expression& e, Representation r) { 2441: return Grid_Generator::grid_line(e, r); 2441: } 2441: 2441: 2441: inline Grid_Generator 2441: parameter(const Linear_Expression& e, 2441: Coefficient_traits::const_reference d, Representation r) { 2441: return Grid_Generator::parameter(e, d, r); 2441: } 2441: 2441: 2441: inline Grid_Generator 2441: parameter(Representation r) { 2441: return Grid_Generator::parameter(r); 2441: } 2441: 2441: 2441: inline Grid_Generator 2441: parameter(const Linear_Expression& e, Representation r) { 2441: return Grid_Generator::parameter(e, r); 2441: } 2441: 2441: 2441: inline Grid_Generator 2441: grid_point(const Linear_Expression& e, 2441: Coefficient_traits::const_reference d, Representation r) { 2441: return Grid_Generator::grid_point(e, d, r); 2441: } 2441: 2441: 2441: inline Grid_Generator 2441: grid_point(Representation r) { 2441: return Grid_Generator::grid_point(r); 2441: } 2441: 2441: 2441: inline Grid_Generator 2441: grid_point(const Linear_Expression& e, Representation r) { 2441: return Grid_Generator::grid_point(e, r); 2441: } 2441: 2441: 2441: inline void 2441: swap(Grid_Generator& x, Grid_Generator& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 795 "../../src/Grid_Generator_defs.hh" 2 2441: # 33 "../../src/Linear_Expression_Impl_templates.hh" 2 2441: # 1 "../../src/Congruence_defs.hh" 1 2441: # 42 "../../src/Congruence_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: bool 2441: operator==(const Congruence& x, const Congruence& y); 2441: 2441: 2441: 2441: bool 2441: operator!=(const Congruence& x, const Congruence& y); 2441: 2441: } 2441: # 161 "../../src/Congruence_defs.hh" 2441: class Parma_Polyhedra_Library::Congruence { 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: explicit Congruence(Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Congruence(const Congruence& cg); 2441: 2441: 2441: Congruence(const Congruence& cg, Representation r); 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit Congruence(const Constraint& c, 2441: Representation r = default_representation); 2441: 2441: 2441: ~Congruence(); 2441: 2441: 2441: Congruence& operator=(const Congruence& y); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: void permute_space_dimensions(const std::vector& cycles); 2441: 2441: 2441: typedef Expression_Adapter_Transparent expr_type; 2441: 2441: expr_type expression() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Coefficient_traits::const_reference coefficient(Variable v) const; 2441: 2441: 2441: Coefficient_traits::const_reference inhomogeneous_term() const; 2441: 2441: 2441: Coefficient_traits::const_reference modulus() const; 2441: 2441: 2441: 2441: void set_modulus(Coefficient_traits::const_reference m); 2441: 2441: 2441: void scale(Coefficient_traits::const_reference factor); 2441: 2441: 2441: void affine_preimage(Variable v, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Congruence& 2441: operator/=(Coefficient_traits::const_reference k); 2441: # 261 "../../src/Congruence_defs.hh" 2441: bool is_tautological() const; 2441: # 273 "../../src/Congruence_defs.hh" 2441: bool is_inconsistent() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_proper_congruence() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_equality() const; 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Congruence& zero_dim_integrality(); 2441: 2441: 2441: 2441: 2441: 2441: static const Congruence& zero_dim_false(); 2441: 2441: 2441: static Congruence 2441: create(const Linear_Expression& e1, const Linear_Expression& e2, 2441: Representation r = default_representation); 2441: 2441: 2441: static Congruence 2441: create(const Linear_Expression& e, Coefficient_traits::const_reference n, 2441: Representation r = default_representation); 2441: 2441: 2441: static Congruence 2441: create(Coefficient_traits::const_reference n, const Linear_Expression& e, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: void m_swap(Congruence& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Congruence(const Congruence& cg, dimension_type new_space_dimension); 2441: 2441: 2441: Congruence(const Congruence& cg, dimension_type new_space_dimension, 2441: Representation r); 2441: 2441: 2441: 2441: Congruence(const Constraint& cg, dimension_type new_space_dimension, 2441: Representation r = default_representation); 2441: # 374 "../../src/Congruence_defs.hh" 2441: Congruence(Linear_Expression& le, 2441: Coefficient_traits::const_reference m, Recycle_Input); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: 2441: 2441: 2441: void set_space_dimension(dimension_type n); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void sign_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void normalize(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void strong_normalize(); 2441: 2441: private: 2441: 2441: 2441: 2441: 2441: static const Congruence* zero_dim_false_p; 2441: 2441: 2441: 2441: 2441: 2441: 2441: static const Congruence* zero_dim_integrality_p; 2441: 2441: Linear_Expression expr; 2441: 2441: Coefficient modulus_; 2441: 2441: 2441: 2441: 2441: 2441: bool is_equal_at_dimension(Variable v, 2441: const Congruence& cg) const; 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_invalid_argument(const char* method, const char* message) const; 2441: 2441: 2441: 2441: 2441: 2441: void 2441: throw_dimension_incompatible(const char* method, 2441: const char* v_name, 2441: Variable v) const; 2441: 2441: friend bool 2441: operator==(const Congruence& x, const Congruence& y); 2441: 2441: friend bool 2441: operator!=(const Congruence& x, const Congruence& y); 2441: 2441: friend class Scalar_Products; 2441: friend class Grid; 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: std::ostream& 2441: operator<<(std::ostream& s, const Congruence& c); 2441: 2441: } 2441: 2441: 2441: 2441: Congruence 2441: operator%=(const Linear_Expression& e1, const Linear_Expression& e2); 2441: 2441: 2441: 2441: Congruence 2441: operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n); 2441: # 490 "../../src/Congruence_defs.hh" 2441: Congruence 2441: operator/(const Congruence& cg, Coefficient_traits::const_reference k); 2441: 2441: 2441: 2441: Congruence 2441: operator/(const Constraint& c, Coefficient_traits::const_reference m); 2441: 2441: 2441: void 2441: swap(Congruence& x, Congruence& y); 2441: 2441: } 2441: 2441: # 1 "../../src/Congruence_inlines.hh" 1 2441: # 29 "../../src/Congruence_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Congruence::Congruence(Representation r) 2441: : expr(r) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Congruence::Congruence(const Congruence& cg) 2441: : expr(cg.expr), modulus_(cg.modulus_) { 2441: } 2441: 2441: inline 2441: Congruence::Congruence(const Congruence& cg, Representation r) 2441: : expr(cg.expr, r), modulus_(cg.modulus_) { 2441: } 2441: 2441: inline 2441: Congruence::Congruence(const Congruence& cg, 2441: dimension_type new_space_dimension) 2441: : expr(cg.expr, new_space_dimension), modulus_(cg.modulus_) { 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Congruence::Congruence(const Congruence& cg, 2441: dimension_type new_space_dimension, 2441: Representation r) 2441: : expr(cg.expr, new_space_dimension, r), modulus_(cg.modulus_) { 2441: ((void) 0); 2441: } 2441: 2441: inline Representation 2441: Congruence::representation() const { 2441: return expr.representation(); 2441: } 2441: 2441: inline void 2441: Congruence::set_representation(Representation r) { 2441: expr.set_representation(r); 2441: } 2441: 2441: inline Congruence::expr_type 2441: Congruence::expression() const { 2441: return expr_type(expr); 2441: } 2441: 2441: inline void 2441: Congruence::set_space_dimension(dimension_type n) { 2441: expr.set_space_dimension(n); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Congruence::shift_space_dimensions(Variable v, dimension_type n) { 2441: expr.shift_space_dimensions(v, n); 2441: } 2441: 2441: inline 2441: Congruence::~Congruence() { 2441: } 2441: 2441: inline 2441: Congruence::Congruence(Linear_Expression& le, 2441: Coefficient_traits::const_reference m, 2441: Recycle_Input) 2441: : modulus_(m) { 2441: ((void) 0); 2441: swap(expr, le); 2441: 2441: ((void) 0); 2441: } 2441: 2441: inline Congruence 2441: Congruence::create(const Linear_Expression& e, 2441: Coefficient_traits::const_reference n, 2441: Representation r) { 2441: Linear_Expression diff(e, r); 2441: diff -= n; 2441: const Congruence cg(diff, 1, Recycle_Input()); 2441: return cg; 2441: } 2441: 2441: inline Congruence 2441: Congruence::create(Coefficient_traits::const_reference n, 2441: const Linear_Expression& e, 2441: Representation r) { 2441: Linear_Expression diff(e, r); 2441: diff -= n; 2441: const Congruence cg(diff, 1, Recycle_Input()); 2441: return cg; 2441: } 2441: 2441: 2441: inline Congruence 2441: operator%=(const Linear_Expression& e1, const Linear_Expression& e2) { 2441: return Congruence::create(e1, e2); 2441: } 2441: 2441: 2441: inline Congruence 2441: operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) { 2441: return Congruence::create(e, n); 2441: } 2441: 2441: 2441: inline Congruence 2441: operator/(const Congruence& cg, Coefficient_traits::const_reference k) { 2441: Congruence ret = cg; 2441: ret /= k; 2441: return ret; 2441: } 2441: 2441: inline const Congruence& 2441: Congruence::zero_dim_integrality() { 2441: return *zero_dim_integrality_p; 2441: } 2441: 2441: inline const Congruence& 2441: Congruence::zero_dim_false() { 2441: return *zero_dim_false_p; 2441: } 2441: 2441: inline Congruence& 2441: Congruence::operator=(const Congruence& y) { 2441: Congruence tmp = y; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: 2441: inline Congruence 2441: operator/(const Constraint& c, Coefficient_traits::const_reference m) { 2441: Congruence ret(c); 2441: ret /= m; 2441: return ret; 2441: } 2441: 2441: inline Congruence& 2441: Congruence::operator/=(Coefficient_traits::const_reference k) { 2441: if (k >= 0) { 2441: modulus_ *= k; 2441: } 2441: else { 2441: modulus_ *= -k; 2441: } 2441: return *this; 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const Congruence& x, const Congruence& y) { 2441: if (x.space_dimension() != y.space_dimension()) { 2441: return false; 2441: } 2441: Congruence x_temp(x); 2441: Congruence y_temp(y); 2441: x_temp.strong_normalize(); 2441: y_temp.strong_normalize(); 2441: return x_temp.expr.is_equal_to(y_temp.expr) 2441: && x_temp.modulus() == y_temp.modulus(); 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Congruence& x, const Congruence& y) { 2441: return !(x == y); 2441: } 2441: 2441: inline dimension_type 2441: Congruence::max_space_dimension() { 2441: return Linear_Expression::max_space_dimension(); 2441: } 2441: 2441: inline dimension_type 2441: Congruence::space_dimension() const { 2441: return expr.space_dimension(); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Congruence::coefficient(const Variable v) const { 2441: if (v.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("coefficient(v)", "v", v); 2441: } 2441: return expr.coefficient(v); 2441: } 2441: 2441: inline void 2441: Congruence::permute_space_dimensions(const std::vector& cycles) { 2441: expr.permute_space_dimensions(cycles); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Congruence::inhomogeneous_term() const { 2441: return expr.inhomogeneous_term(); 2441: } 2441: 2441: inline Coefficient_traits::const_reference 2441: Congruence::modulus() const { 2441: return modulus_; 2441: } 2441: 2441: inline void 2441: Congruence::set_modulus(Coefficient_traits::const_reference m) { 2441: modulus_ = m; 2441: ((void) 0); 2441: } 2441: 2441: inline bool 2441: Congruence::is_proper_congruence() const { 2441: return modulus() > 0; 2441: } 2441: 2441: inline bool 2441: Congruence::is_equality() const { 2441: return modulus() == 0; 2441: } 2441: 2441: inline bool 2441: Congruence::is_equal_at_dimension(Variable v, 2441: const Congruence& cg) const { 2441: return coefficient(v) * cg.modulus() == cg.coefficient(v) * modulus(); 2441: } 2441: 2441: inline memory_size_type 2441: Congruence::external_memory_in_bytes() const { 2441: return expr.external_memory_in_bytes() 2441: + Parma_Polyhedra_Library::external_memory_in_bytes(modulus_); 2441: } 2441: 2441: inline memory_size_type 2441: Congruence::total_memory_in_bytes() const { 2441: return external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: inline void 2441: Congruence::m_swap(Congruence& y) { 2441: using std::swap; 2441: swap(expr, y.expr); 2441: swap(modulus_, y.modulus_); 2441: } 2441: 2441: inline void 2441: Congruence::swap_space_dimensions(Variable v1, Variable v2) { 2441: expr.swap_space_dimensions(v1, v2); 2441: } 2441: 2441: 2441: inline void 2441: swap(Congruence& x, Congruence& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 505 "../../src/Congruence_defs.hh" 2 2441: # 34 "../../src/Linear_Expression_Impl_templates.hh" 2 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Linear_Expression_Impl 2441: ::Linear_Expression_Impl(const Linear_Expression_Impl& e) { 2441: construct(e); 2441: } 2441: 2441: template 2441: template 2441: Linear_Expression_Impl 2441: ::Linear_Expression_Impl(const Linear_Expression_Impl& e) { 2441: construct(e); 2441: } 2441: 2441: template 2441: Linear_Expression_Impl 2441: ::Linear_Expression_Impl(const Linear_Expression_Interface& e) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&e)) { 2441: construct(*p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&e)) { 2441: construct(*p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: Linear_Expression_Impl 2441: ::Linear_Expression_Impl(const Linear_Expression_Interface& e, 2441: dimension_type space_dim) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&e)) { 2441: construct(*p, space_dim); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&e)) { 2441: construct(*p, space_dim); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Impl& y, Variable i) { 2441: ((void) 0); 2441: ((void) 0); 2441: linear_combine(y, i.space_dimension()); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Impl& y, dimension_type i) { 2441: const Linear_Expression_Impl& x = *this; 2441: ((void) 0); 2441: ((void) 0); 2441: Coefficient_traits::const_reference x_i = x.row.get(i); 2441: Coefficient_traits::const_reference y_i = y.row.get(i); 2441: ((void) 0); 2441: ((void) 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_normalized_x_v; Parma_Polyhedra_Library::Coefficient& normalized_x_v = holder_normalized_x_v.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_normalized_y_v; Parma_Polyhedra_Library::Coefficient& normalized_y_v = holder_normalized_y_v.item(); 2441: normalize2(x_i, y_i, normalized_x_v, normalized_y_v); 2441: neg_assign(normalized_x_v); 2441: linear_combine(y, normalized_y_v, normalized_x_v); 2441: 2441: 2441: 2441: # 116 "../../src/Linear_Expression_Impl_templates.hh" 3 4 2441: (static_cast (0)) 2441: # 116 "../../src/Linear_Expression_Impl_templates.hh" 2441: ; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) { 2441: ((void) 0); 2441: ((void) 0); 2441: if (space_dimension() < y.space_dimension()) { 2441: set_space_dimension(y.space_dimension()); 2441: } 2441: linear_combine(y, c1, c2, 0, y.space_dimension() + 1); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine_lax(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) { 2441: if (space_dimension() < y.space_dimension()) { 2441: set_space_dimension(y.space_dimension()); 2441: } 2441: linear_combine_lax(y, c1, c2, 0, y.space_dimension() + 1); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: int 2441: Linear_Expression_Impl 2441: ::compare(const Linear_Expression_Impl& y) const { 2441: const Linear_Expression_Impl& x = *this; 2441: 2441: 2441: typename Row::const_iterator i = x.row.lower_bound(1); 2441: typename Row::const_iterator i_end = x.row.end(); 2441: typename Row2::const_iterator j = y.row.lower_bound(1); 2441: typename Row2::const_iterator j_end = y.row.end(); 2441: while (i != i_end && j != j_end) { 2441: if (i.index() < j.index()) { 2441: const int s = sgn(*i); 2441: if (s != 0) { 2441: return 2*s; 2441: } 2441: ++i; 2441: continue; 2441: } 2441: if (i.index() > j.index()) { 2441: const int s = sgn(*j); 2441: if (s != 0) { 2441: return -2*s; 2441: } 2441: ++j; 2441: continue; 2441: } 2441: ((void) 0); 2441: const int s = cmp(*i, *j); 2441: if (s < 0) { 2441: return -2; 2441: } 2441: if (s > 0) { 2441: return 2; 2441: } 2441: ((void) 0); 2441: ++i; 2441: ++j; 2441: } 2441: for ( ; i != i_end; ++i) { 2441: const int s = sgn(*i); 2441: if (s != 0) { 2441: return 2*s; 2441: } 2441: } 2441: for ( ; j != j_end; ++j) { 2441: const int s = sgn(*j); 2441: if (s != 0) { 2441: return -2*s; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: const int comp = cmp(x.row.get(0), y.row.get(0)); 2441: if (comp > 0) { 2441: return 1; 2441: } 2441: if (comp < 0) { 2441: return -1; 2441: } 2441: ((void) 0); 2441: 2441: 2441: return 0; 2441: } 2441: 2441: template 2441: Linear_Expression_Impl::Linear_Expression_Impl(const Variable v) { 2441: if (v.space_dimension() > max_space_dimension()) { 2441: throw std::length_error("Linear_Expression_Impl::" 2441: "Linear_Expression_Impl(v):\n" 2441: "v exceeds the maximum allowed " 2441: "space dimension."); 2441: } 2441: set_space_dimension(v.space_dimension()); 2441: (*this) += v; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: bool 2441: Linear_Expression_Impl 2441: ::is_equal_to(const Linear_Expression_Impl& x) const { 2441: return row == x.row; 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::get_row(Dense_Row& r) const { 2441: r = this->row; 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::get_row(Sparse_Row& r) const { 2441: r = this->row; 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::permute_space_dimensions(const std::vector& cycle) { 2441: const dimension_type n = cycle.size(); 2441: if (n < 2) { 2441: return; 2441: } 2441: 2441: if (n == 2) { 2441: row.swap_coefficients(cycle[0].space_dimension(), 2441: cycle[1].space_dimension()); 2441: } 2441: else { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; Parma_Polyhedra_Library::Coefficient& tmp = holder_tmp.item(); 2441: tmp = row.get(cycle.back().space_dimension()); 2441: for (dimension_type i = n - 1; i-- > 0; ) { 2441: row.swap_coefficients(cycle[i + 1].space_dimension(), 2441: cycle[i].space_dimension()); 2441: } 2441: if (tmp == 0) { 2441: row.reset(cycle[0].space_dimension()); 2441: } 2441: else { 2441: using std::swap; 2441: swap(tmp, row[cycle[0].space_dimension()]); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator+=(const Linear_Expression_Impl& e) { 2441: linear_combine(e, Coefficient_one(), Coefficient_one()); 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator+=(const Variable v) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Expression_Impl::max_space_dimension()) { 2441: throw std::length_error("Linear_Expression_Impl& " 2441: "operator+=(e, v):\n" 2441: "v exceeds the maximum allowed space dimension."); 2441: } 2441: if (space_dimension() < v_space_dim) { 2441: set_space_dimension(v_space_dim); 2441: } 2441: typename Row::iterator itr = row.insert(v_space_dim); 2441: ++(*itr); 2441: if (*itr == 0) { 2441: row.reset(itr); 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator-=(const Linear_Expression_Impl& e2) { 2441: linear_combine(e2, Coefficient_one(), -1); 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator-=(const Variable v) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Expression_Impl::max_space_dimension()) { 2441: throw std::length_error("Linear_Expression_Impl& " 2441: "operator-=(e, v):\n" 2441: "v exceeds the maximum allowed space dimension."); 2441: } 2441: if (space_dimension() < v_space_dim) { 2441: set_space_dimension(v_space_dim); 2441: } 2441: typename Row::iterator itr = row.insert(v_space_dim); 2441: --(*itr); 2441: if (*itr == 0) { 2441: row.reset(itr); 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator*=(Coefficient_traits::const_reference n) { 2441: if (n == 0) { 2441: row.clear(); 2441: ((void) 0); 2441: return *this; 2441: } 2441: for (typename Row::iterator i = row.begin(), 2441: i_end = row.end(); i != i_end; ++i) { 2441: (*i) *= n; 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl::operator/=(Coefficient_traits::const_reference n) { 2441: typename Row::iterator i = row.begin(); 2441: const typename Row::iterator& i_end = row.end(); 2441: while (i != i_end) { 2441: (*i) /= n; 2441: if (*i == 0) { 2441: i = row.reset(i); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::negate() { 2441: for (typename Row::iterator i = row.begin(), 2441: i_end = row.end(); i != i_end; ++i) { 2441: neg_assign(*i); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl::add_mul_assign(Coefficient_traits::const_reference n, 2441: const Variable v) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Expression_Impl::max_space_dimension()) { 2441: throw std::length_error("Linear_Expression_Impl& " 2441: "add_mul_assign(e, n, v):\n" 2441: "v exceeds the maximum allowed space dimension."); 2441: } 2441: if (space_dimension() < v_space_dim) { 2441: set_space_dimension(v_space_dim); 2441: } 2441: if (n == 0) { 2441: return *this; 2441: } 2441: typename Row::iterator itr = row.insert(v_space_dim); 2441: (*itr) += n; 2441: if (*itr == 0) { 2441: row.reset(itr); 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl 2441: ::sub_mul_assign(Coefficient_traits::const_reference n, 2441: const Variable v) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Expression_Impl::max_space_dimension()) { 2441: throw std::length_error("Linear_Expression_Impl& " 2441: "sub_mul_assign(e, n, v):\n" 2441: "v exceeds the maximum allowed space dimension."); 2441: } 2441: if (space_dimension() < v_space_dim) { 2441: set_space_dimension(v_space_dim); 2441: } 2441: if (n == 0) { 2441: return *this; 2441: } 2441: typename Row::iterator itr = row.insert(v_space_dim); 2441: (*itr) -= n; 2441: if (*itr == 0) { 2441: row.reset(itr); 2441: } 2441: ((void) 0); 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::add_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Impl& y) { 2441: if (factor != 0) { 2441: linear_combine(y, Coefficient_one(), factor); 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::sub_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Impl& y) { 2441: if (factor != 0) { 2441: linear_combine(y, Coefficient_one(), -factor); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::print(std::ostream& s) const { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ev; Parma_Polyhedra_Library::Coefficient& ev = holder_ev.item(); 2441: bool first = true; 2441: for (typename Row::const_iterator i = row.lower_bound(1), i_end = row.end(); 2441: i != i_end; ++i) { 2441: ev = *i; 2441: if (ev == 0) { 2441: continue; 2441: } 2441: if (!first) { 2441: if (ev > 0) { 2441: s << " + "; 2441: } 2441: else { 2441: s << " - "; 2441: neg_assign(ev); 2441: } 2441: } 2441: else { 2441: first = false; 2441: } 2441: if (ev == -1) { 2441: s << "-"; 2441: } 2441: else if (ev != 1) { 2441: s << ev << "*"; 2441: } 2441: IO_Operators::operator<<(s, Variable(i.index() - 1)); 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_it; Parma_Polyhedra_Library::Coefficient& it = holder_it.item(); 2441: it = row[0]; 2441: if (it != 0) { 2441: if (!first) { 2441: if (it > 0) { 2441: s << " + "; 2441: } 2441: else { 2441: s << " - "; 2441: neg_assign(it); 2441: } 2441: } 2441: else { 2441: first = false; 2441: } 2441: s << it; 2441: } 2441: 2441: if (first) { 2441: 2441: s << Coefficient_zero(); 2441: } 2441: } 2441: 2441: template 2441: Coefficient_traits::const_reference 2441: Linear_Expression_Impl::get(dimension_type i) const { 2441: return row.get(i); 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::set(dimension_type i, Coefficient_traits::const_reference n) { 2441: if (n == 0) { 2441: row.reset(i); 2441: } 2441: else { 2441: row.insert(i, n); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::exact_div_assign(Coefficient_traits::const_reference c, 2441: dimension_type start, dimension_type end) { 2441: 2441: 2441: 2441: for (typename Row::iterator i = row.lower_bound(start), 2441: i_end = row.lower_bound(end); i != i_end; ++i) { 2441: Parma_Polyhedra_Library::exact_div_assign(*i, *i, c); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::mul_assign(Coefficient_traits::const_reference c, 2441: dimension_type start, dimension_type end) { 2441: if (c == 0) { 2441: typename Row::iterator i = row.lower_bound(start); 2441: const typename Row::iterator& i_end = row.end(); 2441: while (i != i_end && i.index() < end) { 2441: i = row.reset(i); 2441: } 2441: } 2441: else { 2441: for (typename Row::iterator 2441: i = row.lower_bound(start), i_end = row.lower_bound(end); 2441: i != i_end; ++i) { 2441: (*i) *= c; 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) { 2441: Parma_Polyhedra_Library::linear_combine(row, y.row, c1, c2, start, end); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine_lax(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: if (c1 == 0) { 2441: if (c2 == 0) { 2441: ((void) 0); 2441: ((void) 0); 2441: typename Row::iterator i = row.lower_bound(start); 2441: const typename Row::iterator& i_end = row.end(); 2441: while (i != i_end && i.index() < end) { 2441: i = row.reset(i); 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: typename Row::iterator i = row.lower_bound(start); 2441: const typename Row::iterator& i_end = row.end(); 2441: typename Row2::const_iterator j = y.row.lower_bound(start); 2441: typename Row2::const_iterator j_last = y.row.lower_bound(end); 2441: 2441: while (i != i_end && i.index() < end && j != j_last) { 2441: if (i.index() < j.index()) { 2441: i = row.reset(i); 2441: continue; 2441: } 2441: if (i.index() > j.index()) { 2441: i = row.insert(i, j.index(), *j); 2441: (*i) *= c2; 2441: ++i; 2441: ++j; 2441: continue; 2441: } 2441: ((void) 0); 2441: (*i) = (*j); 2441: (*i) *= c2; 2441: ++i; 2441: ++j; 2441: } 2441: while (i != i_end && i.index() < end) { 2441: i = row.reset(i); 2441: } 2441: while (j != j_last) { 2441: i = row.insert(i, j.index(), *j); 2441: (*i) *= c2; 2441: 2441: ++j; 2441: } 2441: } 2441: } 2441: else { 2441: if (c2 == 0) { 2441: ((void) 0); 2441: ((void) 0); 2441: for (typename Row::iterator i = row.lower_bound(start), 2441: i_end = row.lower_bound(end); i != i_end; ++i) { 2441: (*i) *= c1; 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: ((void) 0); 2441: Parma_Polyhedra_Library::linear_combine(row, y.row, c1, c2, start, end); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::sign_normalize() { 2441: typename Row::iterator i = row.lower_bound(1); 2441: typename Row::iterator i_end = row.end(); 2441: 2441: for ( ; i != i_end; ++i) { 2441: if (*i != 0) { 2441: break; 2441: } 2441: } 2441: 2441: if (i != i_end && *i < 0) { 2441: for ( ; i != i_end; ++i) { 2441: neg_assign(*i); 2441: } 2441: 2441: typename Row::iterator first = row.begin(); 2441: if (first != row.end() && first.index() == 0) { 2441: neg_assign(*first); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::negate(dimension_type first, dimension_type last) { 2441: ((void) 0); 2441: ((void) 0); 2441: typename Row::iterator i = row.lower_bound(first); 2441: typename Row::iterator i_end = row.lower_bound(last); 2441: for ( ; i != i_end; ++i) { 2441: neg_assign(*i); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl::construct(const Linear_Expression_Impl& e) { 2441: row = e.row; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl::construct(const Linear_Expression_Impl& e, 2441: dimension_type space_dim) { 2441: Row x(e.row, space_dim + 1, space_dim + 1); 2441: swap(row, x); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::scalar_product_assign(Coefficient& result, 2441: const Linear_Expression_Impl& y, 2441: dimension_type start, dimension_type end) const { 2441: const Linear_Expression_Impl& x = *this; 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: result = 0; 2441: typename Row ::const_iterator x_i = x.row.lower_bound(start); 2441: typename Row ::const_iterator x_end = x.row.lower_bound(end); 2441: typename Row2::const_iterator y_i = y.row.lower_bound(start); 2441: typename Row2::const_iterator y_end = y.row.lower_bound(end); 2441: while (x_i != x_end && y_i != y_end) { 2441: if (x_i.index() == y_i.index()) { 2441: Parma_Polyhedra_Library::add_mul_assign(result, *x_i, *y_i); 2441: ++x_i; 2441: ++y_i; 2441: } 2441: else { 2441: if (x_i.index() < y_i.index()) { 2441: ((void) 0); 2441: 2441: ++x_i; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: ++y_i; 2441: } 2441: } 2441: } 2441: 2441: 2441: } 2441: 2441: template 2441: template 2441: int 2441: Linear_Expression_Impl 2441: ::scalar_product_sign(const Linear_Expression_Impl& y, 2441: dimension_type start, dimension_type end) const { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_result; Parma_Polyhedra_Library::Coefficient& result = holder_result.item(); 2441: scalar_product_assign(result, y, start, end); 2441: return sgn(result); 2441: } 2441: 2441: template 2441: template 2441: bool 2441: Linear_Expression_Impl 2441: ::is_equal_to(const Linear_Expression_Impl& y, 2441: dimension_type start, dimension_type end) const { 2441: const Linear_Expression_Impl& x = *this; 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: typename Row::const_iterator i = x.row.lower_bound(start); 2441: typename Row::const_iterator i_end = x.row.lower_bound(end); 2441: typename Row2::const_iterator j = y.row.lower_bound(start); 2441: typename Row2::const_iterator j_end = y.row.lower_bound(end); 2441: while (i != i_end && j != j_end) { 2441: if (i.index() == j.index()) { 2441: if (*i != *j) { 2441: return false; 2441: } 2441: ++i; 2441: ++j; 2441: } 2441: else { 2441: if (i.index() < j.index()) { 2441: if (*i != 0) { 2441: return false; 2441: } 2441: ++i; 2441: } 2441: else { 2441: ((void) 0); 2441: if (*j != 0) { 2441: return false; 2441: } 2441: ++j; 2441: } 2441: } 2441: } 2441: for ( ; i != i_end; ++i) { 2441: if (*i != 0) { 2441: return false; 2441: } 2441: } 2441: for ( ; j != j_end; ++j) { 2441: if (*j != 0) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: template 2441: bool 2441: Linear_Expression_Impl 2441: ::is_equal_to(const Linear_Expression_Impl& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const { 2441: const Linear_Expression_Impl& x = *this; 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: if (c1 == 0) { 2441: if (c2 == 0) { 2441: return true; 2441: } 2441: else { 2441: return y.all_zeroes(start, end); 2441: } 2441: } 2441: if (c2 == 0) { 2441: return x.all_zeroes(start, end); 2441: } 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: typename Row::const_iterator i = x.row.lower_bound(start); 2441: typename Row::const_iterator i_end = x.row.lower_bound(end); 2441: typename Row2::const_iterator j = y.row.lower_bound(start); 2441: typename Row2::const_iterator j_end = y.row.lower_bound(end); 2441: while (i != i_end && j != j_end) { 2441: if (i.index() == j.index()) { 2441: if ((*i) * c1 != (*j) * c2) { 2441: return false; 2441: } 2441: ++i; 2441: ++j; 2441: } 2441: else { 2441: if (i.index() < j.index()) { 2441: if (*i != 0) { 2441: return false; 2441: } 2441: ++i; 2441: } 2441: else { 2441: ((void) 0); 2441: if (*j != 0) { 2441: return false; 2441: } 2441: ++j; 2441: } 2441: } 2441: } 2441: for ( ; i != i_end; ++i) { 2441: if (*i != 0) { 2441: return false; 2441: } 2441: } 2441: for ( ; j != j_end; ++j) { 2441: if (*j != 0) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Interface& y, Variable v) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, v); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, v); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, c1, c2); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, c1, c2); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine_lax(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: linear_combine_lax(*p, c1, c2); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: linear_combine_lax(*p, c1, c2); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Linear_Expression_Impl 2441: ::is_equal_to(const Linear_Expression_Interface& y) const { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return is_equal_to(*p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return is_equal_to(*p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl 2441: ::operator+=(const Linear_Expression_Interface& y) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return operator+=(*p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return operator+=(*p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return *this; 2441: } 2441: } 2441: 2441: template 2441: Linear_Expression_Impl& 2441: Linear_Expression_Impl 2441: ::operator-=(const Linear_Expression_Interface& y) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return operator-=(*p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return operator-=(*p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return *this; 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::add_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Interface& y) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: add_mul_assign(factor, *p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: add_mul_assign(factor, *p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::sub_mul_assign(Coefficient_traits::const_reference factor, 2441: const Linear_Expression_Interface& y) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: sub_mul_assign(factor, *p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: sub_mul_assign(factor, *p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Interface& y, dimension_type i) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, i); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, i); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, c1, c2, start, end); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: linear_combine(*p, c1, c2, start, end); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::linear_combine_lax(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: linear_combine_lax(*p, c1, c2, start, end); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: linear_combine_lax(*p, c1, c2, start, end); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: int 2441: Linear_Expression_Impl 2441: ::compare(const Linear_Expression_Interface& y) const { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return compare(*p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return compare(*p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return 0; 2441: } 2441: } 2441: 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::construct(const Linear_Expression_Interface& y) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return construct(*p); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return construct(*p); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::construct(const Linear_Expression_Interface& y, 2441: dimension_type space_dim) { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return construct(*p, space_dim); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return construct(*p, space_dim); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl 2441: ::scalar_product_assign(Coefficient& result, 2441: const Linear_Expression_Interface& y, 2441: dimension_type start, dimension_type end) const { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: scalar_product_assign(result, *p, start, end); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: scalar_product_assign(result, *p, start, end); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: int 2441: Linear_Expression_Impl 2441: ::scalar_product_sign(const Linear_Expression_Interface& y, 2441: dimension_type start, dimension_type end) const { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return scalar_product_sign(*p, start, end); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return scalar_product_sign(*p, start, end); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return 0; 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Linear_Expression_Impl 2441: ::is_equal_to(const Linear_Expression_Interface& y, 2441: dimension_type start, dimension_type end) const { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return is_equal_to(*p, start, end); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return is_equal_to(*p, start, end); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Linear_Expression_Impl 2441: ::is_equal_to(const Linear_Expression_Interface& y, 2441: Coefficient_traits::const_reference c1, 2441: Coefficient_traits::const_reference c2, 2441: dimension_type start, dimension_type end) const { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return is_equal_to(*p, c1, c2, start, end); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return is_equal_to(*p, c1, c2, start, end); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Linear_Expression_Impl 2441: ::have_a_common_variable(const Linear_Expression_Interface& y, 2441: Variable first, Variable last) const { 2441: typedef const Linear_Expression_Impl* Dense_Ptr; 2441: typedef const Linear_Expression_Impl* Sparse_Ptr; 2441: if (const Dense_Ptr p = dynamic_cast(&y)) { 2441: return have_a_common_variable(*p, first, last); 2441: } 2441: else if (const Sparse_Ptr p = dynamic_cast(&y)) { 2441: return have_a_common_variable(*p, first, last); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: Linear_Expression_Interface::const_iterator_interface* 2441: Linear_Expression_Impl::begin() const { 2441: return new const_iterator(row, 1); 2441: } 2441: 2441: template 2441: Linear_Expression_Interface::const_iterator_interface* 2441: Linear_Expression_Impl::end() const { 2441: return new const_iterator(row, row.size()); 2441: } 2441: 2441: template 2441: Linear_Expression_Interface::const_iterator_interface* 2441: Linear_Expression_Impl::lower_bound(Variable v) const { 2441: return new const_iterator(row, v.space_dimension()); 2441: } 2441: 2441: template 2441: Linear_Expression_Impl::const_iterator 2441: ::const_iterator(const Row& r, dimension_type i) 2441: : row(&r), itr(r.lower_bound(i)) { 2441: skip_zeroes_forward(); 2441: } 2441: 2441: template 2441: Linear_Expression_Interface::const_iterator_interface* 2441: Linear_Expression_Impl::const_iterator 2441: ::clone() const { 2441: return new const_iterator(*this); 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::const_iterator 2441: ::operator++() { 2441: ++itr; 2441: skip_zeroes_forward(); 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::const_iterator 2441: ::operator--() { 2441: --itr; 2441: skip_zeroes_backward(); 2441: } 2441: 2441: template 2441: typename Linear_Expression_Impl::const_iterator::reference 2441: Linear_Expression_Impl::const_iterator 2441: ::operator*() const { 2441: return *itr; 2441: } 2441: 2441: template 2441: Variable 2441: Linear_Expression_Impl::const_iterator 2441: ::variable() const { 2441: const dimension_type i = itr.index(); 2441: ((void) 0); 2441: return Variable(i - 1); 2441: } 2441: 2441: template 2441: bool 2441: Linear_Expression_Impl::const_iterator 2441: ::operator==(const const_iterator_interface& x) const { 2441: const const_iterator* const p = dynamic_cast(&x); 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: return itr == p->itr; 2441: } 2441: 2441: template 2441: void 2441: Linear_Expression_Impl::ascii_dump(std::ostream& s) const { 2441: s << "size " << (space_dimension() + 1) << " "; 2441: for (dimension_type i = 0; i < row.size(); ++i) { 2441: s << row.get(i); 2441: if (i != row.size() - 1) { 2441: s << ' '; 2441: } 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Linear_Expression_Impl::ascii_load(std::istream& s) { 2441: std::string str; 2441: 2441: if (!(s >> str)) { 2441: return false; 2441: } 2441: if (str != "size") { 2441: return false; 2441: } 2441: 2441: dimension_type new_size; 2441: if (!(s >> new_size)) { 2441: return false; 2441: } 2441: 2441: row.resize(0); 2441: row.resize(new_size); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c; Parma_Polyhedra_Library::Coefficient& c = holder_c.item(); 2441: 2441: for (dimension_type j = 0; j < new_size; ++j) { 2441: if (!(s >> c)) { 2441: return false; 2441: } 2441: if (c != 0) { 2441: row.insert(j, c); 2441: } 2441: } 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Linear_Expression_Impl::OK() const { 2441: return row.OK(); 2441: } 2441: 2441: } 2441: # 905 "../../src/Linear_Expression_Impl_defs.hh" 2 2441: # 9 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/Linear_Form_templates.hh" 1 2441: # 29 "../../src/Linear_Form_templates.hh" 2441: # 1 "../../src/Box_defs.hh" 1 2441: # 42 "../../src/Box_defs.hh" 2441: # 1 "../../src/Poly_Con_Relation_types.hh" 1 2441: # 16 "../../src/Poly_Con_Relation_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Poly_Con_Relation; 2441: 2441: } 2441: # 43 "../../src/Box_defs.hh" 2 2441: # 1 "../../src/Poly_Gen_Relation_types.hh" 1 2441: # 16 "../../src/Poly_Gen_Relation_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Poly_Gen_Relation; 2441: 2441: } 2441: # 44 "../../src/Box_defs.hh" 2 2441: 2441: 2441: # 1 "../../src/Partially_Reduced_Product_types.hh" 1 2441: # 16 "../../src/Partially_Reduced_Product_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Smash_Reduction; 2441: 2441: template 2441: class Constraints_Reduction; 2441: 2441: template 2441: class Congruences_Reduction; 2441: 2441: template 2441: class Shape_Preserving_Reduction; 2441: 2441: template 2441: class No_Reduction; 2441: 2441: template 2441: class Partially_Reduced_Product; 2441: 2441: } 2441: # 47 "../../src/Box_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: struct Interval_Base; 2441: 2441: 2441: 2441: template 2441: void swap(Box& x, Box& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator==(const Box& x, const Box& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator!=(const Box& x, const Box& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: template 2441: std::ostream& operator<<(std::ostream& s, const Box& box); 2441: 2441: } 2441: # 98 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir); 2441: # 116 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir); 2441: # 134 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 155 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir); 2441: # 173 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir); 2441: # 191 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 212 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir); 2441: # 230 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir); 2441: # 248 "../../src/Box_defs.hh" 2441: template 2441: bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool 2441: l_m_distance_assign(Checked_Number& r, 2441: const Box& x, const Box& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: 2441: } 2441: # 298 "../../src/Box_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Box { 2441: public: 2441: 2441: typedef ITV interval_type; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: 2441: 2441: static bool can_recycle_constraint_systems(); 2441: 2441: 2441: 2441: 2441: static bool can_recycle_congruence_systems(); 2441: # 328 "../../src/Box_defs.hh" 2441: explicit Box(dimension_type num_dimensions = 0, 2441: Degenerate_Element kind = UNIVERSE); 2441: 2441: 2441: 2441: 2441: 2441: Box(const Box& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: explicit Box(const Box& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 356 "../../src/Box_defs.hh" 2441: explicit Box(const Constraint_System& cs); 2441: # 372 "../../src/Box_defs.hh" 2441: Box(const Constraint_System& cs, Recycle_Input dummy); 2441: # 382 "../../src/Box_defs.hh" 2441: explicit Box(const Generator_System& gs); 2441: # 399 "../../src/Box_defs.hh" 2441: Box(const Generator_System& gs, Recycle_Input dummy); 2441: # 411 "../../src/Box_defs.hh" 2441: explicit Box(const Congruence_System& cgs); 2441: # 427 "../../src/Box_defs.hh" 2441: Box(const Congruence_System& cgs, Recycle_Input dummy); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: explicit Box(const BD_Shape& bds, 2441: Complexity_Class complexity = POLYNOMIAL_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: explicit Box(const Octagonal_Shape& oct, 2441: Complexity_Class complexity = POLYNOMIAL_COMPLEXITY); 2441: # 454 "../../src/Box_defs.hh" 2441: explicit Box(const Polyhedron& ph, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: 2441: explicit Box(const Grid& gr, 2441: Complexity_Class complexity = POLYNOMIAL_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: explicit Box(const Partially_Reduced_Product& dp, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: Box& operator=(const Box& y); 2441: 2441: 2441: 2441: 2441: 2441: void m_swap(Box& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type affine_dimension() const; 2441: 2441: 2441: bool is_empty() const; 2441: 2441: 2441: bool is_universe() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_topologically_closed() const; 2441: 2441: 2441: bool is_discrete() const; 2441: 2441: 2441: bool is_bounded() const; 2441: 2441: 2441: 2441: 2441: 2441: bool contains_integer_point() const; 2441: # 532 "../../src/Box_defs.hh" 2441: bool constrains(Variable var) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Con_Relation relation_with(const Constraint& c) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Con_Relation relation_with(const Congruence& cg) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Gen_Relation relation_with(const Generator& g) const; 2441: # 562 "../../src/Box_defs.hh" 2441: bool bounds_from_above(const Linear_Expression& expr) const; 2441: # 571 "../../src/Box_defs.hh" 2441: bool bounds_from_below(const Linear_Expression& expr) const; 2441: # 597 "../../src/Box_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const; 2441: # 628 "../../src/Box_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& g) const; 2441: # 656 "../../src/Box_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const; 2441: # 687 "../../src/Box_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& g) const; 2441: # 719 "../../src/Box_defs.hh" 2441: bool frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool contains(const Box& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool strictly_contains(const Box& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_disjoint_from(const Box& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool OK() const; 2441: # 769 "../../src/Box_defs.hh" 2441: void add_constraint(const Constraint& c); 2441: # 783 "../../src/Box_defs.hh" 2441: void add_constraints(const Constraint_System& cs); 2441: # 801 "../../src/Box_defs.hh" 2441: void add_recycled_constraints(Constraint_System& cs); 2441: # 813 "../../src/Box_defs.hh" 2441: void add_congruence(const Congruence& cg); 2441: # 826 "../../src/Box_defs.hh" 2441: void add_congruences(const Congruence_System& cgs); 2441: # 844 "../../src/Box_defs.hh" 2441: void add_recycled_congruences(Congruence_System& cgs); 2441: # 855 "../../src/Box_defs.hh" 2441: void refine_with_constraint(const Constraint& c); 2441: # 876 "../../src/Box_defs.hh" 2441: void refine_with_constraints(const Constraint_System& cs); 2441: # 887 "../../src/Box_defs.hh" 2441: void refine_with_congruence(const Congruence& cg); 2441: # 898 "../../src/Box_defs.hh" 2441: void refine_with_congruences(const Congruence_System& cgs); 2441: # 909 "../../src/Box_defs.hh" 2441: void propagate_constraint(const Constraint& c); 2441: # 928 "../../src/Box_defs.hh" 2441: void propagate_constraints(const Constraint_System& cs, 2441: dimension_type max_iterations = 0); 2441: # 941 "../../src/Box_defs.hh" 2441: void unconstrain(Variable var); 2441: # 955 "../../src/Box_defs.hh" 2441: void unconstrain(const Variables_Set& vars); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void intersection_assign(const Box& y); 2441: # 971 "../../src/Box_defs.hh" 2441: void upper_bound_assign(const Box& y); 2441: # 981 "../../src/Box_defs.hh" 2441: bool upper_bound_assign_if_exact(const Box& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void difference_assign(const Box& y); 2441: # 999 "../../src/Box_defs.hh" 2441: bool simplify_using_context_assign(const Box& y); 2441: # 1022 "../../src/Box_defs.hh" 2441: void affine_image(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1048 "../../src/Box_defs.hh" 2441: void affine_form_image(Variable var, 2441: const Linear_Form& lf); 2441: # 1071 "../../src/Box_defs.hh" 2441: void affine_preimage(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1100 "../../src/Box_defs.hh" 2441: void generalized_affine_image(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1130 "../../src/Box_defs.hh" 2441: void 2441: generalized_affine_preimage(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1155 "../../src/Box_defs.hh" 2441: void generalized_affine_image(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1177 "../../src/Box_defs.hh" 2441: void generalized_affine_preimage(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1206 "../../src/Box_defs.hh" 2441: void bounded_affine_image(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1237 "../../src/Box_defs.hh" 2441: void bounded_affine_preimage(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1250 "../../src/Box_defs.hh" 2441: void time_elapse_assign(const Box& y); 2441: 2441: 2441: void topological_closure_assign(); 2441: # 1295 "../../src/Box_defs.hh" 2441: void wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p = 0, 2441: unsigned complexity_threshold = 16, 2441: bool wrap_individually = true); 2441: # 1314 "../../src/Box_defs.hh" 2441: void drop_some_non_integer_points(Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: # 1332 "../../src/Box_defs.hh" 2441: void drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: # 1351 "../../src/Box_defs.hh" 2441: template 2441: typename Enable_If::value 2441: && Is_Same_Or_Derived::value, 2441: void>::type 2441: CC76_widening_assign(const T& y, unsigned* tp = 0); 2441: # 1373 "../../src/Box_defs.hh" 2441: template 2441: typename Enable_If::value 2441: && Is_Same_Or_Derived::value, 2441: void>::type 2441: CC76_widening_assign(const T& y, 2441: Iterator first, Iterator last); 2441: 2441: 2441: void widening_assign(const Box& y, unsigned* tp = 0); 2441: # 1403 "../../src/Box_defs.hh" 2441: void limited_CC76_extrapolation_assign(const Box& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1426 "../../src/Box_defs.hh" 2441: template 2441: typename Enable_If::value 2441: && Is_Same_Or_Derived::value, 2441: void>::type 2441: CC76_narrowing_assign(const T& y); 2441: # 1455 "../../src/Box_defs.hh" 2441: void add_space_dimensions_and_embed(dimension_type m); 2441: # 1478 "../../src/Box_defs.hh" 2441: void add_space_dimensions_and_project(dimension_type m); 2441: # 1503 "../../src/Box_defs.hh" 2441: void concatenate_assign(const Box& y); 2441: # 1514 "../../src/Box_defs.hh" 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: # 1524 "../../src/Box_defs.hh" 2441: void remove_higher_space_dimensions(dimension_type new_dimension); 2441: # 1563 "../../src/Box_defs.hh" 2441: template 2441: void map_space_dimensions(const Partial_Function& pfunc); 2441: # 1587 "../../src/Box_defs.hh" 2441: void expand_space_dimension(Variable var, dimension_type m); 2441: # 1612 "../../src/Box_defs.hh" 2441: void fold_space_dimensions(const Variables_Set& vars, Variable dest); 2441: # 1622 "../../src/Box_defs.hh" 2441: const ITV& get_interval(Variable var) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_interval(Variable var, const ITV& i); 2441: # 1663 "../../src/Box_defs.hh" 2441: bool has_lower_bound(Variable var, 2441: Coefficient& n, Coefficient& d, bool& closed) const; 2441: # 1697 "../../src/Box_defs.hh" 2441: bool has_upper_bound(Variable var, 2441: Coefficient& n, Coefficient& d, bool& closed) const; 2441: 2441: 2441: Constraint_System constraints() const; 2441: 2441: 2441: Constraint_System minimized_constraints() const; 2441: 2441: 2441: Congruence_System congruences() const; 2441: 2441: 2441: Congruence_System minimized_congruences() const; 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: int32_t hash_code() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: # 1735 "../../src/Box_defs.hh" 2441: bool ascii_load(std::istream& s); 2441: 2441: private: 2441: template 2441: friend class Parma_Polyhedra_Library::Box; 2441: 2441: friend bool 2441: operator==(const Box& x, const Box& y); 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library 2441: ::IO_Operators::operator<<<>(std::ostream& s, const Box& box); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library 2441: ::l_m_distance_assign(Checked_Number& r, 2441: const Box& x, const Box& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: 2441: 2441: typedef std::vector Sequence; 2441: 2441: 2441: 2441: 2441: 2441: typedef ITV Tmp_Interval_Type; 2441: 2441: 2441: Sequence seq; 2441: 2441: 2441: # 1 "../../src/Box_Status_idefs.hh" 1 2441: # 43 "../../src/Box_Status_idefs.hh" 2441: class Status; 2441: 2441: class Status { 2441: public: 2441: 2441: Status(); 2441: 2441: 2441: Status(const Status& y); 2441: 2441: 2441: template 2441: Status(const typename Box::Status& y); 2441: 2441: 2441: 2441: bool test_empty_up_to_date() const; 2441: void reset_empty_up_to_date(); 2441: void set_empty_up_to_date(); 2441: 2441: bool test_empty() const; 2441: void reset_empty(); 2441: void set_empty(); 2441: 2441: bool test_universe() const; 2441: void reset_universe(); 2441: void set_universe(); 2441: 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: private: 2441: 2441: typedef unsigned int flags_t; 2441: 2441: 2441: 2441: static const flags_t NONE = 0U; 2441: static const flags_t EMPTY_UP_TO_DATE = 1U << 0; 2441: static const flags_t EMPTY = 1U << 1; 2441: static const flags_t UNIVERSE = 1U << 2; 2441: 2441: 2441: 2441: flags_t flags; 2441: 2441: 2441: Status(flags_t mask); 2441: 2441: 2441: bool test_all(flags_t mask) const; 2441: 2441: 2441: bool test_any(flags_t mask) const; 2441: 2441: 2441: void set(flags_t mask); 2441: 2441: 2441: void reset(flags_t mask); 2441: }; 2441: # 1769 "../../src/Box_defs.hh" 2 2441: 2441: 2441: 2441: Status status; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool marked_empty() const; 2441: 2441: public: 2441: 2441: void set_empty(); 2441: 2441: private: 2441: 2441: void set_nonempty(); 2441: 2441: 2441: void set_empty_up_to_date(); 2441: 2441: 2441: void reset_empty_up_to_date(); 2441: 2441: 2441: 2441: 2441: 2441: bool check_empty() const; 2441: 2441: 2441: 2441: 2441: 2441: const ITV& operator[](dimension_type k) const; 2441: 2441: 2441: 2441: 2441: static I_Result 2441: refine_interval_no_check(ITV& itv, 2441: Constraint::Type type, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom); 2441: 2441: 2441: 2441: 2441: void 2441: add_interval_constraint_no_check(dimension_type var_id, 2441: Constraint::Type type, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom); 2441: 2441: 2441: 2441: 2441: void add_constraint_no_check(const Constraint& c); 2441: 2441: 2441: 2441: 2441: void add_constraints_no_check(const Constraint_System& cs); 2441: 2441: 2441: 2441: 2441: void add_congruence_no_check(const Congruence& cg); 2441: 2441: 2441: 2441: 2441: void add_congruences_no_check(const Congruence_System& cgs); 2441: # 1856 "../../src/Box_defs.hh" 2441: void refine_no_check(const Constraint& c); 2441: # 1870 "../../src/Box_defs.hh" 2441: void refine_no_check(const Constraint_System& cs); 2441: # 1883 "../../src/Box_defs.hh" 2441: void refine_no_check(const Congruence& cg); 2441: # 1896 "../../src/Box_defs.hh" 2441: void refine_no_check(const Congruence_System& cgs); 2441: # 2058 "../../src/Box_defs.hh" 2441: void propagate_constraint_no_check(const Constraint& c); 2441: # 2078 "../../src/Box_defs.hh" 2441: void propagate_constraints_no_check(const Constraint_System& cs, 2441: dimension_type max_iterations); 2441: # 2098 "../../src/Box_defs.hh" 2441: bool bounds(const Linear_Expression& expr, bool from_above) const; 2441: # 2130 "../../src/Box_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included, 2441: Generator& g) const; 2441: # 2160 "../../src/Box_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included) const; 2441: 2441: 2441: 2441: 2441: 2441: void get_limiting_box(const Constraint_System& cs, 2441: Box& limiting_box) const; 2441: 2441: 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Box& y) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: dimension_type required_dim) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Constraint& c) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Congruence& cg) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Constraint_System& cs) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Congruence_System& cgs) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Generator& g) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const; 2441: 2441: template 2441: void throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form& lf) const; 2441: 2441: static void throw_constraint_incompatible(const char* method); 2441: 2441: static void throw_expression_too_complex(const char* method, 2441: const Linear_Expression& le); 2441: 2441: static void throw_invalid_argument(const char* method, const char* reason); 2441: 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: # 2237 "../../src/Box_defs.hh" 2441: template 2441: Poly_Con_Relation 2441: interval_relation(const ITV& i, 2441: const Constraint::Type constraint_type, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom 2441: = Coefficient_one()); 2441: 2441: class Box_Helpers { 2441: public: 2441: # 2271 "../../src/Box_defs.hh" 2441: static bool extract_interval_constraint(const Constraint& c, 2441: dimension_type& c_num_vars, 2441: dimension_type& c_only_var); 2441: 2441: 2441: 2441: static bool extract_interval_congruence(const Congruence& cg, 2441: dimension_type& cg_num_vars, 2441: dimension_type& cg_only_var); 2441: }; 2441: 2441: } 2441: 2441: # 1 "../../src/Box_Status_inlines.hh" 1 2441: # 29 "../../src/Box_Status_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Box::Status::Status(flags_t mask) 2441: : flags(mask) { 2441: } 2441: 2441: template 2441: inline 2441: Box::Status::Status(const Status& y) 2441: : flags(y.flags) { 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Box::Status::Status(const typename Box::Status& y) 2441: : flags(y.flags) { 2441: } 2441: 2441: template 2441: inline 2441: Box::Status::Status() 2441: : flags(NONE) { 2441: } 2441: 2441: template 2441: inline bool 2441: Box::Status::test_all(flags_t mask) const { 2441: return (flags & mask) == mask; 2441: } 2441: 2441: template 2441: inline bool 2441: Box::Status::test_any(flags_t mask) const { 2441: return (flags & mask) != 0; 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::set(flags_t mask) { 2441: flags |= mask; 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::reset(flags_t mask) { 2441: flags &= ~mask; 2441: } 2441: 2441: template 2441: inline bool 2441: Box::Status::test_empty_up_to_date() const { 2441: return test_any(EMPTY_UP_TO_DATE); 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::reset_empty_up_to_date() { 2441: reset(EMPTY_UP_TO_DATE); 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::set_empty_up_to_date() { 2441: set(EMPTY_UP_TO_DATE); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::Status::test_empty() const { 2441: return test_any(EMPTY); 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::reset_empty() { 2441: reset(EMPTY); 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::set_empty() { 2441: set(EMPTY); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::Status::test_universe() const { 2441: return test_any(UNIVERSE); 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::reset_universe() { 2441: reset(UNIVERSE); 2441: } 2441: 2441: template 2441: inline void 2441: Box::Status::set_universe() { 2441: set(UNIVERSE); 2441: } 2441: 2441: template 2441: bool 2441: Box::Status::OK() const { 2441: if (test_empty_up_to_date() 2441: && test_empty() 2441: && test_universe()) { 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: 2441: namespace Implementation { 2441: 2441: namespace Boxes { 2441: 2441: 2441: extern const char* empty_up_to_date; 2441: extern const char* empty; 2441: extern const char* universe; 2441: const char yes = '+'; 2441: const char no = '-'; 2441: const char separator = ' '; 2441: # 172 "../../src/Box_Status_inlines.hh" 2441: inline bool 2441: get_field(std::istream& s, const char* keyword, bool& positive) { 2441: std::string str; 2441: if (!(s >> str) 2441: || (str[0] != yes && str[0] != no) 2441: || str.substr(1) != keyword) { 2441: return false; 2441: } 2441: positive = (str[0] == yes); 2441: return true; 2441: } 2441: 2441: } 2441: 2441: } 2441: 2441: template 2441: void 2441: Box::Status::ascii_dump(std::ostream& s) const { 2441: using namespace Implementation::Boxes; 2441: s << (test_empty_up_to_date() ? yes : no) << empty_up_to_date << separator 2441: << (test_empty() ? yes : no) << empty << separator 2441: << (test_universe() ? yes : no) << universe << separator; 2441: } 2441: 2441: template void Box::Status::ascii_dump() const { ascii_dump(std::cerr); } template void Box::Status::print() const { std::cerr << "No user level output operator defined " << "for " "Box::Status" << "." << std::endl; } 2441: 2441: template 2441: bool 2441: Box::Status::ascii_load(std::istream& s) { 2441: using namespace Implementation::Boxes; 2441: bool positive = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: if (!get_field(s, Implementation::Boxes::empty_up_to_date, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_empty_up_to_date(); 2441: } 2441: 2441: if (!get_field(s, Implementation::Boxes::empty, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_empty(); 2441: } 2441: if (!get_field(s, universe, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_universe(); 2441: } 2441: else { 2441: reset_universe(); 2441: } 2441: 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: } 2441: # 2285 "../../src/Box_defs.hh" 2 2441: # 1 "../../src/Box_inlines.hh" 1 2441: # 28 "../../src/Box_inlines.hh" 2441: # 1 "../../src/Constraint_System_defs.hh" 1 2441: # 29 "../../src/Constraint_System_defs.hh" 2441: # 1 "../../src/Linear_System_defs.hh" 1 2441: # 29 "../../src/Linear_System_defs.hh" 2441: # 1 "../../src/Swapping_Vector_defs.hh" 1 2441: # 27 "../../src/Swapping_Vector_defs.hh" 2441: # 1 "../../src/Swapping_Vector_types.hh" 1 2441: # 16 "../../src/Swapping_Vector_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Swapping_Vector; 2441: 2441: } 2441: # 28 "../../src/Swapping_Vector_defs.hh" 2 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: class Swapping_Vector { 2441: 2441: public: 2441: typedef typename std::vector::const_iterator const_iterator; 2441: typedef typename std::vector::iterator iterator; 2441: typedef typename std::vector::size_type size_type; 2441: 2441: Swapping_Vector(); 2441: explicit Swapping_Vector(dimension_type new_size); 2441: Swapping_Vector(dimension_type new_size, const T& x); 2441: 2441: void clear(); 2441: void reserve(dimension_type new_capacity); 2441: void resize(dimension_type new_size); 2441: void resize(dimension_type new_size, const T& x); 2441: 2441: dimension_type size() const; 2441: dimension_type capacity() const; 2441: bool empty() const; 2441: 2441: void m_swap(Swapping_Vector& v); 2441: 2441: T& operator[](dimension_type i); 2441: const T& operator[](dimension_type i) const; 2441: 2441: T& back(); 2441: const T& back() const; 2441: 2441: void push_back(const T& x); 2441: void pop_back(); 2441: 2441: iterator begin(); 2441: iterator end(); 2441: const_iterator begin() const; 2441: const_iterator end() const; 2441: 2441: iterator erase(iterator itr); 2441: iterator erase(iterator first, iterator last); 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: dimension_type max_num_rows(); 2441: 2441: private: 2441: std::vector impl; 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: void swap(Swapping_Vector& x, Swapping_Vector& y); 2441: 2441: } 2441: 2441: # 1 "../../src/Swapping_Vector_inlines.hh" 1 2441: # 29 "../../src/Swapping_Vector_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Swapping_Vector::Swapping_Vector() 2441: : impl() { 2441: } 2441: 2441: template 2441: inline 2441: Swapping_Vector::Swapping_Vector(dimension_type i) 2441: : impl() { 2441: 2441: 2441: resize(i); 2441: } 2441: 2441: template 2441: inline 2441: Swapping_Vector::Swapping_Vector(dimension_type new_size, const T& x) 2441: : impl() { 2441: resize(new_size, x); 2441: } 2441: 2441: template 2441: inline void 2441: Swapping_Vector::clear() { 2441: impl.clear(); 2441: } 2441: 2441: template 2441: inline void 2441: Swapping_Vector::reserve(dimension_type new_capacity) { 2441: if (impl.capacity() < new_capacity) { 2441: 2441: std::vector new_impl; 2441: 2441: new_impl.reserve(compute_capacity(new_capacity, max_num_rows())); 2441: new_impl.resize(impl.size()); 2441: 2441: using std::swap; 2441: 2441: 2441: for (dimension_type i = impl.size(); i-- > 0; ) { 2441: swap(new_impl[i], impl[i]); 2441: } 2441: 2441: 2441: swap(impl, new_impl); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Swapping_Vector::resize(dimension_type new_size) { 2441: reserve(new_size); 2441: impl.resize(new_size); 2441: } 2441: 2441: template 2441: inline void 2441: Swapping_Vector::resize(dimension_type new_size, const T& x) { 2441: reserve(new_size); 2441: impl.resize(new_size, x); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Swapping_Vector::size() const { 2441: return impl.size(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Swapping_Vector::capacity() const { 2441: return impl.capacity(); 2441: } 2441: 2441: template 2441: inline bool 2441: Swapping_Vector::empty() const { 2441: return impl.empty(); 2441: } 2441: 2441: template 2441: inline void 2441: Swapping_Vector::m_swap(Swapping_Vector& v) { 2441: using std::swap; 2441: swap(impl, v.impl); 2441: } 2441: 2441: template 2441: inline T& 2441: Swapping_Vector::operator[](dimension_type i) { 2441: return impl[i]; 2441: } 2441: 2441: template 2441: inline const T& 2441: Swapping_Vector::operator[](dimension_type i) const { 2441: return impl[i]; 2441: } 2441: 2441: template 2441: inline T& 2441: Swapping_Vector::back() { 2441: return impl.back(); 2441: } 2441: 2441: template 2441: inline const T& 2441: Swapping_Vector::back() const { 2441: return impl.back(); 2441: } 2441: 2441: template 2441: inline void 2441: Swapping_Vector::push_back(const T& x) { 2441: reserve(size() + 1); 2441: impl.push_back(x); 2441: } 2441: 2441: template 2441: inline void 2441: Swapping_Vector::pop_back() { 2441: impl.pop_back(); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Swapping_Vector::external_memory_in_bytes() const { 2441: 2441: memory_size_type n = impl.capacity() * sizeof(T); 2441: for (const_iterator i = begin(), i_end = end(); i != i_end; ++i) { 2441: n += i->external_memory_in_bytes(); 2441: } 2441: return n; 2441: } 2441: 2441: template 2441: inline typename Swapping_Vector::iterator 2441: Swapping_Vector::begin() { 2441: return impl.begin(); 2441: } 2441: 2441: template 2441: inline typename Swapping_Vector::iterator 2441: Swapping_Vector::end() { 2441: return impl.end(); 2441: } 2441: 2441: template 2441: inline typename Swapping_Vector::const_iterator 2441: Swapping_Vector::begin() const { 2441: return impl.begin(); 2441: } 2441: 2441: template 2441: inline typename Swapping_Vector::const_iterator 2441: Swapping_Vector::end() const { 2441: return impl.end(); 2441: } 2441: 2441: template 2441: inline typename Swapping_Vector::iterator 2441: Swapping_Vector::erase(iterator itr) { 2441: ((void) 0); 2441: ((void) 0); 2441: const dimension_type old_i = itr - begin(); 2441: dimension_type i = old_i; 2441: ++i; 2441: while (i != size()) { 2441: swap(impl[i-1], impl[i]); 2441: } 2441: impl.pop_back(); 2441: return begin() + old_i; 2441: } 2441: 2441: template 2441: inline typename Swapping_Vector::iterator 2441: Swapping_Vector::erase(iterator first, iterator last) { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: const iterator old_first = first; 2441: typedef typename std::iterator_traits::difference_type diff_t; 2441: const diff_t k = last - first; 2441: const dimension_type n = static_cast(end() - last); 2441: using std::swap; 2441: for (dimension_type i = 0; i < n; ++i, ++first) { 2441: swap(*first, *(first + k)); 2441: } 2441: impl.erase(end() - k, end()); 2441: return old_first; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Swapping_Vector::max_num_rows() { 2441: return impl.max_size(); 2441: } 2441: 2441: template 2441: inline void 2441: swap(Swapping_Vector& vec1, Swapping_Vector& vec2) { 2441: vec1.m_swap(vec2); 2441: } 2441: 2441: } 2441: # 95 "../../src/Swapping_Vector_defs.hh" 2 2441: # 30 "../../src/Linear_System_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: # 1 "../../src/Bit_Row_types.hh" 1 2441: # 16 "../../src/Bit_Row_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Bit_Row; 2441: 2441: } 2441: # 36 "../../src/Linear_System_defs.hh" 2 2441: # 1 "../../src/Bit_Matrix_types.hh" 1 2441: # 16 "../../src/Bit_Matrix_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Bit_Matrix; 2441: 2441: } 2441: # 37 "../../src/Linear_System_defs.hh" 2 2441: # 60 "../../src/Linear_System_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Linear_System { 2441: public: 2441: 2441: 2441: typedef typename Swapping_Vector::const_iterator iterator; 2441: typedef typename Swapping_Vector::const_iterator const_iterator; 2441: 2441: 2441: 2441: 2441: 2441: Linear_System(Topology topol, Representation r); 2441: # 88 "../../src/Linear_System_defs.hh" 2441: Linear_System(Topology topol, dimension_type space_dim, Representation r); 2441: # 98 "../../src/Linear_System_defs.hh" 2441: struct With_Pending { 2441: }; 2441: 2441: 2441: Linear_System(const Linear_System& y); 2441: 2441: 2441: 2441: Linear_System(const Linear_System& y, Representation r); 2441: 2441: 2441: Linear_System(const Linear_System& y, With_Pending); 2441: 2441: 2441: Linear_System(const Linear_System& y, Representation r, With_Pending); 2441: 2441: 2441: Linear_System& operator=(const Linear_System& y); 2441: 2441: 2441: void assign_with_pending(const Linear_System& y); 2441: 2441: 2441: void m_swap(Linear_System& y); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: # 141 "../../src/Linear_System_defs.hh" 2441: dimension_type space_dimension() const; 2441: 2441: 2441: void set_space_dimension(dimension_type space_dim); 2441: 2441: 2441: void remove_trailing_rows(dimension_type n); 2441: # 157 "../../src/Linear_System_defs.hh" 2441: void remove_row(dimension_type i, bool keep_sorted = false); 2441: # 167 "../../src/Linear_System_defs.hh" 2441: void remove_rows(dimension_type first, dimension_type last, 2441: bool keep_sorted = false); 2441: # 177 "../../src/Linear_System_defs.hh" 2441: void remove_rows(const std::vector& indexes); 2441: # 186 "../../src/Linear_System_defs.hh" 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: # 205 "../../src/Linear_System_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: 2441: 2441: 2441: 2441: const Row& operator[](dimension_type k) const; 2441: 2441: 2441: iterator begin(); 2441: iterator end(); 2441: const_iterator begin() const; 2441: const_iterator end() const; 2441: 2441: bool has_no_rows() const; 2441: dimension_type num_rows() const; 2441: 2441: 2441: void strong_normalize(); 2441: 2441: 2441: void sign_normalize(); 2441: 2441: 2441: 2441: 2441: Topology topology() const; 2441: 2441: 2441: bool is_sorted() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type num_lines_or_equalities() const; 2441: 2441: 2441: dimension_type first_pending_row() const; 2441: 2441: 2441: dimension_type num_pending_rows() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool check_sorted() const; 2441: 2441: 2441: void set_topology(Topology t); 2441: 2441: 2441: void set_necessarily_closed(); 2441: 2441: 2441: void set_not_necessarily_closed(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_necessarily_closed(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_not_necessarily_closed(); 2441: 2441: 2441: void unset_pending_rows(); 2441: 2441: 2441: void set_index_first_pending_row(dimension_type i); 2441: 2441: 2441: void set_sorted(bool b); 2441: # 310 "../../src/Linear_System_defs.hh" 2441: void add_universe_rows_and_space_dimensions(dimension_type n); 2441: 2441: 2441: 2441: 2441: 2441: void insert(const Row& r); 2441: 2441: 2441: 2441: 2441: 2441: void insert_pending(const Row& r); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Row& r, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: void insert_pending(Row& r, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: void insert(const Linear_System& y); 2441: 2441: 2441: void insert_pending(const Linear_System& r); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Linear_System& r, Recycle_Input); 2441: 2441: 2441: 2441: void insert_pending(Linear_System& r, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: void sort_rows(); 2441: 2441: 2441: 2441: 2441: 2441: void sort_rows(dimension_type first_row, dimension_type last_row); 2441: # 375 "../../src/Linear_System_defs.hh" 2441: void merge_rows_assign(const Linear_System& y); 2441: 2441: 2441: 2441: 2441: 2441: void sort_pending_and_remove_duplicates(); 2441: # 390 "../../src/Linear_System_defs.hh" 2441: void sort_and_remove_with_sat(Bit_Matrix& sat); 2441: # 404 "../../src/Linear_System_defs.hh" 2441: dimension_type gauss(dimension_type n_lines_or_equalities); 2441: # 416 "../../src/Linear_System_defs.hh" 2441: void back_substitute(dimension_type n_lines_or_equalities); 2441: 2441: 2441: 2441: 2441: 2441: void simplify(); 2441: 2441: 2441: void clear(); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: # 439 "../../src/Linear_System_defs.hh" 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Swapping_Vector rows; 2441: 2441: 2441: bool OK() const; 2441: 2441: private: 2441: # 469 "../../src/Linear_System_defs.hh" 2441: void remove_row_no_ok(dimension_type i, bool keep_sorted = false); 2441: # 478 "../../src/Linear_System_defs.hh" 2441: void insert_pending_no_ok(Row& r, Recycle_Input); 2441: # 487 "../../src/Linear_System_defs.hh" 2441: void insert_no_ok(Row& r, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_space_dimension_no_ok(dimension_type space_dim); 2441: # 506 "../../src/Linear_System_defs.hh" 2441: void swap_row_intervals(dimension_type first, dimension_type last, 2441: dimension_type offset); 2441: 2441: 2441: 2441: dimension_type space_dimension_; 2441: 2441: 2441: 2441: Topology row_topology; 2441: 2441: 2441: dimension_type index_first_pending; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool sorted; 2441: 2441: Representation representation_; 2441: 2441: 2441: struct Row_Less_Than { 2441: bool operator()(const Row& x, const Row& y) const; 2441: }; 2441: 2441: 2441: struct Unique_Compare { 2441: Unique_Compare(const Swapping_Vector& cont, 2441: dimension_type base = 0); 2441: 2441: bool operator()(dimension_type i, dimension_type j) const; 2441: 2441: const Swapping_Vector& container; 2441: const dimension_type base_index; 2441: }; 2441: 2441: friend class Polyhedron; 2441: friend class Generator_System; 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void swap(Parma_Polyhedra_Library::Linear_System& x, 2441: Parma_Polyhedra_Library::Linear_System& y); 2441: 2441: } 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator==(const Linear_System& x, const Linear_System& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator!=(const Linear_System& x, const Linear_System& y); 2441: 2441: } 2441: 2441: # 1 "../../src/Linear_System_inlines.hh" 1 2441: # 27 "../../src/Linear_System_inlines.hh" 2441: # 1 "../../src/Bit_Row_defs.hh" 1 2441: # 33 "../../src/Bit_Row_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 45 "../../src/Bit_Row_defs.hh" 2441: void 2441: iter_swap(std::vector::iterator x, 2441: std::vector::iterator y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Bit_Row& x, const Bit_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Bit_Row& x, const Bit_Row& y); 2441: # 77 "../../src/Bit_Row_defs.hh" 2441: int compare(const Bit_Row& x, const Bit_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: bool subset_or_equal(const Bit_Row& x, const Bit_Row& y); 2441: # 93 "../../src/Bit_Row_defs.hh" 2441: bool subset_or_equal(const Bit_Row& x, const Bit_Row& y, 2441: bool& strict_subset); 2441: 2441: 2441: 2441: 2441: 2441: bool strict_subset(const Bit_Row& x, const Bit_Row& y); 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: class Parma_Polyhedra_Library::Bit_Row { 2441: public: 2441: 2441: Bit_Row(); 2441: 2441: 2441: Bit_Row(const Bit_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: Bit_Row(const Bit_Row& y, const Bit_Row& z); 2441: 2441: 2441: ~Bit_Row(); 2441: 2441: 2441: Bit_Row& operator=(const Bit_Row& y); 2441: 2441: 2441: void m_swap(Bit_Row& y); 2441: 2441: 2441: bool operator[](unsigned long k) const; 2441: 2441: 2441: void set(unsigned long k); 2441: 2441: 2441: void set_until(unsigned long k); 2441: 2441: 2441: void clear(unsigned long k); 2441: 2441: 2441: void clear_from(unsigned long k); 2441: 2441: 2441: void clear(); 2441: 2441: 2441: void union_assign(const Bit_Row& x, const Bit_Row& y); 2441: 2441: 2441: void intersection_assign(const Bit_Row& x, const Bit_Row& y); 2441: 2441: 2441: void difference_assign(const Bit_Row& x, const Bit_Row& y); 2441: 2441: 2441: friend int compare(const Bit_Row& x, const Bit_Row& y); 2441: friend bool operator==(const Bit_Row& x, const Bit_Row& y); 2441: friend bool operator!=(const Bit_Row& x, const Bit_Row& y); 2441: friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y); 2441: friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y, 2441: bool& strict_subset); 2441: friend bool strict_subset(const Bit_Row& x, const Bit_Row& y); 2441: 2441: 2441: unsigned long first() const; 2441: 2441: 2441: 2441: 2441: 2441: unsigned long next(unsigned long position) const; 2441: 2441: 2441: unsigned long last() const; 2441: 2441: 2441: 2441: 2441: 2441: unsigned long prev(unsigned long position) const; 2441: 2441: 2441: unsigned long count_ones() const; 2441: 2441: 2441: bool empty() const; 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: private: 2441: 2441: mpz_t vec; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void union_helper(const Bit_Row& y, const Bit_Row& z); 2441: }; 2441: 2441: # 1 "../../src/Bit_Row_inlines.hh" 1 2441: # 40 "../../src/Bit_Row_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Bit_Row::Bit_Row() { 2441: 2441: # 44 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_init 2441: # 44 "../../src/Bit_Row_inlines.hh" 2441: (vec); 2441: } 2441: 2441: inline 2441: Bit_Row::Bit_Row(const Bit_Row& y) { 2441: 2441: # 49 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_init_set 2441: # 49 "../../src/Bit_Row_inlines.hh" 2441: (vec, y.vec); 2441: } 2441: 2441: inline 2441: Bit_Row::Bit_Row(const Bit_Row& y, const Bit_Row& z) { 2441: const mp_size_t y_size = y.vec->_mp_size; 2441: ((void) 0); 2441: const mp_size_t z_size = z.vec->_mp_size; 2441: ((void) 0); 2441: if (y_size < z_size) { 2441: ((void) 0) 2441: ; 2441: 2441: # 61 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_init2 2441: # 61 "../../src/Bit_Row_inlines.hh" 2441: (vec, static_cast(z_size) * ((4) * static_cast(8))); 2441: union_helper(y, z); 2441: } 2441: else { 2441: ((void) 0) 2441: ; 2441: 2441: # 67 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_init2 2441: # 67 "../../src/Bit_Row_inlines.hh" 2441: (vec, static_cast(y_size) * ((4) * static_cast(8))); 2441: union_helper(z, y); 2441: } 2441: } 2441: 2441: inline 2441: Bit_Row::~Bit_Row() { 2441: 2441: # 74 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_clear 2441: # 74 "../../src/Bit_Row_inlines.hh" 2441: (vec); 2441: } 2441: 2441: inline Bit_Row& 2441: Bit_Row::operator=(const Bit_Row& y) { 2441: 2441: # 79 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_set 2441: # 79 "../../src/Bit_Row_inlines.hh" 2441: (vec, y.vec); 2441: return *this; 2441: } 2441: 2441: inline void 2441: Bit_Row::set(const unsigned long k) { 2441: 2441: # 85 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_setbit 2441: # 85 "../../src/Bit_Row_inlines.hh" 2441: (vec, k); 2441: } 2441: 2441: inline void 2441: Bit_Row::clear(const unsigned long k) { 2441: 2441: # 90 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_clrbit 2441: # 90 "../../src/Bit_Row_inlines.hh" 2441: (vec, k); 2441: } 2441: 2441: inline void 2441: Bit_Row::clear_from(const unsigned long k) { 2441: 2441: # 95 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_tdiv_r_2exp 2441: # 95 "../../src/Bit_Row_inlines.hh" 2441: (vec, vec, k); 2441: } 2441: 2441: inline unsigned long 2441: Bit_Row::count_ones() const { 2441: const mp_size_t x_size = vec->_mp_size; 2441: ((void) 0); 2441: return (x_size == 0) ? 0 : 2441: # 102 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpn_popcount 2441: # 102 "../../src/Bit_Row_inlines.hh" 2441: (vec->_mp_d, x_size); 2441: } 2441: 2441: inline bool 2441: Bit_Row::empty() const { 2441: return 2441: # 107 "../../src/Bit_Row_inlines.hh" 3 4 2441: (( 2441: # 107 "../../src/Bit_Row_inlines.hh" 2441: vec 2441: # 107 "../../src/Bit_Row_inlines.hh" 3 4 2441: )->_mp_size < 0 ? -1 : ( 2441: # 107 "../../src/Bit_Row_inlines.hh" 2441: vec 2441: # 107 "../../src/Bit_Row_inlines.hh" 3 4 2441: )->_mp_size > 0) 2441: # 107 "../../src/Bit_Row_inlines.hh" 2441: == 0; 2441: } 2441: 2441: inline void 2441: Bit_Row::m_swap(Bit_Row& y) { 2441: 2441: # 112 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_swap 2441: # 112 "../../src/Bit_Row_inlines.hh" 2441: (vec, y.vec); 2441: } 2441: 2441: inline void 2441: Bit_Row::clear() { 2441: 2441: # 117 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_set_ui 2441: # 117 "../../src/Bit_Row_inlines.hh" 2441: (vec, 0UL); 2441: } 2441: 2441: inline memory_size_type 2441: Bit_Row::external_memory_in_bytes() const { 2441: return static_cast(vec[0]._mp_alloc) * 4; 2441: } 2441: 2441: inline memory_size_type 2441: Bit_Row::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline void 2441: Bit_Row::union_assign(const Bit_Row& x, const Bit_Row& y) { 2441: const mp_size_t x_size = x.vec->_mp_size; 2441: ((void) 0); 2441: const mp_size_t y_size = y.vec->_mp_size; 2441: ((void) 0); 2441: if (x_size < y_size) { 2441: ((void) 0) 2441: ; 2441: 2441: # 139 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_realloc2 2441: # 139 "../../src/Bit_Row_inlines.hh" 2441: (vec, static_cast(y_size) * ((4) * static_cast(8))); 2441: union_helper(x, y); 2441: } 2441: else { 2441: ((void) 0) 2441: ; 2441: 2441: # 145 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_realloc2 2441: # 145 "../../src/Bit_Row_inlines.hh" 2441: (vec, static_cast(x_size) * ((4) * static_cast(8))); 2441: union_helper(y, x); 2441: } 2441: } 2441: 2441: inline void 2441: Bit_Row::intersection_assign(const Bit_Row& x, const Bit_Row& y) { 2441: 2441: # 152 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_and 2441: # 152 "../../src/Bit_Row_inlines.hh" 2441: (vec, x.vec, y.vec); 2441: } 2441: 2441: inline void 2441: Bit_Row::difference_assign(const Bit_Row& x, const Bit_Row& y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_complement_y; mpz_class& complement_y = holder_complement_y.item(); 2441: 2441: # 158 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_com 2441: # 158 "../../src/Bit_Row_inlines.hh" 2441: (complement_y.get_mpz_t(), y.vec); 2441: 2441: # 159 "../../src/Bit_Row_inlines.hh" 3 4 2441: __gmpz_and 2441: # 159 "../../src/Bit_Row_inlines.hh" 2441: (vec, x.vec, complement_y.get_mpz_t()); 2441: } 2441: 2441: namespace Implementation { 2441: 2441: 2441: 2441: 2441: inline unsigned int 2441: first_one(unsigned int u) { 2441: return ctz(u); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: inline unsigned int 2441: first_one(unsigned long ul) { 2441: return ctz(ul); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: inline unsigned int 2441: first_one(unsigned long long ull) { 2441: return ctz(ull); 2441: } 2441: 2441: 2441: 2441: 2441: inline unsigned int 2441: last_one(unsigned int u) { 2441: return static_cast(((sizeof(u)) * static_cast(8))) 2441: - 1U - clz(u); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: inline unsigned int 2441: last_one(unsigned long ul) { 2441: return static_cast(((sizeof(ul)) * static_cast(8))) 2441: - 1U - clz(ul); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: inline unsigned int 2441: last_one(unsigned long long ull) { 2441: return static_cast(((sizeof(ull)) * static_cast(8))) 2441: - 1U - clz(ull); 2441: } 2441: 2441: } 2441: 2441: 2441: inline void 2441: swap(Bit_Row& x, Bit_Row& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: 2441: inline void 2441: iter_swap(std::vector::iterator x, 2441: std::vector::iterator y) { 2441: swap(*x, *y); 2441: } 2441: 2441: } 2441: # 213 "../../src/Bit_Row_defs.hh" 2 2441: # 28 "../../src/Linear_System_inlines.hh" 2 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline memory_size_type 2441: Linear_System::external_memory_in_bytes() const { 2441: return rows.external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Linear_System::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline bool 2441: Linear_System::is_sorted() const { 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: return sorted; 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_sorted(const bool b) { 2441: sorted = b; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_System::Linear_System(Topology topol, Representation r) 2441: : rows(), 2441: space_dimension_(0), 2441: row_topology(topol), 2441: index_first_pending(0), 2441: sorted(true), 2441: representation_(r) { 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_System::Linear_System(Topology topol, 2441: dimension_type space_dim, 2441: Representation r) 2441: : rows(), 2441: space_dimension_(0), 2441: row_topology(topol), 2441: index_first_pending(0), 2441: sorted(true), 2441: representation_(r) { 2441: set_space_dimension(space_dim); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_System::first_pending_row() const { 2441: return index_first_pending; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_System::num_pending_rows() const { 2441: ((void) 0); 2441: return num_rows() - first_pending_row(); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::unset_pending_rows() { 2441: index_first_pending = num_rows(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_index_first_pending_row(const dimension_type i) { 2441: index_first_pending = i; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_System::Linear_System(const Linear_System& y) 2441: : rows(y.rows), 2441: space_dimension_(y.space_dimension_), 2441: row_topology(y.row_topology), 2441: representation_(y.representation_) { 2441: 2441: sorted = (y.num_pending_rows() > 0) ? false : y.sorted; 2441: unset_pending_rows(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_System::Linear_System(const Linear_System& y, Representation r) 2441: : rows(), 2441: space_dimension_(y.space_dimension_), 2441: row_topology(y.row_topology), 2441: representation_(r) { 2441: rows.resize(y.num_rows()); 2441: for (dimension_type i = 0; i < y.num_rows(); ++i) { 2441: 2441: Row row(y.rows[i], r); 2441: swap(rows[i], row); 2441: } 2441: 2441: sorted = (y.num_pending_rows() > 0) ? false : y.sorted; 2441: unset_pending_rows(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_System::Linear_System(const Linear_System& y, With_Pending) 2441: : rows(y.rows), 2441: space_dimension_(y.space_dimension_), 2441: row_topology(y.row_topology), 2441: index_first_pending(y.index_first_pending), 2441: sorted(y.sorted), 2441: representation_(y.representation_) { 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Linear_System::Linear_System(const Linear_System& y, Representation r, 2441: With_Pending) 2441: : rows(), 2441: space_dimension_(y.space_dimension_), 2441: row_topology(y.row_topology), 2441: index_first_pending(y.index_first_pending), 2441: sorted(y.sorted), 2441: representation_(r) { 2441: rows.resize(y.num_rows()); 2441: for (dimension_type i = 0; i < y.num_rows(); ++i) { 2441: 2441: Row row(y.rows[i], r); 2441: swap(rows[i], row); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline Linear_System& 2441: Linear_System::operator=(const Linear_System& y) { 2441: 2441: Linear_System tmp = y; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::assign_with_pending(const Linear_System& y) { 2441: Linear_System tmp(y, With_Pending()); 2441: swap(*this, tmp); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::m_swap(Linear_System& y) { 2441: using std::swap; 2441: swap(rows, y.rows); 2441: swap(space_dimension_, y.space_dimension_); 2441: swap(row_topology, y.row_topology); 2441: swap(index_first_pending, y.index_first_pending); 2441: swap(sorted, y.sorted); 2441: swap(representation_, y.representation_); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::clear() { 2441: 2441: rows.clear(); 2441: index_first_pending = 0; 2441: sorted = true; 2441: space_dimension_ = 0; 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::mark_as_necessarily_closed() { 2441: ((void) 0); 2441: row_topology = NECESSARILY_CLOSED; 2441: ++space_dimension_; 2441: for (dimension_type i = num_rows(); i-- > 0; ) { 2441: rows[i].mark_as_necessarily_closed(); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::mark_as_not_necessarily_closed() { 2441: ((void) 0); 2441: ((void) 0); 2441: row_topology = NOT_NECESSARILY_CLOSED; 2441: --space_dimension_; 2441: for (dimension_type i = num_rows(); i-- > 0; ) { 2441: rows[i].mark_as_not_necessarily_closed(); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_topology(Topology t) { 2441: if (topology() == t) { 2441: return; 2441: } 2441: for (dimension_type i = num_rows(); i-- > 0; ) { 2441: rows[i].set_topology(t); 2441: } 2441: row_topology = t; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_necessarily_closed() { 2441: set_topology(NECESSARILY_CLOSED); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_not_necessarily_closed() { 2441: set_topology(NOT_NECESSARILY_CLOSED); 2441: } 2441: 2441: template 2441: inline bool 2441: Linear_System::is_necessarily_closed() const { 2441: return row_topology == NECESSARILY_CLOSED; 2441: } 2441: 2441: template 2441: inline const Row& 2441: Linear_System::operator[](const dimension_type k) const { 2441: return rows[k]; 2441: } 2441: 2441: template 2441: inline typename Linear_System::iterator 2441: Linear_System::begin() { 2441: return rows.begin(); 2441: } 2441: 2441: template 2441: inline typename Linear_System::iterator 2441: Linear_System::end() { 2441: return rows.end(); 2441: } 2441: 2441: template 2441: inline typename Linear_System::const_iterator 2441: Linear_System::begin() const { 2441: return rows.begin(); 2441: } 2441: 2441: template 2441: inline typename Linear_System::const_iterator 2441: Linear_System::end() const { 2441: return rows.end(); 2441: } 2441: 2441: template 2441: inline bool 2441: Linear_System::has_no_rows() const { 2441: return rows.empty(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_System::num_rows() const { 2441: return rows.size(); 2441: } 2441: 2441: template 2441: inline Topology 2441: Linear_System::topology() const { 2441: return row_topology; 2441: } 2441: 2441: template 2441: inline Representation 2441: Linear_System::representation() const { 2441: return representation_; 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_representation(Representation r) { 2441: representation_ = r; 2441: for (dimension_type i = 0; i < rows.size(); ++i) { 2441: rows[i].set_representation(r); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_System::max_space_dimension() { 2441: return Row::max_space_dimension(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Linear_System::space_dimension() const { 2441: return space_dimension_; 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_space_dimension_no_ok(dimension_type space_dim) { 2441: for (dimension_type i = rows.size(); i-- > 0; ) { 2441: rows[i].set_space_dimension_no_ok(space_dim); 2441: } 2441: space_dimension_ = space_dim; 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::set_space_dimension(dimension_type space_dim) { 2441: set_space_dimension_no_ok(space_dim); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::remove_row_no_ok(const dimension_type i, 2441: const bool keep_sorted) { 2441: ((void) 0); 2441: const bool was_pending = (i >= index_first_pending); 2441: 2441: if (sorted && keep_sorted && !was_pending) { 2441: for (dimension_type j = i + 1; j < rows.size(); ++j) { 2441: swap(rows[j], rows[j-1]); 2441: } 2441: rows.pop_back(); 2441: } 2441: else { 2441: if (!was_pending) { 2441: sorted = false; 2441: } 2441: const bool last_row_is_pending = (num_rows() - 1 >= index_first_pending); 2441: if (was_pending == last_row_is_pending) { 2441: 2441: swap(rows[i], rows.back()); 2441: } 2441: else { 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: swap(rows[i], rows[index_first_pending - 1]); 2441: 2441: 2441: 2441: swap(rows[i], rows.back()); 2441: } 2441: rows.pop_back(); 2441: } 2441: if (!was_pending) { 2441: 2441: --index_first_pending; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::remove_row(const dimension_type i, bool keep_sorted) { 2441: remove_row_no_ok(i, keep_sorted); 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: inline void 2441: Linear_System::remove_rows(dimension_type first, 2441: dimension_type last, 2441: bool keep_sorted) { 2441: ((void) 0); 2441: ((void) 0); 2441: const dimension_type n = last - first; 2441: 2441: if (n == 0) { 2441: return; 2441: } 2441: 2441: 2441: 2441: ((void) 0); 2441: 2441: const bool were_pending = (first >= index_first_pending); 2441: 2441: 2441: if (sorted && keep_sorted && !were_pending) { 2441: 2441: for (dimension_type i = last; i < rows.size(); ++i) { 2441: swap(rows[i], rows[i - n]); 2441: } 2441: 2441: rows.resize(rows.size() - n); 2441: 2441: 2441: index_first_pending -= n; 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: const dimension_type offset = rows.size() - n - first; 2441: 2441: 2441: 2441: 2441: if (index_first_pending == num_rows()) { 2441: 2441: ((void) 0); 2441: 2441: swap_row_intervals(first, last, offset); 2441: 2441: rows.resize(rows.size() - n); 2441: 2441: 2441: index_first_pending -= n; 2441: } 2441: else { 2441: 2441: if (were_pending) { 2441: 2441: 2441: 2441: swap_row_intervals(first, last, offset); 2441: 2441: rows.resize(rows.size() - n); 2441: 2441: 2441: index_first_pending -= n; 2441: } 2441: else { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: ((void) 0); 2441: swap_row_intervals(first, last, index_first_pending - last); 2441: 2441: 2441: index_first_pending -= n; 2441: first = index_first_pending; 2441: last = first + n; 2441: 2441: 2441: swap_row_intervals(first, last, num_rows() - last); 2441: 2441: 2441: rows.resize(rows.size() - n); 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::swap_row_intervals(dimension_type first, 2441: dimension_type last, 2441: dimension_type offset) { 2441: ((void) 0); 2441: ((void) 0); 2441: # 534 "../../src/Linear_System_inlines.hh" 2441: if (first + offset < last) { 2441: 2441: const dimension_type k = last - first - offset; 2441: last -= k; 2441: offset += k; 2441: } 2441: 2441: if (first == last) { 2441: 2441: return; 2441: } 2441: 2441: for (dimension_type i = first; i < last; ++i) { 2441: swap(rows[i], rows[i + offset]); 2441: } 2441: 2441: if (first < index_first_pending) { 2441: 2441: set_sorted(false); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::remove_rows(const std::vector& indexes) { 2441: # 576 "../../src/Linear_System_inlines.hh" 2441: if (indexes.empty()) { 2441: return; 2441: } 2441: 2441: const dimension_type rows_size = rows.size(); 2441: typedef std::vector::const_iterator itr_t; 2441: 2441: 2441: 2441: 2441: dimension_type last_unused_row = indexes[0]; 2441: dimension_type i = indexes[0]; 2441: itr_t itr = indexes.begin(); 2441: itr_t itr_end = indexes.end(); 2441: while (itr != itr_end) { 2441: 2441: ((void) 0); 2441: if (*itr == i) { 2441: 2441: ++itr; 2441: } 2441: else { 2441: 2441: swap(rows[last_unused_row], rows[i]); 2441: ++last_unused_row; 2441: } 2441: ++i; 2441: } 2441: 2441: 2441: for ( ; i < rows_size; ++i) { 2441: swap(rows[last_unused_row], rows[i]); 2441: ++last_unused_row; 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: rows.resize(last_unused_row); 2441: 2441: 2441: if (indexes[0] >= index_first_pending) { 2441: 2441: } 2441: else { 2441: if (indexes.back() < index_first_pending) { 2441: 2441: index_first_pending -= indexes.size(); 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: itr_t j = std::lower_bound(indexes.begin(), indexes.end(), 2441: index_first_pending); 2441: std::iterator_traits::difference_type 2441: non_pending = j - indexes.begin(); 2441: index_first_pending -= static_cast(non_pending); 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System::remove_trailing_rows(const dimension_type n) { 2441: ((void) 0); 2441: rows.resize(rows.size() - n); 2441: if (first_pending_row() > rows.size()) { 2441: index_first_pending = rows.size(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System 2441: ::permute_space_dimensions(const std::vector& cycle) { 2441: for (dimension_type i = num_rows(); i-- > 0; ) { 2441: rows[i].permute_space_dimensions(cycle); 2441: } 2441: sorted = false; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Linear_System 2441: ::swap_space_dimensions(Variable v1, Variable v2) { 2441: ((void) 0); 2441: ((void) 0); 2441: for (dimension_type k = num_rows(); k-- > 0; ) { 2441: rows[k].swap_space_dimensions(v1, v2); 2441: } 2441: sorted = false; 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const Linear_System& x, const Linear_System& y) { 2441: return !(x == y); 2441: } 2441: 2441: template 2441: inline bool 2441: Linear_System::Row_Less_Than::operator()(const Row& x, 2441: const Row& y) const { 2441: return compare(x, y) < 0; 2441: } 2441: 2441: template 2441: inline 2441: Linear_System::Unique_Compare 2441: ::Unique_Compare(const Swapping_Vector& cont, 2441: dimension_type base) 2441: : container(cont), base_index(base) { 2441: } 2441: 2441: template 2441: inline bool 2441: Linear_System::Unique_Compare 2441: ::operator()(dimension_type i, dimension_type j) const { 2441: return container[base_index + i].is_equal_to(container[base_index + j]); 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(Linear_System& x, Linear_System& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 580 "../../src/Linear_System_defs.hh" 2 2441: # 1 "../../src/Linear_System_templates.hh" 1 2441: # 27 "../../src/Linear_System_templates.hh" 2441: # 1 "../../src/Bit_Matrix_defs.hh" 1 2441: # 33 "../../src/Bit_Matrix_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: class Parma_Polyhedra_Library::Bit_Matrix { 2441: public: 2441: 2441: Bit_Matrix(); 2441: 2441: 2441: Bit_Matrix(dimension_type n_rows, dimension_type n_columns); 2441: 2441: 2441: Bit_Matrix(const Bit_Matrix& y); 2441: 2441: 2441: ~Bit_Matrix(); 2441: 2441: 2441: Bit_Matrix& operator=(const Bit_Matrix& y); 2441: 2441: 2441: void m_swap(Bit_Matrix& y); 2441: 2441: 2441: Bit_Row& operator[](dimension_type k); 2441: 2441: 2441: const Bit_Row& operator[](dimension_type k) const; 2441: 2441: 2441: void clear(); 2441: 2441: 2441: void transpose(); 2441: 2441: 2441: void transpose_assign(const Bit_Matrix& y); 2441: 2441: 2441: static dimension_type max_num_rows(); 2441: 2441: 2441: dimension_type num_columns() const; 2441: 2441: 2441: dimension_type num_rows() const; 2441: 2441: 2441: void sort_rows(); 2441: # 105 "../../src/Bit_Matrix_defs.hh" 2441: bool sorted_contains(const Bit_Row& row) const; 2441: # 114 "../../src/Bit_Matrix_defs.hh" 2441: void add_recycled_row(Bit_Row& row); 2441: 2441: 2441: void remove_trailing_rows(dimension_type n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_trailing_columns(dimension_type n); 2441: 2441: 2441: void resize(dimension_type new_n_rows, dimension_type new_n_columns); 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: private: 2441: 2441: std::vector rows; 2441: 2441: 2441: dimension_type row_size; 2441: 2441: 2441: 2441: struct Bit_Row_Less_Than { 2441: bool operator()(const Bit_Row& x, const Bit_Row& y) const; 2441: }; 2441: 2441: template 2441: friend class Parma_Polyhedra_Library::Linear_System; 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Bit_Matrix& x, const Bit_Matrix& y); 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Bit_Matrix& x, const Bit_Matrix& y); 2441: 2441: } 2441: 2441: # 1 "../../src/Bit_Matrix_inlines.hh" 1 2441: # 30 "../../src/Bit_Matrix_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Bit_Matrix::Bit_Matrix() 2441: : rows(), 2441: row_size(0) { 2441: } 2441: 2441: inline dimension_type 2441: Bit_Matrix::max_num_rows() { 2441: return std::vector().max_size(); 2441: } 2441: 2441: inline 2441: Bit_Matrix::Bit_Matrix(const dimension_type n_rows, 2441: const dimension_type n_columns) 2441: : rows(n_rows), 2441: row_size(n_columns) { 2441: } 2441: 2441: inline 2441: Bit_Matrix::Bit_Matrix(const Bit_Matrix& y) 2441: : rows(y.rows), 2441: row_size(y.row_size) { 2441: } 2441: 2441: inline 2441: Bit_Matrix::~Bit_Matrix() { 2441: } 2441: 2441: inline void 2441: Bit_Matrix::remove_trailing_rows(const dimension_type n) { 2441: 2441: 2441: ((void) 0); 2441: if (n != 0) { 2441: rows.resize(rows.size() - n); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Bit_Matrix::remove_trailing_columns(const dimension_type n) { 2441: 2441: 2441: ((void) 0); 2441: row_size -= n; 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Bit_Matrix::m_swap(Bit_Matrix& y) { 2441: std::swap(row_size, y.row_size); 2441: std::swap(rows, y.rows); 2441: } 2441: 2441: inline Bit_Row& 2441: Bit_Matrix::operator[](const dimension_type k) { 2441: ((void) 0); 2441: return rows[k]; 2441: } 2441: 2441: inline const Bit_Row& 2441: Bit_Matrix::operator[](const dimension_type k) const { 2441: ((void) 0); 2441: return rows[k]; 2441: } 2441: 2441: inline dimension_type 2441: Bit_Matrix::num_columns() const { 2441: return row_size; 2441: } 2441: 2441: inline dimension_type 2441: Bit_Matrix::num_rows() const { 2441: return rows.size(); 2441: } 2441: 2441: inline void 2441: Bit_Matrix::clear() { 2441: 2441: std::vector tmp; 2441: std::swap(tmp, rows); 2441: row_size = 0; 2441: } 2441: 2441: inline memory_size_type 2441: Bit_Matrix::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline bool 2441: Bit_Matrix::Bit_Row_Less_Than:: 2441: operator()(const Bit_Row& x, const Bit_Row& y) const { 2441: return compare(x, y) < 0; 2441: } 2441: 2441: inline bool 2441: Bit_Matrix::sorted_contains(const Bit_Row& row) const { 2441: ((void) 0); 2441: return std::binary_search(rows.begin(), rows.end(), row, 2441: Bit_Row_Less_Than()); 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Bit_Matrix& x, const Bit_Matrix& y) { 2441: return !(x == y); 2441: } 2441: 2441: 2441: inline void 2441: swap(Bit_Matrix& x, Bit_Matrix& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 186 "../../src/Bit_Matrix_defs.hh" 2 2441: # 28 "../../src/Linear_System_templates.hh" 2 2441: 2441: # 1 "../../src/Scalar_Products_defs.hh" 1 2441: # 44 "../../src/Scalar_Products_defs.hh" 2441: class Parma_Polyhedra_Library::Scalar_Products { 2441: public: 2441: 2441: static void assign(Coefficient& z, 2441: const Linear_Expression& x, const Linear_Expression& y); 2441: 2441: 2441: static void assign(Coefficient& z, const Constraint& c, const Generator& g); 2441: 2441: 2441: static void assign(Coefficient& z, const Generator& g, const Constraint& c); 2441: 2441: 2441: static void assign(Coefficient& z, 2441: const Constraint& c, const Grid_Generator& gg); 2441: 2441: 2441: static void assign(Coefficient& z, 2441: const Grid_Generator& gg, const Congruence& cg); 2441: 2441: 2441: static void assign(Coefficient& z, 2441: const Congruence& cg, const Grid_Generator& gg); 2441: 2441: 2441: static int sign(const Linear_Expression& x, const Linear_Expression& y); 2441: 2441: 2441: static int sign(const Constraint& c, const Generator& g); 2441: 2441: 2441: static int sign(const Generator& g, const Constraint& c); 2441: 2441: 2441: static int sign(const Constraint& c, const Grid_Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void reduced_assign(Coefficient& z, 2441: const Linear_Expression& x, 2441: const Linear_Expression& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void reduced_assign(Coefficient& z, 2441: const Constraint& c, const Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void reduced_assign(Coefficient& z, 2441: const Generator& g, const Constraint& c); 2441: 2441: 2441: 2441: 2441: 2441: static void reduced_assign(Coefficient& z, 2441: const Grid_Generator& gg, const Congruence& cg); 2441: 2441: 2441: 2441: 2441: 2441: static int reduced_sign(const Linear_Expression& x, 2441: const Linear_Expression& y); 2441: 2441: 2441: 2441: 2441: 2441: static int reduced_sign(const Constraint& c, const Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: static int reduced_sign(const Generator& g, const Constraint& c); 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void homogeneous_assign(Coefficient& z, 2441: const Linear_Expression& x, 2441: const Linear_Expression& y); 2441: 2441: 2441: 2441: 2441: 2441: static void homogeneous_assign(Coefficient& z, 2441: const Linear_Expression& e, 2441: const Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: static void homogeneous_assign(Coefficient& z, 2441: const Grid_Generator& gg, 2441: const Constraint& c); 2441: 2441: 2441: 2441: 2441: 2441: static void homogeneous_assign(Coefficient& z, 2441: const Grid_Generator& gg, 2441: const Congruence& cg); 2441: 2441: 2441: 2441: 2441: 2441: static void homogeneous_assign(Coefficient& z, 2441: const Linear_Expression& e, 2441: const Grid_Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: static int homogeneous_sign(const Linear_Expression& x, 2441: const Linear_Expression& y); 2441: 2441: 2441: 2441: 2441: 2441: static int homogeneous_sign(const Linear_Expression& e, const Generator& g); 2441: 2441: 2441: 2441: 2441: static int homogeneous_sign(const Linear_Expression& e, 2441: const Grid_Generator& g); 2441: 2441: 2441: 2441: 2441: static int homogeneous_sign(const Grid_Generator& g, const Constraint& c); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign { 2441: public: 2441: 2441: Topology_Adjusted_Scalar_Product_Sign(const Constraint& c); 2441: 2441: 2441: Topology_Adjusted_Scalar_Product_Sign(const Generator& g); 2441: 2441: 2441: int operator()(const Constraint&, const Generator&) const; 2441: 2441: 2441: int operator()(const Generator&, const Constraint&) const; 2441: 2441: private: 2441: 2441: typedef int (* const SPS_type)(const Linear_Expression&, 2441: const Linear_Expression&); 2441: 2441: 2441: SPS_type sps_fp; 2441: }; 2441: # 30 "../../src/Linear_System_templates.hh" 2 2441: # 1 "../../src/Scalar_Products_inlines.hh" 1 2441: # 33 "../../src/Scalar_Products_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline int 2441: Scalar_Products::sign(const Linear_Expression& x, const Linear_Expression& y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_z; Parma_Polyhedra_Library::Coefficient& z = holder_z.item(); 2441: assign(z, x, y); 2441: return sgn(z); 2441: } 2441: 2441: inline int 2441: Scalar_Products::reduced_sign(const Linear_Expression& x, 2441: const Linear_Expression& y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_z; Parma_Polyhedra_Library::Coefficient& z = holder_z.item(); 2441: reduced_assign(z, x, y); 2441: return sgn(z); 2441: } 2441: 2441: inline int 2441: Scalar_Products::homogeneous_sign(const Linear_Expression& x, 2441: const Linear_Expression& y) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_z; Parma_Polyhedra_Library::Coefficient& z = holder_z.item(); 2441: homogeneous_assign(z, x, y); 2441: return sgn(z); 2441: } 2441: 2441: inline int 2441: Scalar_Products::sign(const Constraint& c, const Generator& g) { 2441: return sign(c.expr, g.expr); 2441: } 2441: 2441: inline int 2441: Scalar_Products::sign(const Generator& g, const Constraint& c) { 2441: return sign(g.expr, c.expr); 2441: } 2441: 2441: inline int 2441: Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_z; Parma_Polyhedra_Library::Coefficient& z = holder_z.item(); 2441: assign(z, c, g); 2441: return sgn(z); 2441: } 2441: 2441: inline int 2441: Scalar_Products::reduced_sign(const Constraint& c, const Generator& g) { 2441: 2441: 2441: ((void) 0); 2441: return reduced_sign(c.expr, g.expr); 2441: } 2441: 2441: inline int 2441: Scalar_Products::reduced_sign(const Generator& g, const Constraint& c) { 2441: 2441: 2441: ((void) 0); 2441: return reduced_sign(g.expr, c.expr); 2441: } 2441: 2441: inline void 2441: Scalar_Products::homogeneous_assign(Coefficient& z, 2441: const Linear_Expression& e, 2441: const Generator& g) { 2441: homogeneous_assign(z, e, g.expr); 2441: } 2441: 2441: inline void 2441: Scalar_Products::homogeneous_assign(Coefficient& z, 2441: const Linear_Expression& e, 2441: const Grid_Generator& g) { 2441: homogeneous_assign(z, e, g.expr); 2441: } 2441: 2441: inline int 2441: Scalar_Products::homogeneous_sign(const Linear_Expression& e, 2441: const Generator& g) { 2441: return homogeneous_sign(e, g.expr); 2441: } 2441: 2441: inline int 2441: Scalar_Products::homogeneous_sign(const Linear_Expression& e, 2441: const Grid_Generator& g) { 2441: return homogeneous_sign(e, g.expr); 2441: } 2441: 2441: inline int 2441: Scalar_Products::homogeneous_sign(const Grid_Generator& g, 2441: const Constraint& c) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_z; Parma_Polyhedra_Library::Coefficient& z = holder_z.item(); 2441: homogeneous_assign(z, g, c); 2441: return sgn(z); 2441: } 2441: 2441: inline 2441: Topology_Adjusted_Scalar_Product_Sign 2441: ::Topology_Adjusted_Scalar_Product_Sign(const Constraint& c) 2441: : sps_fp(c.is_necessarily_closed() 2441: ? static_cast(&Scalar_Products::sign) 2441: : static_cast(&Scalar_Products::reduced_sign)) { 2441: } 2441: 2441: inline 2441: Topology_Adjusted_Scalar_Product_Sign 2441: ::Topology_Adjusted_Scalar_Product_Sign(const Generator& g) 2441: : sps_fp(g.is_necessarily_closed() 2441: ? static_cast(&Scalar_Products::sign) 2441: : static_cast(&Scalar_Products::reduced_sign)) { 2441: } 2441: 2441: inline int 2441: Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c, 2441: const Generator& g) const { 2441: ((void) 0); 2441: ((void) 0) 2441: 2441: ; 2441: return sps_fp(c.expr, g.expr); 2441: } 2441: 2441: inline int 2441: Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g, 2441: const Constraint& c) const { 2441: ((void) 0); 2441: ((void) 0) 2441: 2441: ; 2441: return sps_fp(g.expr, c.expr); 2441: } 2441: 2441: } 2441: # 31 "../../src/Linear_System_templates.hh" 2 2441: # 1 "../../src/swapping_sort_templates.hh" 1 2441: # 30 "../../src/swapping_sort_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Implementation { 2441: 2441: template 2441: struct Indirect_Sort_Compare { 2441: typedef typename RA_Container::size_type size_type; 2441: 2441: Indirect_Sort_Compare(const RA_Container& cont, 2441: size_type base = 0, 2441: Compare comp = Compare()) 2441: : container(cont), base_index(base), compare(comp) { 2441: } 2441: 2441: bool operator()(size_type i, size_type j) const { 2441: return compare(container[base_index + i], container[base_index + j]); 2441: } 2441: 2441: const RA_Container& container; 2441: const size_type base_index; 2441: const Compare compare; 2441: }; 2441: 2441: template 2441: struct Indirect_Unique_Compare { 2441: typedef typename RA_Container::size_type size_type; 2441: 2441: Indirect_Unique_Compare(const RA_Container& cont, size_type base = 0) 2441: : container(cont), base_index(base) { 2441: } 2441: 2441: bool operator()(size_type i, size_type j) const { 2441: return container[base_index + i] == container[base_index + j]; 2441: } 2441: 2441: const RA_Container& container; 2441: const size_type base_index; 2441: }; 2441: 2441: template 2441: struct Indirect_Swapper { 2441: typedef typename RA_Container::size_type size_type; 2441: 2441: Indirect_Swapper(RA_Container& cont, size_type base = 0) 2441: : container(cont), base_index(base) { 2441: } 2441: 2441: void operator()(size_type i, size_type j) const { 2441: using std::swap; 2441: swap(container[base_index + i], container[base_index + j]); 2441: } 2441: 2441: RA_Container& container; 2441: const size_type base_index; 2441: }; 2441: 2441: template 2441: struct Indirect_Swapper2 { 2441: typedef typename RA_Container1::size_type size_type; 2441: 2441: Indirect_Swapper2(RA_Container1& cont1, RA_Container2& cont2) 2441: : container1(cont1), container2(cont2) { 2441: } 2441: 2441: void operator()(size_type i, size_type j) const { 2441: using std::swap; 2441: swap(container1[i], container1[j]); 2441: swap(container2[i], container2[j]); 2441: } 2441: 2441: RA_Container1& container1; 2441: RA_Container2& container2; 2441: }; 2441: 2441: template 2441: typename Sort_Comparer::size_type 2441: indirect_sort_and_unique(typename Sort_Comparer::size_type num_elems, 2441: Sort_Comparer sort_cmp, 2441: Unique_Comparer unique_cmp, 2441: Swapper indirect_swap) { 2441: typedef typename Sort_Comparer::size_type index_type; 2441: 2441: ((void) 0); 2441: std::vector iv; 2441: iv.reserve(num_elems); 2441: for (index_type i = 0, i_end = num_elems; i != i_end; ++i) { 2441: iv.push_back(i); 2441: } 2441: 2441: typedef typename std::vector::iterator Iter; 2441: const Iter iv_begin = iv.begin(); 2441: Iter iv_end = iv.end(); 2441: 2441: 2441: std::sort(iv_begin, iv_end, sort_cmp); 2441: 2441: 2441: 2441: 2441: for (index_type i = num_elems; i-- > 0; ) { 2441: if (i != iv[i]) { 2441: index_type dst = i; 2441: index_type src = iv[i]; 2441: do { 2441: indirect_swap(src, dst); 2441: iv[dst] = dst; 2441: dst = src; 2441: src = iv[dst]; 2441: } while (i != src); 2441: iv[dst] = dst; 2441: } 2441: } 2441: 2441: 2441: for (index_type i = num_elems; i-- > 0; ) { 2441: iv[i] = i; 2441: } 2441: 2441: 2441: iv_end = std::unique(iv_begin, iv_end, unique_cmp); 2441: 2441: const index_type num_sorted = static_cast(iv_end - iv_begin); 2441: const index_type num_duplicates = num_elems - num_sorted; 2441: if (num_duplicates == 0) { 2441: return 0; 2441: } 2441: 2441: 2441: index_type dst = 0; 2441: while (dst < num_sorted && dst == iv[dst]) { 2441: ++dst; 2441: } 2441: if (dst == num_sorted) { 2441: return num_duplicates; 2441: } 2441: do { 2441: const index_type src = iv[dst]; 2441: indirect_swap(src, dst); 2441: ++dst; 2441: } 2441: while (dst < num_sorted); 2441: return num_duplicates; 2441: } 2441: 2441: template 2441: Iter 2441: swapping_unique(Iter first, Iter last) { 2441: return swapping_unique(first, last, std::iter_swap); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 32 "../../src/Linear_System_templates.hh" 2 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/deque" 1 3 2441: # 58 "/usr/include/c++/8/deque" 3 2441: 2441: # 59 "/usr/include/c++/8/deque" 3 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/stl_deque.h" 1 3 2441: # 68 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: 2441: # 68 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: # 91 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: constexpr inline size_t 2441: __deque_buf_size(size_t __size) 2441: { return (__size < 512 2441: ? size_t(512 / __size) : size_t(1)); } 2441: # 108 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: struct _Deque_iterator 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: private: 2441: template 2441: using __ptr_to = typename pointer_traits<_Ptr>::template rebind<_Up>; 2441: template 2441: using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_to<_CvTp>>; 2441: public: 2441: typedef __iter<_Tp> iterator; 2441: typedef __iter const_iterator; 2441: typedef __ptr_to<_Tp> _Elt_pointer; 2441: typedef __ptr_to<_Elt_pointer> _Map_pointer; 2441: 2441: 2441: static size_t _S_buffer_size() noexcept 2441: { return __deque_buf_size(sizeof(_Tp)); } 2441: 2441: typedef std::random_access_iterator_tag iterator_category; 2441: typedef _Tp value_type; 2441: typedef _Ptr pointer; 2441: typedef _Ref reference; 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Deque_iterator _Self; 2441: 2441: _Elt_pointer _M_cur; 2441: _Elt_pointer _M_first; 2441: _Elt_pointer _M_last; 2441: _Map_pointer _M_node; 2441: 2441: _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept 2441: : _M_cur(__x), _M_first(*__y), 2441: _M_last(*__y + _S_buffer_size()), _M_node(__y) { } 2441: 2441: _Deque_iterator() noexcept 2441: : _M_cur(), _M_first(), _M_last(), _M_node() { } 2441: 2441: _Deque_iterator(const iterator& __x) noexcept 2441: : _M_cur(__x._M_cur), _M_first(__x._M_first), 2441: _M_last(__x._M_last), _M_node(__x._M_node) { } 2441: 2441: iterator 2441: _M_const_cast() const noexcept 2441: { return iterator(_M_cur, _M_node); } 2441: 2441: reference 2441: operator*() const noexcept 2441: { return *_M_cur; } 2441: 2441: pointer 2441: operator->() const noexcept 2441: { return _M_cur; } 2441: 2441: _Self& 2441: operator++() noexcept 2441: { 2441: ++_M_cur; 2441: if (_M_cur == _M_last) 2441: { 2441: _M_set_node(_M_node + 1); 2441: _M_cur = _M_first; 2441: } 2441: return *this; 2441: } 2441: 2441: _Self 2441: operator++(int) noexcept 2441: { 2441: _Self __tmp = *this; 2441: ++*this; 2441: return __tmp; 2441: } 2441: 2441: _Self& 2441: operator--() noexcept 2441: { 2441: if (_M_cur == _M_first) 2441: { 2441: _M_set_node(_M_node - 1); 2441: _M_cur = _M_last; 2441: } 2441: --_M_cur; 2441: return *this; 2441: } 2441: 2441: _Self 2441: operator--(int) noexcept 2441: { 2441: _Self __tmp = *this; 2441: --*this; 2441: return __tmp; 2441: } 2441: 2441: _Self& 2441: operator+=(difference_type __n) noexcept 2441: { 2441: const difference_type __offset = __n + (_M_cur - _M_first); 2441: if (__offset >= 0 && __offset < difference_type(_S_buffer_size())) 2441: _M_cur += __n; 2441: else 2441: { 2441: const difference_type __node_offset = 2441: __offset > 0 ? __offset / difference_type(_S_buffer_size()) 2441: : -difference_type((-__offset - 1) 2441: / _S_buffer_size()) - 1; 2441: _M_set_node(_M_node + __node_offset); 2441: _M_cur = _M_first + (__offset - __node_offset 2441: * difference_type(_S_buffer_size())); 2441: } 2441: return *this; 2441: } 2441: 2441: _Self 2441: operator+(difference_type __n) const noexcept 2441: { 2441: _Self __tmp = *this; 2441: return __tmp += __n; 2441: } 2441: 2441: _Self& 2441: operator-=(difference_type __n) noexcept 2441: { return *this += -__n; } 2441: 2441: _Self 2441: operator-(difference_type __n) const noexcept 2441: { 2441: _Self __tmp = *this; 2441: return __tmp -= __n; 2441: } 2441: 2441: reference 2441: operator[](difference_type __n) const noexcept 2441: { return *(*this + __n); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: _M_set_node(_Map_pointer __new_node) noexcept 2441: { 2441: _M_node = __new_node; 2441: _M_first = *__new_node; 2441: _M_last = _M_first + difference_type(_S_buffer_size()); 2441: } 2441: }; 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, 2441: const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept 2441: { return __x._M_cur == __y._M_cur; } 2441: 2441: template 2441: inline bool 2441: operator==(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, 2441: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 2441: { return __x._M_cur == __y._M_cur; } 2441: 2441: template 2441: inline bool 2441: operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, 2441: const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept 2441: { return !(__x == __y); } 2441: 2441: template 2441: inline bool 2441: operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, 2441: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 2441: { return !(__x == __y); } 2441: 2441: template 2441: inline bool 2441: operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, 2441: const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept 2441: { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur) 2441: : (__x._M_node < __y._M_node); } 2441: 2441: template 2441: inline bool 2441: operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, 2441: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 2441: { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur) 2441: : (__x._M_node < __y._M_node); } 2441: 2441: template 2441: inline bool 2441: operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, 2441: const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept 2441: { return __y < __x; } 2441: 2441: template 2441: inline bool 2441: operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, 2441: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 2441: { return __y < __x; } 2441: 2441: template 2441: inline bool 2441: operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, 2441: const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, 2441: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 2441: { return !(__y < __x); } 2441: 2441: template 2441: inline bool 2441: operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, 2441: const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept 2441: { return !(__x < __y); } 2441: 2441: template 2441: inline bool 2441: operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, 2441: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 2441: { return !(__x < __y); } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type 2441: operator-(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, 2441: const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept 2441: { 2441: return typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type 2441: (_Deque_iterator<_Tp, _Ref, _Ptr>::_S_buffer_size()) 2441: * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) 2441: + (__y._M_last - __y._M_cur); 2441: } 2441: 2441: template 2441: inline typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type 2441: operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, 2441: const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept 2441: { 2441: return typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type 2441: (_Deque_iterator<_Tp, _RefL, _PtrL>::_S_buffer_size()) 2441: * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) 2441: + (__y._M_last - __y._M_cur); 2441: } 2441: 2441: template 2441: inline _Deque_iterator<_Tp, _Ref, _Ptr> 2441: operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Ref, _Ptr>& __x) 2441: noexcept 2441: { return __x + __n; } 2441: 2441: template 2441: void 2441: fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>&, 2441: const _Deque_iterator<_Tp, _Tp&, _Tp*>&, const _Tp&); 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: copy(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*>); 2441: 2441: template 2441: inline _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: copy(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { return std::copy(_Deque_iterator<_Tp, const _Tp&, const _Tp*>(__first), 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*>(__last), 2441: __result); } 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: copy_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*>); 2441: 2441: template 2441: inline _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: copy_backward(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { return std::copy_backward(_Deque_iterator<_Tp, 2441: const _Tp&, const _Tp*>(__first), 2441: _Deque_iterator<_Tp, 2441: const _Tp&, const _Tp*>(__last), 2441: __result); } 2441: 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: move(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*>); 2441: 2441: template 2441: inline _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: move(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { return std::move(_Deque_iterator<_Tp, const _Tp&, const _Tp*>(__first), 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*>(__last), 2441: __result); } 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: move_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*>, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*>); 2441: 2441: template 2441: inline _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: move_backward(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { return std::move_backward(_Deque_iterator<_Tp, 2441: const _Tp&, const _Tp*>(__first), 2441: _Deque_iterator<_Tp, 2441: const _Tp&, const _Tp*>(__last), 2441: __result); } 2441: # 460 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: class _Deque_base 2441: { 2441: protected: 2441: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 2441: rebind<_Tp>::other _Tp_alloc_type; 2441: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; 2441: 2441: 2441: 2441: 2441: 2441: typedef typename _Alloc_traits::pointer _Ptr; 2441: typedef typename _Alloc_traits::const_pointer _Ptr_const; 2441: 2441: 2441: typedef typename _Alloc_traits::template rebind<_Ptr>::other 2441: _Map_alloc_type; 2441: typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits; 2441: 2441: public: 2441: typedef _Alloc allocator_type; 2441: typedef typename _Alloc_traits::size_type size_type; 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return allocator_type(_M_get_Tp_allocator()); } 2441: 2441: typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator; 2441: typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator; 2441: 2441: _Deque_base() 2441: : _M_impl() 2441: { _M_initialize_map(0); } 2441: 2441: _Deque_base(size_t __num_elements) 2441: : _M_impl() 2441: { _M_initialize_map(__num_elements); } 2441: 2441: _Deque_base(const allocator_type& __a, size_t __num_elements) 2441: : _M_impl(__a) 2441: { _M_initialize_map(__num_elements); } 2441: 2441: _Deque_base(const allocator_type& __a) 2441: : _M_impl(__a) 2441: { } 2441: 2441: 2441: _Deque_base(_Deque_base&& __x, false_type) 2441: : _M_impl(__x._M_move_impl()) 2441: { } 2441: 2441: _Deque_base(_Deque_base&& __x, true_type) 2441: : _M_impl(std::move(__x._M_get_Tp_allocator())) 2441: { 2441: _M_initialize_map(0); 2441: if (__x._M_impl._M_map) 2441: this->_M_impl._M_swap_data(__x._M_impl); 2441: } 2441: 2441: _Deque_base(_Deque_base&& __x) 2441: : _Deque_base(std::move(__x), typename _Alloc_traits::is_always_equal{}) 2441: { } 2441: 2441: _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_type __n) 2441: : _M_impl(__a) 2441: { 2441: if (__x.get_allocator() == __a) 2441: { 2441: if (__x._M_impl._M_map) 2441: { 2441: _M_initialize_map(0); 2441: this->_M_impl._M_swap_data(__x._M_impl); 2441: } 2441: } 2441: else 2441: { 2441: _M_initialize_map(__n); 2441: } 2441: } 2441: 2441: 2441: ~_Deque_base() noexcept; 2441: 2441: protected: 2441: typedef typename iterator::_Map_pointer _Map_pointer; 2441: 2441: 2441: 2441: 2441: struct _Deque_impl 2441: : public _Tp_alloc_type 2441: { 2441: _Map_pointer _M_map; 2441: size_t _M_map_size; 2441: iterator _M_start; 2441: iterator _M_finish; 2441: 2441: _Deque_impl() 2441: : _Tp_alloc_type(), _M_map(), _M_map_size(0), 2441: _M_start(), _M_finish() 2441: { } 2441: 2441: _Deque_impl(const _Tp_alloc_type& __a) noexcept 2441: : _Tp_alloc_type(__a), _M_map(), _M_map_size(0), 2441: _M_start(), _M_finish() 2441: { } 2441: 2441: 2441: _Deque_impl(_Deque_impl&&) = default; 2441: 2441: _Deque_impl(_Tp_alloc_type&& __a) noexcept 2441: : _Tp_alloc_type(std::move(__a)), _M_map(), _M_map_size(0), 2441: _M_start(), _M_finish() 2441: { } 2441: 2441: 2441: void _M_swap_data(_Deque_impl& __x) noexcept 2441: { 2441: using std::swap; 2441: swap(this->_M_start, __x._M_start); 2441: swap(this->_M_finish, __x._M_finish); 2441: swap(this->_M_map, __x._M_map); 2441: swap(this->_M_map_size, __x._M_map_size); 2441: } 2441: }; 2441: 2441: _Tp_alloc_type& 2441: _M_get_Tp_allocator() noexcept 2441: { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } 2441: 2441: const _Tp_alloc_type& 2441: _M_get_Tp_allocator() const noexcept 2441: { return *static_cast(&this->_M_impl); } 2441: 2441: _Map_alloc_type 2441: _M_get_map_allocator() const noexcept 2441: { return _Map_alloc_type(_M_get_Tp_allocator()); } 2441: 2441: _Ptr 2441: _M_allocate_node() 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits; 2441: return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp))); 2441: } 2441: 2441: void 2441: _M_deallocate_node(_Ptr __p) noexcept 2441: { 2441: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits; 2441: _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp))); 2441: } 2441: 2441: _Map_pointer 2441: _M_allocate_map(size_t __n) 2441: { 2441: _Map_alloc_type __map_alloc = _M_get_map_allocator(); 2441: return _Map_alloc_traits::allocate(__map_alloc, __n); 2441: } 2441: 2441: void 2441: _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept 2441: { 2441: _Map_alloc_type __map_alloc = _M_get_map_allocator(); 2441: _Map_alloc_traits::deallocate(__map_alloc, __p, __n); 2441: } 2441: 2441: protected: 2441: void _M_initialize_map(size_t); 2441: void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish); 2441: void _M_destroy_nodes(_Map_pointer __nstart, 2441: _Map_pointer __nfinish) noexcept; 2441: enum { _S_initial_map_size = 8 }; 2441: 2441: _Deque_impl _M_impl; 2441: 2441: 2441: private: 2441: _Deque_impl 2441: _M_move_impl() 2441: { 2441: if (!_M_impl._M_map) 2441: return std::move(_M_impl); 2441: 2441: 2441: _Tp_alloc_type __alloc{_M_get_Tp_allocator()}; 2441: 2441: _Tp_alloc_type __sink __attribute((__unused__)) {std::move(__alloc)}; 2441: 2441: _Deque_base __empty{__alloc}; 2441: __empty._M_initialize_map(0); 2441: 2441: _Deque_impl __ret{std::move(_M_get_Tp_allocator())}; 2441: _M_impl._M_swap_data(__ret); 2441: _M_impl._M_swap_data(__empty._M_impl); 2441: return __ret; 2441: } 2441: 2441: }; 2441: 2441: template 2441: _Deque_base<_Tp, _Alloc>:: 2441: ~_Deque_base() noexcept 2441: { 2441: if (this->_M_impl._M_map) 2441: { 2441: _M_destroy_nodes(this->_M_impl._M_start._M_node, 2441: this->_M_impl._M_finish._M_node + 1); 2441: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 2441: } 2441: } 2441: # 680 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: void 2441: _Deque_base<_Tp, _Alloc>:: 2441: _M_initialize_map(size_t __num_elements) 2441: { 2441: const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp)) 2441: + 1); 2441: 2441: this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size, 2441: size_t(__num_nodes + 2)); 2441: this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size); 2441: 2441: 2441: 2441: 2441: 2441: 2441: _Map_pointer __nstart = (this->_M_impl._M_map 2441: + (this->_M_impl._M_map_size - __num_nodes) / 2); 2441: _Map_pointer __nfinish = __nstart + __num_nodes; 2441: 2441: try 2441: { _M_create_nodes(__nstart, __nfinish); } 2441: catch(...) 2441: { 2441: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 2441: this->_M_impl._M_map = _Map_pointer(); 2441: this->_M_impl._M_map_size = 0; 2441: throw; 2441: } 2441: 2441: this->_M_impl._M_start._M_set_node(__nstart); 2441: this->_M_impl._M_finish._M_set_node(__nfinish - 1); 2441: this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first; 2441: this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first 2441: + __num_elements 2441: % __deque_buf_size(sizeof(_Tp))); 2441: } 2441: 2441: template 2441: void 2441: _Deque_base<_Tp, _Alloc>:: 2441: _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish) 2441: { 2441: _Map_pointer __cur; 2441: try 2441: { 2441: for (__cur = __nstart; __cur < __nfinish; ++__cur) 2441: *__cur = this->_M_allocate_node(); 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(__nstart, __cur); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: void 2441: _Deque_base<_Tp, _Alloc>:: 2441: _M_destroy_nodes(_Map_pointer __nstart, 2441: _Map_pointer __nfinish) noexcept 2441: { 2441: for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n) 2441: _M_deallocate_node(*__n); 2441: } 2441: # 831 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template > 2441: class deque : protected _Deque_base<_Tp, _Alloc> 2441: { 2441: # 844 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: static_assert(is_same::type, _Tp>::value, 2441: "std::deque must have a non-const, non-volatile value_type"); 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef _Deque_base<_Tp, _Alloc> _Base; 2441: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 2441: typedef typename _Base::_Alloc_traits _Alloc_traits; 2441: typedef typename _Base::_Map_pointer _Map_pointer; 2441: 2441: public: 2441: typedef _Tp value_type; 2441: typedef typename _Alloc_traits::pointer pointer; 2441: typedef typename _Alloc_traits::const_pointer const_pointer; 2441: typedef typename _Alloc_traits::reference reference; 2441: typedef typename _Alloc_traits::const_reference const_reference; 2441: typedef typename _Base::iterator iterator; 2441: typedef typename _Base::const_iterator const_iterator; 2441: typedef std::reverse_iterator const_reverse_iterator; 2441: typedef std::reverse_iterator reverse_iterator; 2441: typedef size_t size_type; 2441: typedef ptrdiff_t difference_type; 2441: typedef _Alloc allocator_type; 2441: 2441: protected: 2441: static size_t _S_buffer_size() noexcept 2441: { return __deque_buf_size(sizeof(_Tp)); } 2441: 2441: 2441: using _Base::_M_initialize_map; 2441: using _Base::_M_create_nodes; 2441: using _Base::_M_destroy_nodes; 2441: using _Base::_M_allocate_node; 2441: using _Base::_M_deallocate_node; 2441: using _Base::_M_allocate_map; 2441: using _Base::_M_deallocate_map; 2441: using _Base::_M_get_Tp_allocator; 2441: 2441: 2441: 2441: 2441: 2441: using _Base::_M_impl; 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: deque() : _Base() { } 2441: 2441: 2441: 2441: 2441: 2441: explicit 2441: deque(const allocator_type& __a) 2441: : _Base(__a, 0) { } 2441: # 917 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: explicit 2441: deque(size_type __n, const allocator_type& __a = allocator_type()) 2441: : _Base(__a, __n) 2441: { _M_default_initialize(); } 2441: # 930 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: deque(size_type __n, const value_type& __value, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__a, __n) 2441: { _M_fill_initialize(__value); } 2441: # 957 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: deque(const deque& __x) 2441: : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()), 2441: __x.size()) 2441: { std::__uninitialized_copy_a(__x.begin(), __x.end(), 2441: this->_M_impl._M_start, 2441: _M_get_Tp_allocator()); } 2441: # 972 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: deque(deque&& __x) 2441: : _Base(std::move(__x)) { } 2441: 2441: 2441: deque(const deque& __x, const allocator_type& __a) 2441: : _Base(__a, __x.size()) 2441: { std::__uninitialized_copy_a(__x.begin(), __x.end(), 2441: this->_M_impl._M_start, 2441: _M_get_Tp_allocator()); } 2441: 2441: 2441: deque(deque&& __x, const allocator_type& __a) 2441: : _Base(std::move(__x), __a, __x.size()) 2441: { 2441: if (__x.get_allocator() != __a) 2441: { 2441: std::__uninitialized_move_a(__x.begin(), __x.end(), 2441: this->_M_impl._M_start, 2441: _M_get_Tp_allocator()); 2441: __x.clear(); 2441: } 2441: } 2441: # 1006 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: deque(initializer_list __l, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__a) 2441: { 2441: _M_range_initialize(__l.begin(), __l.end(), 2441: random_access_iterator_tag()); 2441: } 2441: # 1031 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template> 2441: deque(_InputIterator __first, _InputIterator __last, 2441: const allocator_type& __a = allocator_type()) 2441: : _Base(__a) 2441: { _M_initialize_dispatch(__first, __last, __false_type()); } 2441: # 1054 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: ~deque() 2441: { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); } 2441: # 1066 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: deque& 2441: operator=(const deque& __x); 2441: # 1078 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: deque& 2441: operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal()) 2441: { 2441: using __always_equal = typename _Alloc_traits::is_always_equal; 2441: _M_move_assign1(std::move(__x), __always_equal{}); 2441: return *this; 2441: } 2441: # 1097 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: deque& 2441: operator=(initializer_list __l) 2441: { 2441: _M_assign_aux(__l.begin(), __l.end(), 2441: random_access_iterator_tag()); 2441: return *this; 2441: } 2441: # 1116 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: assign(size_type __n, const value_type& __val) 2441: { _M_fill_assign(__n, __val); } 2441: # 1133 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template> 2441: void 2441: assign(_InputIterator __first, _InputIterator __last) 2441: { _M_assign_dispatch(__first, __last, __false_type()); } 2441: # 1160 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: assign(initializer_list __l) 2441: { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 2441: 2441: 2441: 2441: allocator_type 2441: get_allocator() const noexcept 2441: { return _Base::get_allocator(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: begin() noexcept 2441: { return this->_M_impl._M_start; } 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: begin() const noexcept 2441: { return this->_M_impl._M_start; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator 2441: end() noexcept 2441: { return this->_M_impl._M_finish; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: end() const noexcept 2441: { return this->_M_impl._M_finish; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rbegin() noexcept 2441: { return reverse_iterator(this->_M_impl._M_finish); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rbegin() const noexcept 2441: { return const_reverse_iterator(this->_M_impl._M_finish); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: reverse_iterator 2441: rend() noexcept 2441: { return reverse_iterator(this->_M_impl._M_start); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: rend() const noexcept 2441: { return const_reverse_iterator(this->_M_impl._M_start); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cbegin() const noexcept 2441: { return this->_M_impl._M_start; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator 2441: cend() const noexcept 2441: { return this->_M_impl._M_finish; } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crbegin() const noexcept 2441: { return const_reverse_iterator(this->_M_impl._M_finish); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_reverse_iterator 2441: crend() const noexcept 2441: { return const_reverse_iterator(this->_M_impl._M_start); } 2441: 2441: 2441: 2441: 2441: size_type 2441: size() const noexcept 2441: { return this->_M_impl._M_finish - this->_M_impl._M_start; } 2441: 2441: 2441: size_type 2441: max_size() const noexcept 2441: { return _Alloc_traits::max_size(_M_get_Tp_allocator()); } 2441: # 1299 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: resize(size_type __new_size) 2441: { 2441: const size_type __len = size(); 2441: if (__new_size > __len) 2441: _M_default_append(__new_size - __len); 2441: else if (__new_size < __len) 2441: _M_erase_at_end(this->_M_impl._M_start 2441: + difference_type(__new_size)); 2441: } 2441: # 1321 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: resize(size_type __new_size, const value_type& __x) 2441: { 2441: const size_type __len = size(); 2441: if (__new_size > __len) 2441: _M_fill_insert(this->_M_impl._M_finish, __new_size - __len, __x); 2441: else if (__new_size < __len) 2441: _M_erase_at_end(this->_M_impl._M_start 2441: + difference_type(__new_size)); 2441: } 2441: # 1357 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: shrink_to_fit() noexcept 2441: { _M_shrink_to_fit(); } 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool 2441: empty() const noexcept 2441: { return this->_M_impl._M_finish == this->_M_impl._M_start; } 2441: # 1382 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: reference 2441: operator[](size_type __n) noexcept 2441: { 2441: ; 2441: return this->_M_impl._M_start[difference_type(__n)]; 2441: } 2441: # 1400 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: const_reference 2441: operator[](size_type __n) const noexcept 2441: { 2441: ; 2441: return this->_M_impl._M_start[difference_type(__n)]; 2441: } 2441: 2441: protected: 2441: 2441: void 2441: _M_range_check(size_type __n) const 2441: { 2441: if (__n >= this->size()) 2441: __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)") 2441: 2441: , 2441: __n, this->size()); 2441: } 2441: 2441: public: 2441: # 1431 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: reference 2441: at(size_type __n) 2441: { 2441: _M_range_check(__n); 2441: return (*this)[__n]; 2441: } 2441: # 1449 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: const_reference 2441: at(size_type __n) const 2441: { 2441: _M_range_check(__n); 2441: return (*this)[__n]; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: reference 2441: front() noexcept 2441: { 2441: ; 2441: return *begin(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const_reference 2441: front() const noexcept 2441: { 2441: ; 2441: return *begin(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: reference 2441: back() noexcept 2441: { 2441: ; 2441: iterator __tmp = end(); 2441: --__tmp; 2441: return *__tmp; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const_reference 2441: back() const noexcept 2441: { 2441: ; 2441: const_iterator __tmp = end(); 2441: --__tmp; 2441: return *__tmp; 2441: } 2441: # 1514 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: push_front(const value_type& __x) 2441: { 2441: if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first) 2441: { 2441: _Alloc_traits::construct(this->_M_impl, 2441: this->_M_impl._M_start._M_cur - 1, 2441: __x); 2441: --this->_M_impl._M_start._M_cur; 2441: } 2441: else 2441: _M_push_front_aux(__x); 2441: } 2441: 2441: 2441: void 2441: push_front(value_type&& __x) 2441: { emplace_front(std::move(__x)); } 2441: 2441: template 2441: 2441: 2441: 2441: void 2441: 2441: emplace_front(_Args&&... __args); 2441: # 1551 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: push_back(const value_type& __x) 2441: { 2441: if (this->_M_impl._M_finish._M_cur 2441: != this->_M_impl._M_finish._M_last - 1) 2441: { 2441: _Alloc_traits::construct(this->_M_impl, 2441: this->_M_impl._M_finish._M_cur, __x); 2441: ++this->_M_impl._M_finish._M_cur; 2441: } 2441: else 2441: _M_push_back_aux(__x); 2441: } 2441: 2441: 2441: void 2441: push_back(value_type&& __x) 2441: { emplace_back(std::move(__x)); } 2441: 2441: template 2441: 2441: 2441: 2441: void 2441: 2441: emplace_back(_Args&&... __args); 2441: # 1587 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: pop_front() noexcept 2441: { 2441: ; 2441: if (this->_M_impl._M_start._M_cur 2441: != this->_M_impl._M_start._M_last - 1) 2441: { 2441: _Alloc_traits::destroy(this->_M_impl, 2441: this->_M_impl._M_start._M_cur); 2441: ++this->_M_impl._M_start._M_cur; 2441: } 2441: else 2441: _M_pop_front_aux(); 2441: } 2441: # 1610 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: pop_back() noexcept 2441: { 2441: ; 2441: if (this->_M_impl._M_finish._M_cur 2441: != this->_M_impl._M_finish._M_first) 2441: { 2441: --this->_M_impl._M_finish._M_cur; 2441: _Alloc_traits::destroy(this->_M_impl, 2441: this->_M_impl._M_finish._M_cur); 2441: } 2441: else 2441: _M_pop_back_aux(); 2441: } 2441: # 1635 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: iterator 2441: emplace(const_iterator __position, _Args&&... __args); 2441: # 1648 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: iterator 2441: insert(const_iterator __position, const value_type& __x); 2441: # 1674 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: iterator 2441: insert(const_iterator __position, value_type&& __x) 2441: { return emplace(__position, std::move(__x)); } 2441: # 1687 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: iterator 2441: insert(const_iterator __p, initializer_list __l) 2441: { 2441: auto __offset = __p - cbegin(); 2441: _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(), 2441: std::random_access_iterator_tag()); 2441: return begin() + __offset; 2441: } 2441: # 1708 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: iterator 2441: insert(const_iterator __position, size_type __n, const value_type& __x) 2441: { 2441: difference_type __offset = __position - cbegin(); 2441: _M_fill_insert(__position._M_const_cast(), __n, __x); 2441: return begin() + __offset; 2441: } 2441: # 1742 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template> 2441: iterator 2441: insert(const_iterator __position, _InputIterator __first, 2441: _InputIterator __last) 2441: { 2441: difference_type __offset = __position - cbegin(); 2441: _M_insert_dispatch(__position._M_const_cast(), 2441: __first, __last, __false_type()); 2441: return begin() + __offset; 2441: } 2441: # 1788 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: iterator 2441: 2441: erase(const_iterator __position) 2441: 2441: 2441: 2441: { return _M_erase(__position._M_const_cast()); } 2441: # 1812 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: iterator 2441: 2441: erase(const_iterator __first, const_iterator __last) 2441: 2441: 2441: 2441: { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } 2441: # 1831 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: swap(deque& __x) noexcept 2441: { 2441: 2441: 2441: ; 2441: 2441: _M_impl._M_swap_data(__x._M_impl); 2441: _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), 2441: __x._M_get_Tp_allocator()); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void 2441: clear() noexcept 2441: { _M_erase_at_end(begin()); } 2441: 2441: protected: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 2441: { 2441: _M_initialize_map(static_cast(__n)); 2441: _M_fill_initialize(__x); 2441: } 2441: 2441: 2441: template 2441: void 2441: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 2441: __false_type) 2441: { 2441: _M_range_initialize(__first, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: # 1890 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: void 2441: _M_range_initialize(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag); 2441: 2441: 2441: template 2441: void 2441: _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag); 2441: # 1912 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: _M_fill_initialize(const value_type& __value); 2441: 2441: 2441: 2441: void 2441: _M_default_initialize(); 2441: # 1928 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: void 2441: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 2441: { _M_fill_assign(__n, __val); } 2441: 2441: 2441: template 2441: void 2441: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 2441: __false_type) 2441: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 2441: 2441: 2441: template 2441: void 2441: _M_assign_aux(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag); 2441: 2441: 2441: template 2441: void 2441: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag) 2441: { 2441: const size_type __len = std::distance(__first, __last); 2441: if (__len > size()) 2441: { 2441: _ForwardIterator __mid = __first; 2441: std::advance(__mid, size()); 2441: std::copy(__first, __mid, begin()); 2441: _M_range_insert_aux(end(), __mid, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: else 2441: _M_erase_at_end(std::copy(__first, __last, begin())); 2441: } 2441: 2441: 2441: 2441: void 2441: _M_fill_assign(size_type __n, const value_type& __val) 2441: { 2441: if (__n > size()) 2441: { 2441: std::fill(begin(), end(), __val); 2441: _M_fill_insert(end(), __n - size(), __val); 2441: } 2441: else 2441: { 2441: _M_erase_at_end(begin() + difference_type(__n)); 2441: std::fill(begin(), end(), __val); 2441: } 2441: } 2441: # 1989 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: void _M_push_back_aux(_Args&&... __args); 2441: 2441: template 2441: void _M_push_front_aux(_Args&&... __args); 2441: 2441: 2441: void _M_pop_back_aux(); 2441: 2441: void _M_pop_front_aux(); 2441: # 2008 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: void 2441: _M_insert_dispatch(iterator __pos, 2441: _Integer __n, _Integer __x, __true_type) 2441: { _M_fill_insert(__pos, __n, __x); } 2441: 2441: 2441: template 2441: void 2441: _M_insert_dispatch(iterator __pos, 2441: _InputIterator __first, _InputIterator __last, 2441: __false_type) 2441: { 2441: _M_range_insert_aux(__pos, __first, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: 2441: template 2441: void 2441: _M_range_insert_aux(iterator __pos, _InputIterator __first, 2441: _InputIterator __last, std::input_iterator_tag); 2441: 2441: 2441: template 2441: void 2441: _M_range_insert_aux(iterator __pos, _ForwardIterator __first, 2441: _ForwardIterator __last, std::forward_iterator_tag); 2441: 2441: 2441: 2441: 2441: void 2441: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: iterator 2441: _M_insert_aux(iterator __pos, _Args&&... __args); 2441: 2441: 2441: 2441: void 2441: _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); 2441: 2441: 2441: template 2441: void 2441: _M_insert_aux(iterator __pos, 2441: _ForwardIterator __first, _ForwardIterator __last, 2441: size_type __n); 2441: 2441: 2441: 2441: 2441: void 2441: _M_destroy_data_aux(iterator __first, iterator __last); 2441: 2441: 2441: 2441: template 2441: void 2441: _M_destroy_data(iterator __first, iterator __last, const _Alloc1&) 2441: { _M_destroy_data_aux(__first, __last); } 2441: 2441: void 2441: _M_destroy_data(iterator __first, iterator __last, 2441: const std::allocator<_Tp>&) 2441: { 2441: if (!__has_trivial_destructor(value_type)) 2441: _M_destroy_data_aux(__first, __last); 2441: } 2441: 2441: 2441: void 2441: _M_erase_at_begin(iterator __pos) 2441: { 2441: _M_destroy_data(begin(), __pos, _M_get_Tp_allocator()); 2441: _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node); 2441: this->_M_impl._M_start = __pos; 2441: } 2441: 2441: 2441: 2441: void 2441: _M_erase_at_end(iterator __pos) 2441: { 2441: _M_destroy_data(__pos, end(), _M_get_Tp_allocator()); 2441: _M_destroy_nodes(__pos._M_node + 1, 2441: this->_M_impl._M_finish._M_node + 1); 2441: this->_M_impl._M_finish = __pos; 2441: } 2441: 2441: iterator 2441: _M_erase(iterator __pos); 2441: 2441: iterator 2441: _M_erase(iterator __first, iterator __last); 2441: 2441: 2441: 2441: void 2441: _M_default_append(size_type __n); 2441: 2441: bool 2441: _M_shrink_to_fit(); 2441: 2441: 2441: 2441: 2441: iterator 2441: _M_reserve_elements_at_front(size_type __n) 2441: { 2441: const size_type __vacancies = this->_M_impl._M_start._M_cur 2441: - this->_M_impl._M_start._M_first; 2441: if (__n > __vacancies) 2441: _M_new_elements_at_front(__n - __vacancies); 2441: return this->_M_impl._M_start - difference_type(__n); 2441: } 2441: 2441: iterator 2441: _M_reserve_elements_at_back(size_type __n) 2441: { 2441: const size_type __vacancies = (this->_M_impl._M_finish._M_last 2441: - this->_M_impl._M_finish._M_cur) - 1; 2441: if (__n > __vacancies) 2441: _M_new_elements_at_back(__n - __vacancies); 2441: return this->_M_impl._M_finish + difference_type(__n); 2441: } 2441: 2441: void 2441: _M_new_elements_at_front(size_type __new_elements); 2441: 2441: void 2441: _M_new_elements_at_back(size_type __new_elements); 2441: # 2158 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: void 2441: _M_reserve_map_at_back(size_type __nodes_to_add = 1) 2441: { 2441: if (__nodes_to_add + 1 > this->_M_impl._M_map_size 2441: - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map)) 2441: _M_reallocate_map(__nodes_to_add, false); 2441: } 2441: 2441: void 2441: _M_reserve_map_at_front(size_type __nodes_to_add = 1) 2441: { 2441: if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node 2441: - this->_M_impl._M_map)) 2441: _M_reallocate_map(__nodes_to_add, true); 2441: } 2441: 2441: void 2441: _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front); 2441: 2441: 2441: 2441: 2441: 2441: void 2441: _M_move_assign1(deque&& __x, true_type) noexcept 2441: { 2441: this->_M_impl._M_swap_data(__x._M_impl); 2441: __x.clear(); 2441: std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); 2441: } 2441: 2441: 2441: 2441: 2441: void 2441: _M_move_assign1(deque&& __x, false_type) 2441: { 2441: constexpr bool __move_storage = 2441: _Alloc_traits::_S_propagate_on_move_assign(); 2441: _M_move_assign2(std::move(__x), __bool_constant<__move_storage>()); 2441: } 2441: 2441: 2441: 2441: template 2441: void 2441: _M_replace_map(_Args&&... __args) 2441: { 2441: 2441: deque __newobj(std::forward<_Args>(__args)...); 2441: 2441: clear(); 2441: _M_deallocate_node(*begin()._M_node); 2441: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 2441: this->_M_impl._M_map = nullptr; 2441: this->_M_impl._M_map_size = 0; 2441: 2441: this->_M_impl._M_swap_data(__newobj._M_impl); 2441: } 2441: 2441: 2441: void 2441: _M_move_assign2(deque&& __x, true_type) 2441: { 2441: 2441: auto __alloc = __x._M_get_Tp_allocator(); 2441: 2441: 2441: _M_replace_map(std::move(__x)); 2441: 2441: _M_get_Tp_allocator() = std::move(__alloc); 2441: } 2441: 2441: 2441: 2441: void 2441: _M_move_assign2(deque&& __x, false_type) 2441: { 2441: if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) 2441: { 2441: 2441: 2441: _M_replace_map(std::move(__x), __x.get_allocator()); 2441: } 2441: else 2441: { 2441: 2441: 2441: _M_assign_aux(std::__make_move_if_noexcept_iterator(__x.begin()), 2441: std::__make_move_if_noexcept_iterator(__x.end()), 2441: std::random_access_iterator_tag()); 2441: __x.clear(); 2441: } 2441: } 2441: 2441: }; 2441: # 2275 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: inline bool 2441: operator==(const deque<_Tp, _Alloc>& __x, 2441: const deque<_Tp, _Alloc>& __y) 2441: { return __x.size() == __y.size() 2441: && std::equal(__x.begin(), __x.end(), __y.begin()); } 2441: # 2293 "/usr/include/c++/8/bits/stl_deque.h" 3 2441: template 2441: inline bool 2441: operator<(const deque<_Tp, _Alloc>& __x, 2441: const deque<_Tp, _Alloc>& __y) 2441: { return std::lexicographical_compare(__x.begin(), __x.end(), 2441: __y.begin(), __y.end()); } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const deque<_Tp, _Alloc>& __x, 2441: const deque<_Tp, _Alloc>& __y) 2441: { return !(__x == __y); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>(const deque<_Tp, _Alloc>& __x, 2441: const deque<_Tp, _Alloc>& __y) 2441: { return __y < __x; } 2441: 2441: 2441: template 2441: inline bool 2441: operator<=(const deque<_Tp, _Alloc>& __x, 2441: const deque<_Tp, _Alloc>& __y) 2441: { return !(__y < __x); } 2441: 2441: 2441: template 2441: inline bool 2441: operator>=(const deque<_Tp, _Alloc>& __x, 2441: const deque<_Tp, _Alloc>& __y) 2441: { return !(__x < __y); } 2441: 2441: 2441: template 2441: inline void 2441: swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) 2441: noexcept(noexcept(__x.swap(__y))) 2441: { __x.swap(__y); } 2441: 2441: 2441: 2441: 2441: 2441: } 2441: # 65 "/usr/include/c++/8/deque" 2 3 2441: 2441: # 1 "/usr/include/c++/8/bits/deque.tcc" 1 3 2441: # 59 "/usr/include/c++/8/bits/deque.tcc" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_default_initialize() 2441: { 2441: _Map_pointer __cur; 2441: try 2441: { 2441: for (__cur = this->_M_impl._M_start._M_node; 2441: __cur < this->_M_impl._M_finish._M_node; 2441: ++__cur) 2441: std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(), 2441: _M_get_Tp_allocator()); 2441: std::__uninitialized_default_a(this->_M_impl._M_finish._M_first, 2441: this->_M_impl._M_finish._M_cur, 2441: _M_get_Tp_allocator()); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur), 2441: _M_get_Tp_allocator()); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: template 2441: deque<_Tp, _Alloc>& 2441: deque<_Tp, _Alloc>:: 2441: operator=(const deque& __x) 2441: { 2441: if (&__x != this) 2441: { 2441: 2441: if (_Alloc_traits::_S_propagate_on_copy_assign()) 2441: { 2441: if (!_Alloc_traits::_S_always_equal() 2441: && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) 2441: { 2441: 2441: 2441: _M_replace_map(__x, __x.get_allocator()); 2441: std::__alloc_on_copy(_M_get_Tp_allocator(), 2441: __x._M_get_Tp_allocator()); 2441: return *this; 2441: } 2441: std::__alloc_on_copy(_M_get_Tp_allocator(), 2441: __x._M_get_Tp_allocator()); 2441: } 2441: 2441: const size_type __len = size(); 2441: if (__len >= __x.size()) 2441: _M_erase_at_end(std::copy(__x.begin(), __x.end(), 2441: this->_M_impl._M_start)); 2441: else 2441: { 2441: const_iterator __mid = __x.begin() + difference_type(__len); 2441: std::copy(__x.begin(), __mid, this->_M_impl._M_start); 2441: _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(), 2441: std::random_access_iterator_tag()); 2441: } 2441: } 2441: return *this; 2441: } 2441: 2441: 2441: template 2441: template 2441: 2441: 2441: 2441: void 2441: 2441: deque<_Tp, _Alloc>:: 2441: emplace_front(_Args&&... __args) 2441: { 2441: if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first) 2441: { 2441: _Alloc_traits::construct(this->_M_impl, 2441: this->_M_impl._M_start._M_cur - 1, 2441: std::forward<_Args>(__args)...); 2441: --this->_M_impl._M_start._M_cur; 2441: } 2441: else 2441: _M_push_front_aux(std::forward<_Args>(__args)...); 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: template 2441: 2441: 2441: 2441: void 2441: 2441: deque<_Tp, _Alloc>:: 2441: emplace_back(_Args&&... __args) 2441: { 2441: if (this->_M_impl._M_finish._M_cur 2441: != this->_M_impl._M_finish._M_last - 1) 2441: { 2441: _Alloc_traits::construct(this->_M_impl, 2441: this->_M_impl._M_finish._M_cur, 2441: std::forward<_Args>(__args)...); 2441: ++this->_M_impl._M_finish._M_cur; 2441: } 2441: else 2441: _M_push_back_aux(std::forward<_Args>(__args)...); 2441: 2441: 2441: 2441: } 2441: 2441: 2441: 2441: template 2441: template 2441: typename deque<_Tp, _Alloc>::iterator 2441: deque<_Tp, _Alloc>:: 2441: emplace(const_iterator __position, _Args&&... __args) 2441: { 2441: if (__position._M_cur == this->_M_impl._M_start._M_cur) 2441: { 2441: emplace_front(std::forward<_Args>(__args)...); 2441: return this->_M_impl._M_start; 2441: } 2441: else if (__position._M_cur == this->_M_impl._M_finish._M_cur) 2441: { 2441: emplace_back(std::forward<_Args>(__args)...); 2441: iterator __tmp = this->_M_impl._M_finish; 2441: --__tmp; 2441: return __tmp; 2441: } 2441: else 2441: return _M_insert_aux(__position._M_const_cast(), 2441: std::forward<_Args>(__args)...); 2441: } 2441: 2441: 2441: template 2441: typename deque<_Tp, _Alloc>::iterator 2441: deque<_Tp, _Alloc>:: 2441: 2441: insert(const_iterator __position, const value_type& __x) 2441: 2441: 2441: 2441: { 2441: if (__position._M_cur == this->_M_impl._M_start._M_cur) 2441: { 2441: push_front(__x); 2441: return this->_M_impl._M_start; 2441: } 2441: else if (__position._M_cur == this->_M_impl._M_finish._M_cur) 2441: { 2441: push_back(__x); 2441: iterator __tmp = this->_M_impl._M_finish; 2441: --__tmp; 2441: return __tmp; 2441: } 2441: else 2441: return _M_insert_aux(__position._M_const_cast(), __x); 2441: } 2441: 2441: template 2441: typename deque<_Tp, _Alloc>::iterator 2441: deque<_Tp, _Alloc>:: 2441: _M_erase(iterator __position) 2441: { 2441: iterator __next = __position; 2441: ++__next; 2441: const difference_type __index = __position - begin(); 2441: if (static_cast(__index) < (size() >> 1)) 2441: { 2441: if (__position != begin()) 2441: std::move_backward(begin(), __position, __next); 2441: pop_front(); 2441: } 2441: else 2441: { 2441: if (__next != end()) 2441: std::move(__next, end(), __position); 2441: pop_back(); 2441: } 2441: return begin() + __index; 2441: } 2441: 2441: template 2441: typename deque<_Tp, _Alloc>::iterator 2441: deque<_Tp, _Alloc>:: 2441: _M_erase(iterator __first, iterator __last) 2441: { 2441: if (__first == __last) 2441: return __first; 2441: else if (__first == begin() && __last == end()) 2441: { 2441: clear(); 2441: return end(); 2441: } 2441: else 2441: { 2441: const difference_type __n = __last - __first; 2441: const difference_type __elems_before = __first - begin(); 2441: if (static_cast(__elems_before) <= (size() - __n) / 2) 2441: { 2441: if (__first != begin()) 2441: std::move_backward(begin(), __first, __last); 2441: _M_erase_at_begin(begin() + __n); 2441: } 2441: else 2441: { 2441: if (__last != end()) 2441: std::move(__last, end(), __first); 2441: _M_erase_at_end(end() - __n); 2441: } 2441: return begin() + __elems_before; 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_assign_aux(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag) 2441: { 2441: iterator __cur = begin(); 2441: for (; __first != __last && __cur != end(); ++__cur, ++__first) 2441: *__cur = *__first; 2441: if (__first == __last) 2441: _M_erase_at_end(__cur); 2441: else 2441: _M_range_insert_aux(end(), __first, __last, 2441: std::__iterator_category(__first)); 2441: } 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x) 2441: { 2441: if (__pos._M_cur == this->_M_impl._M_start._M_cur) 2441: { 2441: iterator __new_start = _M_reserve_elements_at_front(__n); 2441: try 2441: { 2441: std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start, 2441: __x, _M_get_Tp_allocator()); 2441: this->_M_impl._M_start = __new_start; 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(__new_start._M_node, 2441: this->_M_impl._M_start._M_node); 2441: throw; 2441: } 2441: } 2441: else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) 2441: { 2441: iterator __new_finish = _M_reserve_elements_at_back(__n); 2441: try 2441: { 2441: std::__uninitialized_fill_a(this->_M_impl._M_finish, 2441: __new_finish, __x, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __new_finish; 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 2441: __new_finish._M_node + 1); 2441: throw; 2441: } 2441: } 2441: else 2441: _M_insert_aux(__pos, __n, __x); 2441: } 2441: 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_default_append(size_type __n) 2441: { 2441: if (__n) 2441: { 2441: iterator __new_finish = _M_reserve_elements_at_back(__n); 2441: try 2441: { 2441: std::__uninitialized_default_a(this->_M_impl._M_finish, 2441: __new_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __new_finish; 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 2441: __new_finish._M_node + 1); 2441: throw; 2441: } 2441: } 2441: } 2441: 2441: template 2441: bool 2441: deque<_Tp, _Alloc>:: 2441: _M_shrink_to_fit() 2441: { 2441: const difference_type __front_capacity 2441: = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first); 2441: if (__front_capacity == 0) 2441: return false; 2441: 2441: const difference_type __back_capacity 2441: = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur); 2441: if (__front_capacity + __back_capacity < _S_buffer_size()) 2441: return false; 2441: 2441: return std::__shrink_to_fit_aux::_S_do_it(*this); 2441: } 2441: 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_fill_initialize(const value_type& __value) 2441: { 2441: _Map_pointer __cur; 2441: try 2441: { 2441: for (__cur = this->_M_impl._M_start._M_node; 2441: __cur < this->_M_impl._M_finish._M_node; 2441: ++__cur) 2441: std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(), 2441: __value, _M_get_Tp_allocator()); 2441: std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first, 2441: this->_M_impl._M_finish._M_cur, 2441: __value, _M_get_Tp_allocator()); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur), 2441: _M_get_Tp_allocator()); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_range_initialize(_InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag) 2441: { 2441: this->_M_initialize_map(0); 2441: try 2441: { 2441: for (; __first != __last; ++__first) 2441: 2441: emplace_back(*__first); 2441: 2441: 2441: 2441: } 2441: catch(...) 2441: { 2441: clear(); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag) 2441: { 2441: const size_type __n = std::distance(__first, __last); 2441: this->_M_initialize_map(__n); 2441: 2441: _Map_pointer __cur_node; 2441: try 2441: { 2441: for (__cur_node = this->_M_impl._M_start._M_node; 2441: __cur_node < this->_M_impl._M_finish._M_node; 2441: ++__cur_node) 2441: { 2441: _ForwardIterator __mid = __first; 2441: std::advance(__mid, _S_buffer_size()); 2441: std::__uninitialized_copy_a(__first, __mid, *__cur_node, 2441: _M_get_Tp_allocator()); 2441: __first = __mid; 2441: } 2441: std::__uninitialized_copy_a(__first, __last, 2441: this->_M_impl._M_finish._M_first, 2441: _M_get_Tp_allocator()); 2441: } 2441: catch(...) 2441: { 2441: std::_Destroy(this->_M_impl._M_start, 2441: iterator(*__cur_node, __cur_node), 2441: _M_get_Tp_allocator()); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: template 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_push_back_aux(_Args&&... __args) 2441: 2441: 2441: 2441: 2441: 2441: { 2441: _M_reserve_map_at_back(); 2441: *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node(); 2441: try 2441: { 2441: 2441: _Alloc_traits::construct(this->_M_impl, 2441: this->_M_impl._M_finish._M_cur, 2441: std::forward<_Args>(__args)...); 2441: 2441: 2441: 2441: this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node 2441: + 1); 2441: this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first; 2441: } 2441: catch(...) 2441: { 2441: _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1)); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: template 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_push_front_aux(_Args&&... __args) 2441: 2441: 2441: 2441: 2441: 2441: { 2441: _M_reserve_map_at_front(); 2441: *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node(); 2441: try 2441: { 2441: this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node 2441: - 1); 2441: this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1; 2441: 2441: _Alloc_traits::construct(this->_M_impl, 2441: this->_M_impl._M_start._M_cur, 2441: std::forward<_Args>(__args)...); 2441: 2441: 2441: 2441: } 2441: catch(...) 2441: { 2441: ++this->_M_impl._M_start; 2441: _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1)); 2441: throw; 2441: } 2441: } 2441: 2441: 2441: template 2441: void deque<_Tp, _Alloc>:: 2441: _M_pop_back_aux() 2441: { 2441: _M_deallocate_node(this->_M_impl._M_finish._M_first); 2441: this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1); 2441: this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1; 2441: _Alloc_traits::destroy(_M_get_Tp_allocator(), 2441: this->_M_impl._M_finish._M_cur); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void deque<_Tp, _Alloc>:: 2441: _M_pop_front_aux() 2441: { 2441: _Alloc_traits::destroy(_M_get_Tp_allocator(), 2441: this->_M_impl._M_start._M_cur); 2441: _M_deallocate_node(this->_M_impl._M_start._M_first); 2441: this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1); 2441: this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first; 2441: } 2441: 2441: template 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_range_insert_aux(iterator __pos, 2441: _InputIterator __first, _InputIterator __last, 2441: std::input_iterator_tag) 2441: { std::copy(__first, __last, std::inserter(*this, __pos)); } 2441: 2441: template 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_range_insert_aux(iterator __pos, 2441: _ForwardIterator __first, _ForwardIterator __last, 2441: std::forward_iterator_tag) 2441: { 2441: const size_type __n = std::distance(__first, __last); 2441: if (__pos._M_cur == this->_M_impl._M_start._M_cur) 2441: { 2441: iterator __new_start = _M_reserve_elements_at_front(__n); 2441: try 2441: { 2441: std::__uninitialized_copy_a(__first, __last, __new_start, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_start = __new_start; 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(__new_start._M_node, 2441: this->_M_impl._M_start._M_node); 2441: throw; 2441: } 2441: } 2441: else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) 2441: { 2441: iterator __new_finish = _M_reserve_elements_at_back(__n); 2441: try 2441: { 2441: std::__uninitialized_copy_a(__first, __last, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __new_finish; 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 2441: __new_finish._M_node + 1); 2441: throw; 2441: } 2441: } 2441: else 2441: _M_insert_aux(__pos, __first, __last, __n); 2441: } 2441: 2441: template 2441: 2441: template 2441: typename deque<_Tp, _Alloc>::iterator 2441: deque<_Tp, _Alloc>:: 2441: _M_insert_aux(iterator __pos, _Args&&... __args) 2441: { 2441: value_type __x_copy(std::forward<_Args>(__args)...); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: difference_type __index = __pos - this->_M_impl._M_start; 2441: if (static_cast(__index) < size() / 2) 2441: { 2441: push_front(std::move(front())); 2441: iterator __front1 = this->_M_impl._M_start; 2441: ++__front1; 2441: iterator __front2 = __front1; 2441: ++__front2; 2441: __pos = this->_M_impl._M_start + __index; 2441: iterator __pos1 = __pos; 2441: ++__pos1; 2441: std::move(__front2, __pos1, __front1); 2441: } 2441: else 2441: { 2441: push_back(std::move(back())); 2441: iterator __back1 = this->_M_impl._M_finish; 2441: --__back1; 2441: iterator __back2 = __back1; 2441: --__back2; 2441: __pos = this->_M_impl._M_start + __index; 2441: std::move_backward(__pos, __back2, __back1); 2441: } 2441: *__pos = std::move(__x_copy); 2441: return __pos; 2441: } 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_insert_aux(iterator __pos, size_type __n, const value_type& __x) 2441: { 2441: const difference_type __elems_before = __pos - this->_M_impl._M_start; 2441: const size_type __length = this->size(); 2441: value_type __x_copy = __x; 2441: if (__elems_before < difference_type(__length / 2)) 2441: { 2441: iterator __new_start = _M_reserve_elements_at_front(__n); 2441: iterator __old_start = this->_M_impl._M_start; 2441: __pos = this->_M_impl._M_start + __elems_before; 2441: try 2441: { 2441: if (__elems_before >= difference_type(__n)) 2441: { 2441: iterator __start_n = (this->_M_impl._M_start 2441: + difference_type(__n)); 2441: std::__uninitialized_move_a(this->_M_impl._M_start, 2441: __start_n, __new_start, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_start = __new_start; 2441: std::move(__start_n, __pos, __old_start); 2441: std::fill(__pos - difference_type(__n), __pos, __x_copy); 2441: } 2441: else 2441: { 2441: std::__uninitialized_move_fill(this->_M_impl._M_start, 2441: __pos, __new_start, 2441: this->_M_impl._M_start, 2441: __x_copy, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_start = __new_start; 2441: std::fill(__old_start, __pos, __x_copy); 2441: } 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(__new_start._M_node, 2441: this->_M_impl._M_start._M_node); 2441: throw; 2441: } 2441: } 2441: else 2441: { 2441: iterator __new_finish = _M_reserve_elements_at_back(__n); 2441: iterator __old_finish = this->_M_impl._M_finish; 2441: const difference_type __elems_after = 2441: difference_type(__length) - __elems_before; 2441: __pos = this->_M_impl._M_finish - __elems_after; 2441: try 2441: { 2441: if (__elems_after > difference_type(__n)) 2441: { 2441: iterator __finish_n = (this->_M_impl._M_finish 2441: - difference_type(__n)); 2441: std::__uninitialized_move_a(__finish_n, 2441: this->_M_impl._M_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __new_finish; 2441: std::move_backward(__pos, __finish_n, __old_finish); 2441: std::fill(__pos, __pos + difference_type(__n), __x_copy); 2441: } 2441: else 2441: { 2441: std::__uninitialized_fill_move(this->_M_impl._M_finish, 2441: __pos + difference_type(__n), 2441: __x_copy, __pos, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __new_finish; 2441: std::fill(__pos, __old_finish, __x_copy); 2441: } 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 2441: __new_finish._M_node + 1); 2441: throw; 2441: } 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_insert_aux(iterator __pos, 2441: _ForwardIterator __first, _ForwardIterator __last, 2441: size_type __n) 2441: { 2441: const difference_type __elemsbefore = __pos - this->_M_impl._M_start; 2441: const size_type __length = size(); 2441: if (static_cast(__elemsbefore) < __length / 2) 2441: { 2441: iterator __new_start = _M_reserve_elements_at_front(__n); 2441: iterator __old_start = this->_M_impl._M_start; 2441: __pos = this->_M_impl._M_start + __elemsbefore; 2441: try 2441: { 2441: if (__elemsbefore >= difference_type(__n)) 2441: { 2441: iterator __start_n = (this->_M_impl._M_start 2441: + difference_type(__n)); 2441: std::__uninitialized_move_a(this->_M_impl._M_start, 2441: __start_n, __new_start, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_start = __new_start; 2441: std::move(__start_n, __pos, __old_start); 2441: std::copy(__first, __last, __pos - difference_type(__n)); 2441: } 2441: else 2441: { 2441: _ForwardIterator __mid = __first; 2441: std::advance(__mid, difference_type(__n) - __elemsbefore); 2441: std::__uninitialized_move_copy(this->_M_impl._M_start, 2441: __pos, __first, __mid, 2441: __new_start, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_start = __new_start; 2441: std::copy(__mid, __last, __old_start); 2441: } 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(__new_start._M_node, 2441: this->_M_impl._M_start._M_node); 2441: throw; 2441: } 2441: } 2441: else 2441: { 2441: iterator __new_finish = _M_reserve_elements_at_back(__n); 2441: iterator __old_finish = this->_M_impl._M_finish; 2441: const difference_type __elemsafter = 2441: difference_type(__length) - __elemsbefore; 2441: __pos = this->_M_impl._M_finish - __elemsafter; 2441: try 2441: { 2441: if (__elemsafter > difference_type(__n)) 2441: { 2441: iterator __finish_n = (this->_M_impl._M_finish 2441: - difference_type(__n)); 2441: std::__uninitialized_move_a(__finish_n, 2441: this->_M_impl._M_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __new_finish; 2441: std::move_backward(__pos, __finish_n, __old_finish); 2441: std::copy(__first, __last, __pos); 2441: } 2441: else 2441: { 2441: _ForwardIterator __mid = __first; 2441: std::advance(__mid, __elemsafter); 2441: std::__uninitialized_copy_move(__mid, __last, __pos, 2441: this->_M_impl._M_finish, 2441: this->_M_impl._M_finish, 2441: _M_get_Tp_allocator()); 2441: this->_M_impl._M_finish = __new_finish; 2441: std::copy(__first, __mid, __pos); 2441: } 2441: } 2441: catch(...) 2441: { 2441: _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, 2441: __new_finish._M_node + 1); 2441: throw; 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_destroy_data_aux(iterator __first, iterator __last) 2441: { 2441: for (_Map_pointer __node = __first._M_node + 1; 2441: __node < __last._M_node; ++__node) 2441: std::_Destroy(*__node, *__node + _S_buffer_size(), 2441: _M_get_Tp_allocator()); 2441: 2441: if (__first._M_node != __last._M_node) 2441: { 2441: std::_Destroy(__first._M_cur, __first._M_last, 2441: _M_get_Tp_allocator()); 2441: std::_Destroy(__last._M_first, __last._M_cur, 2441: _M_get_Tp_allocator()); 2441: } 2441: else 2441: std::_Destroy(__first._M_cur, __last._M_cur, 2441: _M_get_Tp_allocator()); 2441: } 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_new_elements_at_front(size_type __new_elems) 2441: { 2441: if (this->max_size() - this->size() < __new_elems) 2441: __throw_length_error(("deque::_M_new_elements_at_front")); 2441: 2441: const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) 2441: / _S_buffer_size()); 2441: _M_reserve_map_at_front(__new_nodes); 2441: size_type __i; 2441: try 2441: { 2441: for (__i = 1; __i <= __new_nodes; ++__i) 2441: *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node(); 2441: } 2441: catch(...) 2441: { 2441: for (size_type __j = 1; __j < __i; ++__j) 2441: _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j)); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_new_elements_at_back(size_type __new_elems) 2441: { 2441: if (this->max_size() - this->size() < __new_elems) 2441: __throw_length_error(("deque::_M_new_elements_at_back")); 2441: 2441: const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) 2441: / _S_buffer_size()); 2441: _M_reserve_map_at_back(__new_nodes); 2441: size_type __i; 2441: try 2441: { 2441: for (__i = 1; __i <= __new_nodes; ++__i) 2441: *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node(); 2441: } 2441: catch(...) 2441: { 2441: for (size_type __j = 1; __j < __i; ++__j) 2441: _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j)); 2441: throw; 2441: } 2441: } 2441: 2441: template 2441: void 2441: deque<_Tp, _Alloc>:: 2441: _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front) 2441: { 2441: const size_type __old_num_nodes 2441: = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1; 2441: const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add; 2441: 2441: _Map_pointer __new_nstart; 2441: if (this->_M_impl._M_map_size > 2 * __new_num_nodes) 2441: { 2441: __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size 2441: - __new_num_nodes) / 2 2441: + (__add_at_front ? __nodes_to_add : 0); 2441: if (__new_nstart < this->_M_impl._M_start._M_node) 2441: std::copy(this->_M_impl._M_start._M_node, 2441: this->_M_impl._M_finish._M_node + 1, 2441: __new_nstart); 2441: else 2441: std::copy_backward(this->_M_impl._M_start._M_node, 2441: this->_M_impl._M_finish._M_node + 1, 2441: __new_nstart + __old_num_nodes); 2441: } 2441: else 2441: { 2441: size_type __new_map_size = this->_M_impl._M_map_size 2441: + std::max(this->_M_impl._M_map_size, 2441: __nodes_to_add) + 2; 2441: 2441: _Map_pointer __new_map = this->_M_allocate_map(__new_map_size); 2441: __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 2441: + (__add_at_front ? __nodes_to_add : 0); 2441: std::copy(this->_M_impl._M_start._M_node, 2441: this->_M_impl._M_finish._M_node + 1, 2441: __new_nstart); 2441: _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); 2441: 2441: this->_M_impl._M_map = __new_map; 2441: this->_M_impl._M_map_size = __new_map_size; 2441: } 2441: 2441: this->_M_impl._M_start._M_set_node(__new_nstart); 2441: this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); 2441: } 2441: 2441: 2441: 2441: template 2441: void 2441: fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>& __first, 2441: const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value) 2441: { 2441: typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; 2441: 2441: for (typename _Self::_Map_pointer __node = __first._M_node + 1; 2441: __node < __last._M_node; ++__node) 2441: std::fill(*__node, *__node + _Self::_S_buffer_size(), __value); 2441: 2441: if (__first._M_node != __last._M_node) 2441: { 2441: std::fill(__first._M_cur, __first._M_last, __value); 2441: std::fill(__last._M_first, __last._M_cur, __value); 2441: } 2441: else 2441: std::fill(__first._M_cur, __last._M_cur, __value); 2441: } 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: copy(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { 2441: typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; 2441: typedef typename _Self::difference_type difference_type; 2441: 2441: difference_type __len = __last - __first; 2441: while (__len > 0) 2441: { 2441: const difference_type __clen 2441: = std::min(__len, std::min(__first._M_last - __first._M_cur, 2441: __result._M_last - __result._M_cur)); 2441: std::copy(__first._M_cur, __first._M_cur + __clen, __result._M_cur); 2441: __first += __clen; 2441: __result += __clen; 2441: __len -= __clen; 2441: } 2441: return __result; 2441: } 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: copy_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { 2441: typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; 2441: typedef typename _Self::difference_type difference_type; 2441: 2441: difference_type __len = __last - __first; 2441: while (__len > 0) 2441: { 2441: difference_type __llen = __last._M_cur - __last._M_first; 2441: _Tp* __lend = __last._M_cur; 2441: 2441: difference_type __rlen = __result._M_cur - __result._M_first; 2441: _Tp* __rend = __result._M_cur; 2441: 2441: if (!__llen) 2441: { 2441: __llen = _Self::_S_buffer_size(); 2441: __lend = *(__last._M_node - 1) + __llen; 2441: } 2441: if (!__rlen) 2441: { 2441: __rlen = _Self::_S_buffer_size(); 2441: __rend = *(__result._M_node - 1) + __rlen; 2441: } 2441: 2441: const difference_type __clen = std::min(__len, 2441: std::min(__llen, __rlen)); 2441: std::copy_backward(__lend - __clen, __lend, __rend); 2441: __last -= __clen; 2441: __result -= __clen; 2441: __len -= __clen; 2441: } 2441: return __result; 2441: } 2441: 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: move(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { 2441: typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; 2441: typedef typename _Self::difference_type difference_type; 2441: 2441: difference_type __len = __last - __first; 2441: while (__len > 0) 2441: { 2441: const difference_type __clen 2441: = std::min(__len, std::min(__first._M_last - __first._M_cur, 2441: __result._M_last - __result._M_cur)); 2441: std::move(__first._M_cur, __first._M_cur + __clen, __result._M_cur); 2441: __first += __clen; 2441: __result += __clen; 2441: __len -= __clen; 2441: } 2441: return __result; 2441: } 2441: 2441: template 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> 2441: move_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, 2441: _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, 2441: _Deque_iterator<_Tp, _Tp&, _Tp*> __result) 2441: { 2441: typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; 2441: typedef typename _Self::difference_type difference_type; 2441: 2441: difference_type __len = __last - __first; 2441: while (__len > 0) 2441: { 2441: difference_type __llen = __last._M_cur - __last._M_first; 2441: _Tp* __lend = __last._M_cur; 2441: 2441: difference_type __rlen = __result._M_cur - __result._M_first; 2441: _Tp* __rend = __result._M_cur; 2441: 2441: if (!__llen) 2441: { 2441: __llen = _Self::_S_buffer_size(); 2441: __lend = *(__last._M_node - 1) + __llen; 2441: } 2441: if (!__rlen) 2441: { 2441: __rlen = _Self::_S_buffer_size(); 2441: __rend = *(__result._M_node - 1) + __rlen; 2441: } 2441: 2441: const difference_type __clen = std::min(__len, 2441: std::min(__llen, __rlen)); 2441: std::move_backward(__lend - __clen, __lend, __rend); 2441: __last -= __clen; 2441: __result -= __clen; 2441: __len -= __clen; 2441: } 2441: return __result; 2441: } 2441: 2441: 2441: 2441: 2441: } 2441: # 67 "/usr/include/c++/8/deque" 2 3 2441: # 36 "../../src/Linear_System_templates.hh" 2 2441: 2441: 2441: # 37 "../../src/Linear_System_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: dimension_type 2441: Linear_System::num_lines_or_equalities() const { 2441: ((void) 0); 2441: const Linear_System& x = *this; 2441: dimension_type n = 0; 2441: for (dimension_type i = num_rows(); i-- > 0; ) { 2441: if (x[i].is_line_or_equality()) { 2441: ++n; 2441: } 2441: } 2441: return n; 2441: } 2441: 2441: template 2441: void 2441: Linear_System::merge_rows_assign(const Linear_System& y) { 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: Linear_System& x = *this; 2441: 2441: 2441: Swapping_Vector tmp; 2441: 2441: tmp.reserve(compute_capacity(x.rows.size() + y.rows.size(), 2441: tmp.max_num_rows())); 2441: 2441: dimension_type xi = 0; 2441: const dimension_type x_num_rows = x.num_rows(); 2441: dimension_type yi = 0; 2441: const dimension_type y_num_rows = y.num_rows(); 2441: 2441: while (xi < x_num_rows && yi < y_num_rows) { 2441: const int comp = compare(x[xi], y[yi]); 2441: if (comp <= 0) { 2441: 2441: tmp.resize(tmp.size() + 1); 2441: swap(tmp.back(), x.rows[xi++]); 2441: tmp.back().set_representation(representation()); 2441: if (comp == 0) { 2441: 2441: ++yi; 2441: } 2441: } 2441: else { 2441: 2441: tmp.resize(tmp.size() + 1); 2441: Row copy(y[yi++], space_dimension(), representation()); 2441: swap(tmp.back(), copy); 2441: } 2441: } 2441: 2441: if (xi < x_num_rows) { 2441: while (xi < x_num_rows) { 2441: tmp.resize(tmp.size() + 1); 2441: swap(tmp.back(), x.rows[xi++]); 2441: tmp.back().set_representation(representation()); 2441: } 2441: } 2441: else { 2441: while (yi < y_num_rows) { 2441: tmp.resize(tmp.size() + 1); 2441: Row copy(y[yi++], space_dimension(), representation()); 2441: swap(tmp.back(), copy); 2441: } 2441: } 2441: 2441: 2441: swap(tmp, rows); 2441: 2441: unset_pending_rows(); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::ascii_dump(std::ostream& s) const { 2441: 2441: 2441: 2441: 2441: s << "topology " << (is_necessarily_closed() 2441: ? "NECESSARILY_CLOSED" 2441: : "NOT_NECESSARILY_CLOSED") 2441: << "\n" 2441: << num_rows() << " x " << space_dimension() << " "; 2441: Parma_Polyhedra_Library::ascii_dump(s, representation()); 2441: s << " " << (sorted ? "(sorted)" : "(not_sorted)") 2441: << "\n" 2441: << "index_first_pending " << first_pending_row() 2441: << "\n"; 2441: for (dimension_type i = 0; i < rows.size(); ++i) { 2441: rows[i].ascii_dump(s); 2441: } 2441: } 2441: 2441: template void Linear_System::ascii_dump() const { ascii_dump(std::cerr); } template void Linear_System::print() const { std::cerr << "No user level output operator defined " << "for " "Linear_System" << "." << std::endl; } 2441: 2441: template 2441: bool 2441: Linear_System::ascii_load(std::istream& s) { 2441: std::string str; 2441: if (!(s >> str) || str != "topology") { 2441: return false; 2441: } 2441: if (!(s >> str)) { 2441: return false; 2441: } 2441: 2441: clear(); 2441: 2441: Topology t; 2441: if (str == "NECESSARILY_CLOSED") { 2441: t = NECESSARILY_CLOSED; 2441: } 2441: else { 2441: if (str != "NOT_NECESSARILY_CLOSED") { 2441: return false; 2441: } 2441: t = NOT_NECESSARILY_CLOSED; 2441: } 2441: 2441: set_topology(t); 2441: 2441: dimension_type nrows; 2441: dimension_type space_dims; 2441: if (!(s >> nrows)) { 2441: return false; 2441: } 2441: if (!(s >> str) || str != "x") { 2441: return false; 2441: } 2441: if (!(s >> space_dims)) { 2441: return false; 2441: } 2441: 2441: space_dimension_ = space_dims; 2441: 2441: if (!Parma_Polyhedra_Library::ascii_load(s, representation_)) { 2441: return false; 2441: } 2441: 2441: if (!(s >> str) || (str != "(sorted)" && str != "(not_sorted)")) { 2441: return false; 2441: } 2441: const bool sortedness = (str == "(sorted)"); 2441: dimension_type index; 2441: if (!(s >> str) || str != "index_first_pending") { 2441: return false; 2441: } 2441: if (!(s >> index)) { 2441: return false; 2441: } 2441: 2441: Row row; 2441: for (dimension_type i = 0; i < nrows; ++i) { 2441: if (!row.ascii_load(s)) { 2441: return false; 2441: } 2441: insert(row, Recycle_Input()); 2441: } 2441: index_first_pending = index; 2441: sorted = sortedness; 2441: 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert(const Row& r) { 2441: Row tmp(r, representation()); 2441: insert(tmp, Recycle_Input()); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert(Row& r, Recycle_Input) { 2441: insert_no_ok(r, Recycle_Input()); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert_no_ok(Row& r, Recycle_Input) { 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: 2441: const bool was_sorted = is_sorted(); 2441: 2441: insert_pending_no_ok(r, Recycle_Input()); 2441: 2441: if (was_sorted) { 2441: const dimension_type nrows = num_rows(); 2441: 2441: if (nrows > 1) { 2441: 2441: 2441: 2441: sorted = (compare(rows[nrows-2], rows[nrows-1]) <= 0); 2441: } 2441: else { 2441: 2441: sorted = true; 2441: } 2441: } 2441: 2441: unset_pending_rows(); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert_pending_no_ok(Row& r, Recycle_Input) { 2441: # 267 "../../src/Linear_System_templates.hh" 2441: ((void) 0); 2441: 2441: r.set_representation(representation()); 2441: 2441: if (space_dimension() < r.space_dimension()) { 2441: set_space_dimension_no_ok(r.space_dimension()); 2441: } 2441: else { 2441: r.set_space_dimension_no_ok(space_dimension()); 2441: } 2441: 2441: rows.resize(rows.size() + 1); 2441: swap(rows.back(), r); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert_pending(const Row& r) { 2441: Row tmp(r, representation()); 2441: insert_pending(tmp, Recycle_Input()); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert_pending(Row& r, Recycle_Input) { 2441: insert_pending_no_ok(r, Recycle_Input()); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert_pending(const Linear_System& y) { 2441: Linear_System tmp(y, representation(), With_Pending()); 2441: insert_pending(tmp, Recycle_Input()); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert_pending(Linear_System& y, Recycle_Input) { 2441: Linear_System& x = *this; 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < y.num_rows(); ++i) { 2441: x.insert_pending(y.rows[i], Recycle_Input()); 2441: } 2441: 2441: y.clear(); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert(const Linear_System& y) { 2441: Linear_System tmp(y, representation(), With_Pending()); 2441: insert(tmp, Recycle_Input()); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::insert(Linear_System& y, Recycle_Input) { 2441: ((void) 0); 2441: 2441: 2441: if (y.has_no_rows()) { 2441: return; 2441: } 2441: 2441: 2441: if (is_sorted()) { 2441: if (!y.is_sorted() || y.num_pending_rows() > 0) { 2441: sorted = false; 2441: } 2441: else { 2441: 2441: const dimension_type n_rows = num_rows(); 2441: if (n_rows > 0) { 2441: sorted = (compare(rows[n_rows-1], y[0]) <= 0); 2441: } 2441: } 2441: } 2441: 2441: 2441: insert_pending(y, Recycle_Input()); 2441: 2441: 2441: 2441: 2441: unset_pending_rows(); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::remove_space_dimensions(const Variables_Set& vars) { 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: if (vars.empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < num_rows(); ) { 2441: const bool valid = rows[i].remove_space_dimensions(vars); 2441: if (!valid) { 2441: 2441: 2441: 2441: 2441: remove_row_no_ok(i, false); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: 2441: space_dimension_ -= vars.size(); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::shift_space_dimensions(Variable v, dimension_type n) { 2441: 2441: 2441: ((void) 0); 2441: for (dimension_type i = rows.size(); i-- > 0; ) { 2441: rows[i].shift_space_dimensions(v, n); 2441: } 2441: space_dimension_ += n; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::sort_rows() { 2441: 2441: sort_rows(0, first_pending_row()); 2441: sorted = true; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::sort_rows(const dimension_type first_row, 2441: const dimension_type last_row) { 2441: ((void) 0); 2441: 2441: ((void) 0) 2441: ; 2441: 2441: const bool sorting_pending = (first_row >= first_pending_row()); 2441: const dimension_type old_num_pending = num_pending_rows(); 2441: 2441: const dimension_type num_elems = last_row - first_row; 2441: if (num_elems < 2) { 2441: return; 2441: } 2441: 2441: 2441: 2441: using namespace Implementation; 2441: typedef Swapping_Vector Cont; 2441: typedef Indirect_Sort_Compare Sort_Compare; 2441: typedef Indirect_Swapper Swapper; 2441: const dimension_type num_duplicates 2441: = indirect_sort_and_unique(num_elems, 2441: Sort_Compare(rows, first_row), 2441: Unique_Compare(rows, first_row), 2441: Swapper(rows, first_row)); 2441: 2441: if (num_duplicates > 0) { 2441: typedef typename Cont::iterator Iter; 2441: typedef typename std::iterator_traits::difference_type diff_t; 2441: Iter last = rows.begin() + static_cast(last_row); 2441: Iter first = last - + static_cast(num_duplicates); 2441: rows.erase(first, last); 2441: } 2441: 2441: if (sorting_pending) { 2441: ((void) 0); 2441: index_first_pending = num_rows() - (old_num_pending - num_duplicates); 2441: } 2441: else { 2441: index_first_pending = num_rows() - old_num_pending; 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::strong_normalize() { 2441: const dimension_type nrows = rows.size(); 2441: 2441: for (dimension_type i = nrows; i-- > 0; ) { 2441: rows[i].strong_normalize(); 2441: } 2441: sorted = (nrows <= 1); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::sign_normalize() { 2441: const dimension_type nrows = rows.size(); 2441: 2441: for (dimension_type i = nrows; i-- > 0; ) { 2441: rows[i].sign_normalize(); 2441: } 2441: sorted = (nrows <= 1); 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: bool 2441: operator==(const Linear_System& x, const Linear_System& y) { 2441: if (x.space_dimension() != y.space_dimension()) { 2441: return false; 2441: } 2441: const dimension_type x_num_rows = x.num_rows(); 2441: const dimension_type y_num_rows = y.num_rows(); 2441: if (x_num_rows != y_num_rows) { 2441: return false; 2441: } 2441: if (x.first_pending_row() != y.first_pending_row()) { 2441: return false; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: for (dimension_type i = x_num_rows; i-- > 0; ) { 2441: if (x[i] != y[i]) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat) { 2441: 2441: ((void) 0); 2441: if (first_pending_row() <= 1) { 2441: set_sorted(true); 2441: return; 2441: } 2441: 2441: const dimension_type num_elems = sat.num_rows(); 2441: 2441: 2441: typedef Swapping_Vector Cont; 2441: const Implementation::Indirect_Sort_Compare 2441: sort_cmp(rows); 2441: const Unique_Compare unique_cmp(rows); 2441: const Implementation::Indirect_Swapper2 swapper(rows, sat); 2441: 2441: const dimension_type num_duplicates 2441: = Implementation::indirect_sort_and_unique(num_elems, sort_cmp, 2441: unique_cmp, swapper); 2441: 2441: const dimension_type new_first_pending_row 2441: = first_pending_row() - num_duplicates; 2441: 2441: if (num_pending_rows() > 0) { 2441: 2441: const dimension_type n_rows = num_rows() - 1; 2441: for (dimension_type i = 0; i < num_duplicates; ++i) { 2441: swap(rows[new_first_pending_row + i], rows[n_rows - i]); 2441: } 2441: } 2441: 2441: 2441: rows.resize(rows.size() - num_duplicates); 2441: index_first_pending = new_first_pending_row; 2441: 2441: sat.remove_trailing_rows(num_duplicates); 2441: 2441: 2441: sorted = true; 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: dimension_type 2441: Linear_System::gauss(const dimension_type n_lines_or_equalities) { 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type rank = 0; 2441: 2441: bool changed = false; 2441: 2441: const dimension_type num_cols 2441: = is_necessarily_closed() ? space_dimension() + 1 : space_dimension() + 2; 2441: 2441: 2441: 2441: for (dimension_type j = num_cols; j-- > 0; ) { 2441: for (dimension_type i = rank; i < n_lines_or_equalities; ++i) { 2441: 2441: 2441: if ((*this)[i].expr.get(j) == 0) { 2441: continue; 2441: } 2441: 2441: 2441: if (i > rank) { 2441: swap(rows[i], rows[rank]); 2441: 2441: changed = true; 2441: } 2441: 2441: 2441: 2441: for (dimension_type k = i + 1; k < n_lines_or_equalities; ++k) { 2441: if (rows[k].expr.get(Variable(j - 1)) != 0) { 2441: rows[k].linear_combine(rows[rank], j); 2441: changed = true; 2441: } 2441: } 2441: 2441: ++rank; 2441: 2441: break; 2441: } 2441: } 2441: if (changed) { 2441: sorted = false; 2441: } 2441: 2441: ((void) 0); 2441: return rank; 2441: } 2441: 2441: template 2441: void 2441: Linear_System 2441: ::back_substitute(const dimension_type n_lines_or_equalities) { 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type nrows = num_rows(); 2441: 2441: bool still_sorted = is_sorted(); 2441: 2441: 2441: std::deque check_for_sortedness; 2441: if (still_sorted) { 2441: check_for_sortedness.insert(check_for_sortedness.end(), nrows, false); 2441: } 2441: 2441: for (dimension_type k = n_lines_or_equalities; k-- > 0; ) { 2441: 2441: 2441: 2441: Row& row_k = rows[k]; 2441: const dimension_type j = row_k.expr.last_nonzero(); 2441: 2441: ((void) 0); 2441: 2441: 2441: for (dimension_type i = k; i-- > 0; ) { 2441: Row& row_i = rows[i]; 2441: if (row_i.expr.get(Variable(j - 1)) != 0) { 2441: 2441: 2441: row_i.linear_combine(row_k, j); 2441: if (still_sorted) { 2441: 2441: 2441: if (i > 0) { 2441: check_for_sortedness[i-1] = true; 2441: } 2441: check_for_sortedness[i] = true; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: const bool have_to_negate = (row_k.expr.get(Variable(j - 1)) < 0); 2441: if (have_to_negate) { 2441: neg_assign(row_k.expr); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: for (dimension_type i = n_lines_or_equalities; i < nrows; ++i) { 2441: Row& row_i = rows[i]; 2441: if (row_i.expr.get(Variable(j - 1)) != 0) { 2441: 2441: 2441: row_i.linear_combine(row_k, j); 2441: if (still_sorted) { 2441: 2441: 2441: if (i > n_lines_or_equalities) { 2441: check_for_sortedness[i-1] = true; 2441: } 2441: check_for_sortedness[i] = true; 2441: } 2441: } 2441: } 2441: if (have_to_negate) { 2441: 2441: neg_assign(row_k.expr); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: 2441: for (dimension_type i = 0; still_sorted && i+1 < nrows; ++i) { 2441: if (check_for_sortedness[i]) { 2441: 2441: still_sorted = (compare((*this)[i], (*this)[i+1]) <= 0); 2441: } 2441: } 2441: 2441: 2441: sorted = still_sorted; 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::simplify() { 2441: 2441: ((void) 0); 2441: 2441: 2441: const dimension_type old_nrows = num_rows(); 2441: dimension_type nrows = old_nrows; 2441: dimension_type n_lines_or_equalities = 0; 2441: for (dimension_type i = 0; i < nrows; ++i) { 2441: if ((*this)[i].is_line_or_equality()) { 2441: if (n_lines_or_equalities < i) { 2441: swap(rows[i], rows[n_lines_or_equalities]); 2441: 2441: ((void) 0); 2441: } 2441: ++n_lines_or_equalities; 2441: } 2441: } 2441: 2441: const dimension_type rank = gauss(n_lines_or_equalities); 2441: 2441: if (rank < n_lines_or_equalities) { 2441: const dimension_type 2441: n_rays_or_points_or_inequalities = nrows - n_lines_or_equalities; 2441: const dimension_type 2441: num_swaps = std::min(n_lines_or_equalities - rank, 2441: n_rays_or_points_or_inequalities); 2441: for (dimension_type i = num_swaps; i-- > 0; ) { 2441: swap(rows[--nrows], rows[rank + i]); 2441: } 2441: remove_trailing_rows(old_nrows - nrows); 2441: if (n_rays_or_points_or_inequalities > num_swaps) { 2441: set_sorted(false); 2441: } 2441: unset_pending_rows(); 2441: n_lines_or_equalities = rank; 2441: } 2441: 2441: back_substitute(n_lines_or_equalities); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Linear_System 2441: ::add_universe_rows_and_space_dimensions(const dimension_type n) { 2441: ((void) 0); 2441: const bool was_sorted = is_sorted(); 2441: const dimension_type old_n_rows = num_rows(); 2441: const dimension_type old_space_dim 2441: = is_necessarily_closed() ? space_dimension() : space_dimension() + 1; 2441: set_space_dimension(space_dimension() + n); 2441: rows.resize(rows.size() + n); 2441: 2441: for (dimension_type i = old_n_rows; i-- > 0; ) { 2441: swap(rows[i], rows[i + n]); 2441: } 2441: for (dimension_type i = n, c = old_space_dim; i-- > 0; ) { 2441: 2441: 2441: 2441: if (Variable(c).space_dimension() <= space_dimension()) { 2441: 2441: Linear_Expression le(representation()); 2441: le.set_space_dimension(space_dimension()); 2441: le += Variable(c); 2441: Row r(le, Row::LINE_OR_EQUALITY, row_topology); 2441: swap(r, rows[i]); 2441: } 2441: else { 2441: 2441: ((void) 0); 2441: Linear_Expression le(Variable(c), representation()); 2441: Row r(le, Row::LINE_OR_EQUALITY, NECESSARILY_CLOSED); 2441: r.mark_as_not_necessarily_closed(); 2441: swap(r, rows[i]); 2441: 2441: } 2441: ++c; 2441: } 2441: 2441: 2441: if (was_sorted) { 2441: sorted = (compare(rows[n-1], rows[n]) <= 0); 2441: } 2441: 2441: 2441: 2441: if (!is_necessarily_closed()) { 2441: 2441: ((void) 0); 2441: if (!is_sorted()) { 2441: for (dimension_type i = n; i-- > 0; ) { 2441: rows[i].expr.swap_space_dimensions(Variable(old_space_dim - 1), 2441: Variable(old_space_dim - 1 + n)); 2441: ((void) 0); 2441: } 2441: } 2441: else { 2441: dimension_type old_eps_index = old_space_dim - 1; 2441: 2441: 2441: for (dimension_type i = n; i-- > 0; ++old_eps_index) { 2441: rows[i].expr.swap_space_dimensions(Variable(old_eps_index), 2441: Variable(old_eps_index + 1)); 2441: ((void) 0); 2441: } 2441: 2441: sorted = true; 2441: } 2441: } 2441: 2441: set_index_first_pending_row(index_first_pending + n); 2441: } 2441: 2441: template 2441: void 2441: Linear_System::sort_pending_and_remove_duplicates() { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: const dimension_type first_pending = first_pending_row(); 2441: sort_rows(first_pending, num_rows()); 2441: 2441: 2441: const dimension_type old_num_rows = num_rows(); 2441: dimension_type num_rows = old_num_rows; 2441: 2441: dimension_type k1 = 0; 2441: dimension_type k2 = first_pending; 2441: dimension_type num_duplicates = 0; 2441: 2441: 2441: while (k1 < first_pending && k2 < num_rows) { 2441: const int cmp = compare(rows[k1], rows[k2]); 2441: if (cmp == 0) { 2441: 2441: ++num_duplicates; 2441: --num_rows; 2441: 2441: ++k1; 2441: 2441: if (k2 < num_rows) { 2441: swap(rows[k2], rows[k2 + num_duplicates]); 2441: } 2441: } 2441: else if (cmp < 0) { 2441: 2441: ++k1; 2441: } 2441: else { 2441: 2441: 2441: 2441: ++k2; 2441: if (num_duplicates > 0 && k2 < num_rows) { 2441: swap(rows[k2], rows[k2 + num_duplicates]); 2441: } 2441: } 2441: } 2441: 2441: 2441: if (num_duplicates > 0) { 2441: if (k2 < num_rows) { 2441: for (++k2; k2 < num_rows; ++k2) { 2441: swap(rows[k2], rows[k2 + num_duplicates]); 2441: } 2441: } 2441: rows.resize(num_rows); 2441: } 2441: sorted = true; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: Linear_System::check_sorted() const { 2441: for (dimension_type i = first_pending_row(); i-- > 1; ) { 2441: if (compare(rows[i], rows[i-1]) < 0) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Linear_System::OK() const { 2441: 2441: 2441: 2441: 2441: 2441: for (dimension_type i = rows.size(); i-- > 0; ) { 2441: if (rows[i].representation() != representation()) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: if (rows[i].space_dimension() != space_dimension()) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: for (dimension_type i = rows.size(); i-- > 0; ) { 2441: if (rows[i].topology() != topology()) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: } 2441: 2441: if (first_pending_row() > num_rows()) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: 2441: const dimension_type n_rows = num_rows(); 2441: for (dimension_type i = 0; i < n_rows; ++i) { 2441: if (topology() != rows[i].topology()) { 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: } 2441: if (sorted && !check_sorted()) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: } 2441: # 581 "../../src/Linear_System_defs.hh" 2 2441: # 30 "../../src/Constraint_System_defs.hh" 2 2441: # 38 "../../src/Constraint_System_defs.hh" 2441: # 1 "/usr/include/c++/8/iterator" 1 3 2441: # 58 "/usr/include/c++/8/iterator" 3 2441: 2441: # 59 "/usr/include/c++/8/iterator" 3 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/bits/stream_iterator.h" 1 3 2441: # 33 "/usr/include/c++/8/bits/stream_iterator.h" 3 2441: 2441: # 34 "/usr/include/c++/8/bits/stream_iterator.h" 3 2441: 2441: 2441: 2441: 2441: # 37 "/usr/include/c++/8/bits/stream_iterator.h" 3 2441: namespace std __attribute__ ((__visibility__ ("default"))) 2441: { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: template, typename _Dist = ptrdiff_t> 2441: class istream_iterator 2441: : public iterator 2441: { 2441: public: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: typedef basic_istream<_CharT, _Traits> istream_type; 2441: 2441: private: 2441: istream_type* _M_stream; 2441: _Tp _M_value; 2441: bool _M_ok; 2441: 2441: public: 2441: 2441: constexpr istream_iterator() 2441: : _M_stream(0), _M_value(), _M_ok(false) {} 2441: 2441: 2441: istream_iterator(istream_type& __s) 2441: : _M_stream(std::__addressof(__s)) 2441: { _M_read(); } 2441: 2441: istream_iterator(const istream_iterator& __obj) 2441: : _M_stream(__obj._M_stream), _M_value(__obj._M_value), 2441: _M_ok(__obj._M_ok) 2441: { } 2441: 2441: const _Tp& 2441: operator*() const 2441: { 2441: 2441: 2441: ; 2441: return _M_value; 2441: } 2441: 2441: const _Tp* 2441: operator->() const { return std::__addressof((operator*())); } 2441: 2441: istream_iterator& 2441: operator++() 2441: { 2441: 2441: 2441: ; 2441: _M_read(); 2441: return *this; 2441: } 2441: 2441: istream_iterator 2441: operator++(int) 2441: { 2441: 2441: 2441: ; 2441: istream_iterator __tmp = *this; 2441: _M_read(); 2441: return __tmp; 2441: } 2441: 2441: bool 2441: _M_equal(const istream_iterator& __x) const 2441: { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); } 2441: 2441: private: 2441: void 2441: _M_read() 2441: { 2441: _M_ok = (_M_stream && *_M_stream) ? true : false; 2441: if (_M_ok) 2441: { 2441: *_M_stream >> _M_value; 2441: _M_ok = *_M_stream ? true : false; 2441: } 2441: } 2441: }; 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, 2441: const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) 2441: { return __x._M_equal(__y); } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, 2441: const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) 2441: { return !__x._M_equal(__y); } 2441: # 152 "/usr/include/c++/8/bits/stream_iterator.h" 3 2441: template > 2441: class ostream_iterator 2441: : public iterator 2441: { 2441: public: 2441: 2441: 2441: typedef _CharT char_type; 2441: typedef _Traits traits_type; 2441: typedef basic_ostream<_CharT, _Traits> ostream_type; 2441: 2441: 2441: private: 2441: ostream_type* _M_stream; 2441: const _CharT* _M_string; 2441: 2441: public: 2441: 2441: ostream_iterator(ostream_type& __s) 2441: : _M_stream(std::__addressof(__s)), _M_string(0) {} 2441: # 184 "/usr/include/c++/8/bits/stream_iterator.h" 3 2441: ostream_iterator(ostream_type& __s, const _CharT* __c) 2441: : _M_stream(&__s), _M_string(__c) { } 2441: 2441: 2441: ostream_iterator(const ostream_iterator& __obj) 2441: : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { } 2441: 2441: 2441: 2441: ostream_iterator& 2441: operator=(const _Tp& __value) 2441: { 2441: 2441: 2441: ; 2441: *_M_stream << __value; 2441: if (_M_string) *_M_stream << _M_string; 2441: return *this; 2441: } 2441: 2441: ostream_iterator& 2441: operator*() 2441: { return *this; } 2441: 2441: ostream_iterator& 2441: operator++() 2441: { return *this; } 2441: 2441: ostream_iterator& 2441: operator++(int) 2441: { return *this; } 2441: }; 2441: 2441: 2441: 2441: 2441: } 2441: # 67 "/usr/include/c++/8/iterator" 2 3 2441: # 39 "../../src/Constraint_System_defs.hh" 2 2441: 2441: 2441: 2441: 2441: # 42 "../../src/Constraint_System_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Constraint_System& cs); 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Constraint_System& x, const Constraint_System& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Constraint_System& x, const Constraint_System& y); 2441: 2441: 2441: void 2441: swap(Constraint_System& x, Constraint_System& y); 2441: 2441: } 2441: # 137 "../../src/Constraint_System_defs.hh" 2441: class Parma_Polyhedra_Library::Constraint_System { 2441: public: 2441: typedef Constraint row_type; 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: explicit Constraint_System(Representation r = default_representation); 2441: 2441: 2441: explicit Constraint_System(const Constraint& c, 2441: Representation r = default_representation); 2441: 2441: 2441: explicit Constraint_System(const Congruence_System& cgs, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Constraint_System(const Constraint_System& cs); 2441: 2441: 2441: Constraint_System(const Constraint_System& cs, Representation r); 2441: 2441: 2441: ~Constraint_System(); 2441: 2441: 2441: Constraint_System& operator=(const Constraint_System& y); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: void set_space_dimension(dimension_type space_dim); 2441: 2441: 2441: 2441: 2441: 2441: bool has_equalities() const; 2441: 2441: 2441: 2441: 2441: 2441: bool has_strict_inequalities() const; 2441: 2441: 2441: 2441: 2441: 2441: void insert(const Constraint& c); 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: 2441: 2441: static const Constraint_System& zero_dim_empty(); 2441: 2441: typedef Constraint_System_const_iterator const_iterator; 2441: 2441: 2441: bool empty() const; 2441: 2441: 2441: 2441: 2441: 2441: void clear(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const_iterator end() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: void m_swap(Constraint_System& y); 2441: 2441: private: 2441: Linear_System sys; 2441: 2441: 2441: 2441: 2441: 2441: static const Constraint_System* zero_dim_empty_p; 2441: 2441: friend class Constraint_System_const_iterator; 2441: 2441: friend bool operator==(const Constraint_System& x, 2441: const Constraint_System& y); 2441: 2441: 2441: explicit Constraint_System(Topology topol, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Constraint_System(Topology topol, dimension_type space_dim, 2441: Representation r = default_representation); 2441: 2441: 2441: dimension_type num_equalities() const; 2441: 2441: 2441: dimension_type num_inequalities() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void simplify(); 2441: # 303 "../../src/Constraint_System_defs.hh" 2441: bool adjust_topology_and_space_dimension(Topology new_topology, 2441: dimension_type new_space_dim); 2441: 2441: 2441: const Constraint& operator[](dimension_type k) const; 2441: 2441: 2441: bool satisfies_all_constraints(const Generator& g) const; 2441: # 347 "../../src/Constraint_System_defs.hh" 2441: void affine_preimage(Variable v, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void insert_pending(const Constraint& c); 2441: 2441: 2441: void add_low_level_constraints(); 2441: 2441: 2441: Topology topology() const; 2441: 2441: dimension_type num_rows() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed() const; 2441: 2441: 2441: dimension_type num_pending_rows() const; 2441: 2441: 2441: dimension_type first_pending_row() const; 2441: 2441: 2441: bool is_sorted() const; 2441: 2441: 2441: void unset_pending_rows(); 2441: 2441: 2441: void set_index_first_pending_row(dimension_type i); 2441: 2441: 2441: void set_sorted(bool b); 2441: # 398 "../../src/Constraint_System_defs.hh" 2441: void remove_row(dimension_type i, bool keep_sorted = false); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_rows(const std::vector& indexes); 2441: # 416 "../../src/Constraint_System_defs.hh" 2441: void remove_rows(dimension_type first, dimension_type last, 2441: bool keep_sorted = false); 2441: 2441: 2441: void remove_trailing_rows(dimension_type n); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: # 446 "../../src/Constraint_System_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: 2441: bool has_no_rows() const; 2441: 2441: 2441: void strong_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: void sort_rows(); 2441: 2441: 2441: 2441: 2441: 2441: void insert_pending(Constraint& r, Recycle_Input); 2441: 2441: 2441: 2441: void insert_pending(Constraint_System& r, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Constraint& r, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Constraint_System& r, Recycle_Input); 2441: 2441: 2441: void insert_pending(const Constraint_System& r); 2441: # 495 "../../src/Constraint_System_defs.hh" 2441: void merge_rows_assign(const Constraint_System& y); 2441: 2441: 2441: 2441: 2441: 2441: void insert(const Constraint_System& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_necessarily_closed(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void mark_as_not_necessarily_closed(); 2441: # 529 "../../src/Constraint_System_defs.hh" 2441: dimension_type gauss(dimension_type n_lines_or_equalities); 2441: # 541 "../../src/Constraint_System_defs.hh" 2441: void back_substitute(dimension_type n_lines_or_equalities); 2441: 2441: 2441: void assign_with_pending(const Constraint_System& y); 2441: 2441: 2441: 2441: 2441: 2441: void sort_pending_and_remove_duplicates(); 2441: # 559 "../../src/Constraint_System_defs.hh" 2441: void sort_and_remove_with_sat(Bit_Matrix& sat); 2441: 2441: 2441: 2441: 2441: 2441: bool check_sorted() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type num_lines_or_equalities() const; 2441: # 586 "../../src/Constraint_System_defs.hh" 2441: void add_universe_rows_and_space_dimensions(dimension_type n); 2441: 2441: friend class Polyhedron; 2441: friend class Termination_Helpers; 2441: }; 2441: # 610 "../../src/Constraint_System_defs.hh" 2441: class Parma_Polyhedra_Library::Constraint_System_const_iterator 2441: : public std::iterator { 2441: public: 2441: 2441: Constraint_System_const_iterator(); 2441: 2441: 2441: Constraint_System_const_iterator(const Constraint_System_const_iterator& y); 2441: 2441: 2441: ~Constraint_System_const_iterator(); 2441: 2441: 2441: Constraint_System_const_iterator& 2441: operator=(const Constraint_System_const_iterator& y); 2441: 2441: 2441: const Constraint& operator*() const; 2441: 2441: 2441: const Constraint* operator->() const; 2441: 2441: 2441: Constraint_System_const_iterator& operator++(); 2441: 2441: 2441: Constraint_System_const_iterator operator++(int); 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Constraint_System_const_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Constraint_System_const_iterator& y) const; 2441: 2441: private: 2441: friend class Constraint_System; 2441: 2441: 2441: Linear_System::const_iterator i; 2441: 2441: 2441: const Linear_System* csp; 2441: 2441: 2441: Constraint_System_const_iterator(const Linear_System 2441: ::const_iterator& iter, 2441: const Constraint_System& cs); 2441: 2441: 2441: void skip_forward(); 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Implementation { 2441: 2441: 2441: 2441: 2441: dimension_type 2441: num_constraints(const Constraint_System& cs); 2441: 2441: } 2441: 2441: } 2441: # 29 "../../src/Box_inlines.hh" 2 2441: # 1 "../../src/Constraint_System_inlines.hh" 1 2441: # 29 "../../src/Constraint_System_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Constraint_System::Constraint_System(Representation r) 2441: : sys(NECESSARILY_CLOSED, r) { 2441: } 2441: 2441: inline 2441: Constraint_System::Constraint_System(const Constraint& c, Representation r) 2441: : sys(c.topology(), r) { 2441: sys.insert(c); 2441: } 2441: 2441: inline 2441: Constraint_System::Constraint_System(const Constraint_System& cs) 2441: : sys(cs.sys) { 2441: } 2441: 2441: inline 2441: Constraint_System::Constraint_System(const Constraint_System& cs, 2441: Representation r) 2441: : sys(cs.sys, r) { 2441: } 2441: 2441: inline 2441: Constraint_System::Constraint_System(const Topology topol, Representation r) 2441: : sys(topol, r) { 2441: } 2441: 2441: inline 2441: Constraint_System::Constraint_System(const Topology topol, 2441: const dimension_type space_dim, 2441: Representation r) 2441: : sys(topol, space_dim, r) { 2441: } 2441: 2441: inline 2441: Constraint_System::~Constraint_System() { 2441: } 2441: 2441: inline Constraint_System& 2441: Constraint_System::operator=(const Constraint_System& y) { 2441: Constraint_System tmp = y; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: inline const Constraint& 2441: Constraint_System::operator[](const dimension_type k) const { 2441: return sys[k]; 2441: } 2441: 2441: inline Representation 2441: Constraint_System::representation() const { 2441: return sys.representation(); 2441: } 2441: 2441: inline void 2441: Constraint_System::set_representation(Representation r) { 2441: sys.set_representation(r); 2441: } 2441: 2441: inline dimension_type 2441: Constraint_System::max_space_dimension() { 2441: return Linear_System::max_space_dimension(); 2441: } 2441: 2441: inline dimension_type 2441: Constraint_System::space_dimension() const { 2441: return sys.space_dimension(); 2441: } 2441: 2441: inline void 2441: Constraint_System::set_space_dimension(dimension_type space_dim) { 2441: return sys.set_space_dimension(space_dim); 2441: } 2441: 2441: inline void 2441: Constraint_System::clear() { 2441: sys.clear(); 2441: } 2441: 2441: inline const Constraint_System& 2441: Constraint_System::zero_dim_empty() { 2441: ((void) 0); 2441: return *zero_dim_empty_p; 2441: } 2441: 2441: inline 2441: Constraint_System_const_iterator::Constraint_System_const_iterator() 2441: : i(), csp(0) { 2441: } 2441: 2441: inline 2441: Constraint_System_const_iterator::Constraint_System_const_iterator(const Constraint_System_const_iterator& y) 2441: : i(y.i), csp(y.csp) { 2441: } 2441: 2441: inline 2441: Constraint_System_const_iterator::~Constraint_System_const_iterator() { 2441: } 2441: 2441: inline Constraint_System_const_iterator& 2441: Constraint_System_const_iterator::operator=(const Constraint_System_const_iterator& y) { 2441: i = y.i; 2441: csp = y.csp; 2441: return *this; 2441: } 2441: 2441: inline const Constraint& 2441: Constraint_System_const_iterator::operator*() const { 2441: return *i; 2441: } 2441: 2441: inline const Constraint* 2441: Constraint_System_const_iterator::operator->() const { 2441: return i.operator->(); 2441: } 2441: 2441: inline Constraint_System_const_iterator& 2441: Constraint_System_const_iterator::operator++() { 2441: ++i; 2441: skip_forward(); 2441: return *this; 2441: } 2441: 2441: inline Constraint_System_const_iterator 2441: Constraint_System_const_iterator::operator++(int) { 2441: const Constraint_System_const_iterator tmp = *this; 2441: operator++(); 2441: return tmp; 2441: } 2441: 2441: inline bool 2441: Constraint_System_const_iterator::operator==(const Constraint_System_const_iterator& y) const { 2441: return i == y.i; 2441: } 2441: 2441: inline bool 2441: Constraint_System_const_iterator::operator!=(const Constraint_System_const_iterator& y) const { 2441: return i != y.i; 2441: } 2441: 2441: inline 2441: Constraint_System_const_iterator:: 2441: Constraint_System_const_iterator(const Linear_System::const_iterator& iter, 2441: const Constraint_System& cs) 2441: : i(iter), csp(&cs.sys) { 2441: } 2441: 2441: inline Constraint_System_const_iterator 2441: Constraint_System::begin() const { 2441: const_iterator i(sys.begin(), *this); 2441: i.skip_forward(); 2441: return i; 2441: } 2441: 2441: inline Constraint_System_const_iterator 2441: Constraint_System::end() const { 2441: const Constraint_System_const_iterator i(sys.end(), *this); 2441: return i; 2441: } 2441: 2441: inline bool 2441: Constraint_System::empty() const { 2441: return begin() == end(); 2441: } 2441: 2441: inline void 2441: Constraint_System::add_low_level_constraints() { 2441: if (sys.is_necessarily_closed()) { 2441: 2441: insert(Constraint::zero_dim_positivity()); 2441: } 2441: else { 2441: 2441: insert(Constraint::epsilon_leq_one()); 2441: insert(Constraint::epsilon_geq_zero()); 2441: } 2441: } 2441: 2441: inline void 2441: Constraint_System::m_swap(Constraint_System& y) { 2441: swap(sys, y.sys); 2441: } 2441: 2441: inline memory_size_type 2441: Constraint_System::external_memory_in_bytes() const { 2441: return sys.external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Constraint_System::total_memory_in_bytes() const { 2441: return external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: inline void 2441: Constraint_System::simplify() { 2441: sys.simplify(); 2441: } 2441: 2441: inline Topology 2441: Constraint_System::topology() const { 2441: return sys.topology(); 2441: } 2441: 2441: inline dimension_type 2441: Constraint_System::num_rows() const { 2441: return sys.num_rows(); 2441: } 2441: 2441: inline bool 2441: Constraint_System::is_necessarily_closed() const { 2441: return sys.is_necessarily_closed(); 2441: } 2441: 2441: inline dimension_type 2441: Constraint_System::num_pending_rows() const { 2441: return sys.num_pending_rows(); 2441: } 2441: 2441: inline dimension_type 2441: Constraint_System::first_pending_row() const { 2441: return sys.first_pending_row(); 2441: } 2441: 2441: inline bool 2441: Constraint_System::is_sorted() const { 2441: return sys.is_sorted(); 2441: } 2441: 2441: inline void 2441: Constraint_System::unset_pending_rows() { 2441: sys.unset_pending_rows(); 2441: } 2441: 2441: inline void 2441: Constraint_System::set_index_first_pending_row(dimension_type i) { 2441: sys.set_index_first_pending_row(i); 2441: } 2441: 2441: inline void 2441: Constraint_System::set_sorted(bool b) { 2441: sys.set_sorted(b); 2441: } 2441: 2441: inline void 2441: Constraint_System::remove_row(dimension_type i, bool keep_sorted) { 2441: sys.remove_row(i, keep_sorted); 2441: } 2441: 2441: inline void 2441: Constraint_System::remove_rows(dimension_type first, dimension_type last, 2441: bool keep_sorted) { 2441: sys.remove_rows(first, last, keep_sorted); 2441: } 2441: 2441: inline void 2441: Constraint_System::remove_rows(const std::vector& indexes) { 2441: sys.remove_rows(indexes); 2441: } 2441: 2441: inline void 2441: Constraint_System::remove_trailing_rows(dimension_type n) { 2441: sys.remove_trailing_rows(n); 2441: } 2441: 2441: inline void 2441: Constraint_System 2441: ::remove_space_dimensions(const Variables_Set& vars) { 2441: sys.remove_space_dimensions(vars); 2441: } 2441: 2441: inline void 2441: Constraint_System 2441: ::shift_space_dimensions(Variable v, dimension_type n) { 2441: sys.shift_space_dimensions(v, n); 2441: } 2441: 2441: inline void 2441: Constraint_System 2441: ::permute_space_dimensions(const std::vector& cycle) { 2441: sys.permute_space_dimensions(cycle); 2441: } 2441: 2441: inline void 2441: Constraint_System 2441: ::swap_space_dimensions(Variable v1, Variable v2) { 2441: sys.swap_space_dimensions(v1, v2); 2441: } 2441: 2441: inline bool 2441: Constraint_System::has_no_rows() const { 2441: return sys.has_no_rows(); 2441: } 2441: 2441: inline void 2441: Constraint_System::strong_normalize() { 2441: sys.strong_normalize(); 2441: } 2441: 2441: inline void 2441: Constraint_System::sort_rows() { 2441: sys.sort_rows(); 2441: } 2441: 2441: inline void 2441: Constraint_System::insert_pending(Constraint_System& r, Recycle_Input) { 2441: sys.insert_pending(r.sys, Recycle_Input()); 2441: } 2441: 2441: inline void 2441: Constraint_System::insert(Constraint_System& r, Recycle_Input) { 2441: sys.insert(r.sys, Recycle_Input()); 2441: } 2441: 2441: inline void 2441: Constraint_System::insert_pending(const Constraint_System& r) { 2441: sys.insert_pending(r.sys); 2441: } 2441: 2441: inline void 2441: Constraint_System::merge_rows_assign(const Constraint_System& y) { 2441: sys.merge_rows_assign(y.sys); 2441: } 2441: 2441: inline void 2441: Constraint_System::insert(const Constraint_System& y) { 2441: sys.insert(y.sys); 2441: } 2441: 2441: inline void 2441: Constraint_System::mark_as_necessarily_closed() { 2441: sys.mark_as_necessarily_closed(); 2441: } 2441: 2441: inline void 2441: Constraint_System::mark_as_not_necessarily_closed() { 2441: sys.mark_as_not_necessarily_closed(); 2441: } 2441: 2441: inline dimension_type 2441: Constraint_System::gauss(dimension_type n_lines_or_equalities) { 2441: return sys.gauss(n_lines_or_equalities); 2441: } 2441: 2441: inline void 2441: Constraint_System::back_substitute(dimension_type n_lines_or_equalities) { 2441: sys.back_substitute(n_lines_or_equalities); 2441: } 2441: 2441: inline void 2441: Constraint_System::assign_with_pending(const Constraint_System& y) { 2441: sys.assign_with_pending(y.sys); 2441: } 2441: 2441: inline void 2441: Constraint_System::sort_pending_and_remove_duplicates() { 2441: sys.sort_pending_and_remove_duplicates(); 2441: } 2441: 2441: inline void 2441: Constraint_System::sort_and_remove_with_sat(Bit_Matrix& sat) { 2441: sys.sort_and_remove_with_sat(sat); 2441: } 2441: 2441: inline bool 2441: Constraint_System::check_sorted() const { 2441: return sys.check_sorted(); 2441: } 2441: 2441: inline dimension_type 2441: Constraint_System::num_lines_or_equalities() const { 2441: return sys.num_lines_or_equalities(); 2441: } 2441: 2441: inline void 2441: Constraint_System::add_universe_rows_and_space_dimensions(dimension_type n) { 2441: sys.add_universe_rows_and_space_dimensions(n); 2441: } 2441: 2441: inline bool 2441: operator==(const Constraint_System& x, const Constraint_System& y) { 2441: return x.sys == y.sys; 2441: } 2441: 2441: inline bool 2441: operator!=(const Constraint_System& x, const Constraint_System& y) { 2441: return !(x == y); 2441: } 2441: 2441: 2441: inline void 2441: swap(Constraint_System& x, Constraint_System& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: namespace Implementation { 2441: 2441: 2441: 2441: 2441: inline dimension_type 2441: num_constraints(const Constraint_System& cs) { 2441: return static_cast(std::distance(cs.begin(), cs.end())); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 30 "../../src/Box_inlines.hh" 2 2441: # 1 "../../src/Congruence_System_defs.hh" 1 2441: # 38 "../../src/Congruence_System_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: bool 2441: operator==(const Congruence_System& x, const Congruence_System& y); 2441: 2441: } 2441: # 103 "../../src/Congruence_System_defs.hh" 2441: class Parma_Polyhedra_Library::Congruence_System { 2441: public: 2441: 2441: typedef Congruence row_type; 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: explicit Congruence_System(Representation r = default_representation); 2441: 2441: 2441: explicit Congruence_System(dimension_type d, 2441: Representation r = default_representation); 2441: 2441: 2441: explicit Congruence_System(const Congruence& cg, 2441: Representation r = default_representation); 2441: # 129 "../../src/Congruence_System_defs.hh" 2441: explicit Congruence_System(const Constraint& c, 2441: Representation r = default_representation); 2441: 2441: 2441: explicit Congruence_System(const Constraint_System& cs, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Congruence_System(const Congruence_System& cgs); 2441: 2441: 2441: Congruence_System(const Congruence_System& cgs, Representation r); 2441: 2441: 2441: ~Congruence_System(); 2441: 2441: 2441: Congruence_System& operator=(const Congruence_System& y); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_equal_to(const Congruence_System& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool has_linear_equalities() const; 2441: 2441: 2441: void clear(); 2441: # 187 "../../src/Congruence_System_defs.hh" 2441: void insert(const Congruence& cg); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void insert(Congruence& cg, Recycle_Input); 2441: # 208 "../../src/Congruence_System_defs.hh" 2441: void insert(const Constraint& c); 2441: # 218 "../../src/Congruence_System_defs.hh" 2441: void insert(const Congruence_System& y); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Congruence_System& cgs, Recycle_Input); 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: static const Congruence_System& zero_dim_empty(); 2441: # 250 "../../src/Congruence_System_defs.hh" 2441: class const_iterator 2441: : public std::iterator { 2441: public: 2441: 2441: const_iterator(); 2441: 2441: 2441: const_iterator(const const_iterator& y); 2441: 2441: 2441: ~const_iterator(); 2441: 2441: 2441: const_iterator& operator=(const const_iterator& y); 2441: 2441: 2441: const Congruence& operator*() const; 2441: 2441: 2441: const Congruence* operator->() const; 2441: 2441: 2441: const_iterator& operator++(); 2441: 2441: 2441: const_iterator operator++(int); 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const const_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const const_iterator& y) const; 2441: 2441: private: 2441: friend class Congruence_System; 2441: 2441: 2441: Swapping_Vector::const_iterator i; 2441: 2441: 2441: const Swapping_Vector* csp; 2441: 2441: 2441: const_iterator(const Swapping_Vector::const_iterator& iter, 2441: const Congruence_System& cgs); 2441: 2441: 2441: void skip_forward(); 2441: }; 2441: 2441: 2441: bool empty() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const_iterator end() const; 2441: # 331 "../../src/Congruence_System_defs.hh" 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: dimension_type num_equalities() const; 2441: 2441: 2441: dimension_type num_proper_congruences() const; 2441: 2441: 2441: void m_swap(Congruence_System& y); 2441: # 372 "../../src/Congruence_System_defs.hh" 2441: void add_unit_rows_and_space_dimensions(dimension_type dims); 2441: # 386 "../../src/Congruence_System_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool set_space_dimension(dimension_type new_space_dim); 2441: 2441: 2441: 2441: protected: 2441: 2441: bool satisfies_all_congruences(const Grid_Generator& g) const; 2441: 2441: private: 2441: 2441: dimension_type num_rows() const; 2441: 2441: 2441: bool has_no_rows() const; 2441: 2441: 2441: const Congruence& operator[](dimension_type k) const; 2441: 2441: 2441: void normalize_moduli(); 2441: # 455 "../../src/Congruence_System_defs.hh" 2441: void affine_preimage(Variable v, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator); 2441: # 472 "../../src/Congruence_System_defs.hh" 2441: void concatenate(const Congruence_System& y); 2441: # 481 "../../src/Congruence_System_defs.hh" 2441: void insert_verbatim(Congruence& cg, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_rows(dimension_type first, dimension_type last, 2441: bool keep_sorted); 2441: 2441: void remove_trailing_rows(dimension_type n); 2441: 2441: 2441: 2441: 2441: 2441: static const Congruence_System* zero_dim_empty_p; 2441: 2441: Swapping_Vector rows; 2441: 2441: dimension_type space_dimension_; 2441: 2441: Representation representation_; 2441: # 514 "../../src/Congruence_System_defs.hh" 2441: bool has_a_free_dimension() const; 2441: 2441: friend class Grid; 2441: 2441: friend bool 2441: operator==(const Congruence_System& x, const Congruence_System& y); 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: std::ostream& 2441: operator<<(std::ostream& s, const Congruence_System& cgs); 2441: 2441: } 2441: 2441: 2441: void 2441: swap(Congruence_System& x, Congruence_System& y); 2441: 2441: } 2441: # 31 "../../src/Box_inlines.hh" 2 2441: # 1 "../../src/Congruence_System_inlines.hh" 1 2441: # 29 "../../src/Congruence_System_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline const Congruence& 2441: Congruence_System::operator[](const dimension_type k) const { 2441: return rows[k]; 2441: } 2441: 2441: inline dimension_type 2441: Congruence_System::num_rows() const { 2441: return rows.size(); 2441: } 2441: 2441: inline bool 2441: Congruence_System::has_no_rows() const { 2441: return num_rows() == 0; 2441: } 2441: 2441: inline void 2441: Congruence_System::remove_trailing_rows(dimension_type n) { 2441: ((void) 0); 2441: rows.resize(num_rows() - n); 2441: } 2441: 2441: inline void 2441: Congruence_System::insert(const Congruence& cg) { 2441: Congruence tmp = cg; 2441: insert(tmp, Recycle_Input()); 2441: } 2441: 2441: inline void 2441: Congruence_System::insert(Congruence& cg, Recycle_Input) { 2441: ((void) 0); 2441: cg.strong_normalize(); 2441: ((void) 0); 2441: insert_verbatim(cg, Recycle_Input()); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Congruence_System::Congruence_System(Representation r) 2441: : rows(), 2441: space_dimension_(0), 2441: representation_(r) { 2441: } 2441: 2441: inline 2441: Congruence_System::Congruence_System(const Congruence& cg, Representation r) 2441: : rows(), 2441: space_dimension_(0), 2441: representation_(r) { 2441: insert(cg); 2441: } 2441: 2441: inline 2441: Congruence_System::Congruence_System(const Constraint& c, Representation r) 2441: : rows(), 2441: space_dimension_(0), 2441: representation_(r) { 2441: insert(c); 2441: } 2441: 2441: inline 2441: Congruence_System::Congruence_System(const Congruence_System& cgs) 2441: : rows(cgs.rows), 2441: space_dimension_(cgs.space_dimension_), 2441: representation_(cgs.representation_) { 2441: } 2441: 2441: inline 2441: Congruence_System::Congruence_System(const Congruence_System& cgs, 2441: Representation r) 2441: : rows(cgs.rows), 2441: space_dimension_(cgs.space_dimension_), 2441: representation_(r) { 2441: if (cgs.representation() != r) { 2441: for (dimension_type i = 0; i < num_rows(); ++i) { 2441: rows[i].set_representation(representation()); 2441: } 2441: } 2441: } 2441: 2441: inline 2441: Congruence_System::Congruence_System(const dimension_type d, Representation r) 2441: : rows(), 2441: space_dimension_(d), 2441: representation_(r) { 2441: } 2441: 2441: inline 2441: Congruence_System::~Congruence_System() { 2441: } 2441: 2441: inline Congruence_System& 2441: Congruence_System::operator=(const Congruence_System& y) { 2441: Congruence_System tmp = y; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: inline Representation 2441: Congruence_System::representation() const { 2441: return representation_; 2441: } 2441: 2441: inline void 2441: Congruence_System::set_representation(Representation r) { 2441: if (representation_ == r) { 2441: return; 2441: } 2441: representation_ = r; 2441: for (dimension_type i = 0; i < num_rows(); ++i) { 2441: rows[i].set_representation(r); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: inline dimension_type 2441: Congruence_System::max_space_dimension() { 2441: return Congruence::max_space_dimension(); 2441: } 2441: 2441: inline dimension_type 2441: Congruence_System::space_dimension() const { 2441: return space_dimension_; 2441: } 2441: 2441: inline void 2441: Congruence_System::clear() { 2441: rows.clear(); 2441: space_dimension_ = 0; 2441: } 2441: 2441: inline const Congruence_System& 2441: Congruence_System::zero_dim_empty() { 2441: ((void) 0); 2441: return *zero_dim_empty_p; 2441: } 2441: 2441: inline 2441: Congruence_System::const_iterator::const_iterator() 2441: : i(), csp(0) { 2441: } 2441: 2441: inline 2441: Congruence_System::const_iterator::const_iterator(const const_iterator& y) 2441: : i(y.i), csp(y.csp) { 2441: } 2441: 2441: inline 2441: Congruence_System::const_iterator::~const_iterator() { 2441: } 2441: 2441: inline Congruence_System::const_iterator& 2441: Congruence_System::const_iterator::operator=(const const_iterator& y) { 2441: i = y.i; 2441: csp = y.csp; 2441: return *this; 2441: } 2441: 2441: inline const Congruence& 2441: Congruence_System::const_iterator::operator*() const { 2441: return *i; 2441: } 2441: 2441: inline const Congruence* 2441: Congruence_System::const_iterator::operator->() const { 2441: return i.operator->(); 2441: } 2441: 2441: inline Congruence_System::const_iterator& 2441: Congruence_System::const_iterator::operator++() { 2441: ++i; 2441: skip_forward(); 2441: return *this; 2441: } 2441: 2441: inline Congruence_System::const_iterator 2441: Congruence_System::const_iterator::operator++(int) { 2441: const const_iterator tmp = *this; 2441: operator++(); 2441: return tmp; 2441: } 2441: 2441: inline bool 2441: Congruence_System::const_iterator::operator==(const const_iterator& y) const { 2441: return i == y.i; 2441: } 2441: 2441: inline bool 2441: Congruence_System::const_iterator::operator!=(const const_iterator& y) const { 2441: return i != y.i; 2441: } 2441: 2441: inline 2441: Congruence_System::const_iterator:: 2441: const_iterator(const Swapping_Vector::const_iterator& iter, 2441: const Congruence_System& cgs) 2441: : i(iter), csp(&cgs.rows) { 2441: } 2441: 2441: inline Congruence_System::const_iterator 2441: Congruence_System::begin() const { 2441: const_iterator i(rows.begin(), *this); 2441: i.skip_forward(); 2441: return i; 2441: } 2441: 2441: inline Congruence_System::const_iterator 2441: Congruence_System::end() const { 2441: const const_iterator i(rows.end(), *this); 2441: return i; 2441: } 2441: 2441: inline bool 2441: Congruence_System::empty() const { 2441: return begin() == end(); 2441: } 2441: 2441: inline void 2441: Congruence_System::m_swap(Congruence_System& y) { 2441: using std::swap; 2441: swap(rows, y.rows); 2441: swap(space_dimension_, y.space_dimension_); 2441: swap(representation_, y.representation_); 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline memory_size_type 2441: Congruence_System::external_memory_in_bytes() const { 2441: return rows.external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Congruence_System::total_memory_in_bytes() const { 2441: return rows.external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: 2441: inline void 2441: swap(Congruence_System& x, Congruence_System& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 32 "../../src/Box_inlines.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline bool 2441: Box::marked_empty() const { 2441: return status.test_empty_up_to_date() && status.test_empty(); 2441: } 2441: 2441: template 2441: inline void 2441: Box::set_empty() { 2441: status.set_empty(); 2441: status.set_empty_up_to_date(); 2441: } 2441: 2441: template 2441: inline void 2441: Box::set_nonempty() { 2441: status.reset_empty(); 2441: status.set_empty_up_to_date(); 2441: } 2441: 2441: template 2441: inline void 2441: Box::set_empty_up_to_date() { 2441: status.set_empty_up_to_date(); 2441: } 2441: 2441: template 2441: inline void 2441: Box::reset_empty_up_to_date() { 2441: return status.reset_empty_up_to_date(); 2441: } 2441: 2441: template 2441: inline 2441: Box::Box(const Box& y, Complexity_Class) 2441: : seq(y.seq), status(y.status) { 2441: } 2441: 2441: template 2441: inline Box& 2441: Box::operator=(const Box& y) { 2441: seq = y.seq; 2441: status = y.status; 2441: return *this; 2441: } 2441: 2441: template 2441: inline void 2441: Box::m_swap(Box& y) { 2441: Box& x = *this; 2441: using std::swap; 2441: swap(x.seq, y.seq); 2441: swap(x.status, y.status); 2441: } 2441: 2441: template 2441: inline 2441: Box::Box(const Constraint_System& cs, Recycle_Input) { 2441: 2441: Box tmp(cs); 2441: this->m_swap(tmp); 2441: } 2441: 2441: template 2441: inline 2441: Box::Box(const Generator_System& gs, Recycle_Input) { 2441: 2441: Box tmp(gs); 2441: this->m_swap(tmp); 2441: } 2441: 2441: template 2441: inline 2441: Box::Box(const Congruence_System& cgs, Recycle_Input) { 2441: 2441: Box tmp(cgs); 2441: this->m_swap(tmp); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Box::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Box::space_dimension() const { 2441: return seq.size(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Box::max_space_dimension() { 2441: 2441: 2441: return Sequence().max_size() - 1; 2441: } 2441: 2441: template 2441: inline int32_t 2441: Box::hash_code() const { 2441: return hash_code_from_dimension(space_dimension()); 2441: } 2441: 2441: template 2441: inline const ITV& 2441: Box::operator[](const dimension_type k) const { 2441: ((void) 0); 2441: return seq[k]; 2441: } 2441: 2441: template 2441: inline const ITV& 2441: Box::get_interval(const Variable var) const { 2441: if (space_dimension() < var.space_dimension()) { 2441: throw_dimension_incompatible("get_interval(v)", "v", var); 2441: } 2441: if (is_empty()) { 2441: static ITV empty_interval(EMPTY); 2441: return empty_interval; 2441: } 2441: 2441: return seq[var.id()]; 2441: } 2441: 2441: template 2441: inline void 2441: Box::set_interval(const Variable var, const ITV& i) { 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim < var.space_dimension()) { 2441: throw_dimension_incompatible("set_interval(v, i)", "v", var); 2441: } 2441: 2441: if (is_empty() && space_dim >= 2) { 2441: 2441: 2441: return; 2441: } 2441: seq[var.id()] = i; 2441: reset_empty_up_to_date(); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::is_empty() const { 2441: return marked_empty() || check_empty(); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::bounds_from_above(const Linear_Expression& expr) const { 2441: return bounds(expr, true); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::bounds_from_below(const Linear_Expression& expr) const { 2441: return bounds(expr, false); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, 2441: bool& maximum) const { 2441: return max_min(expr, true, sup_n, sup_d, maximum); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& g) const { 2441: return max_min(expr, true, sup_n, sup_d, maximum, g); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, 2441: bool& minimum) const { 2441: return max_min(expr, false, inf_n, inf_d, minimum); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& g) const { 2441: return max_min(expr, false, inf_n, inf_d, minimum, g); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::strictly_contains(const Box& y) const { 2441: const Box& x = *this; 2441: return x.contains(y) && !y.contains(x); 2441: } 2441: 2441: template 2441: inline void 2441: Box::expand_space_dimension(const Variable var, 2441: const dimension_type m) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (var.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var); 2441: } 2441: 2441: 2441: 2441: if (m > max_space_dimension() - space_dim) { 2441: throw_invalid_argument("expand_dimension(v, m)", 2441: "adding m new space dimensions exceeds " 2441: "the maximum allowed space dimension"); 2441: } 2441: 2441: 2441: 2441: seq.insert(seq.end(), m, seq[var.id()]); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline bool 2441: operator!=(const Box& x, const Box& y) { 2441: return !(x == y); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::has_lower_bound(const Variable var, 2441: Coefficient& n, Coefficient& d, bool& closed) const { 2441: 2441: 2441: ((void) 0); 2441: const dimension_type k = var.id(); 2441: ((void) 0); 2441: const ITV& seq_k = seq[k]; 2441: 2441: if (seq_k.lower_is_boundary_infinity()) { 2441: return false; 2441: } 2441: closed = !seq_k.lower_is_open(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lr; mpq_class& lr = holder_lr.item(); 2441: assign_r(lr, seq_k.lower(), ROUND_NOT_NEEDED); 2441: n = lr.get_num(); 2441: d = lr.get_den(); 2441: 2441: return true; 2441: } 2441: 2441: template 2441: inline bool 2441: Box::has_upper_bound(const Variable var, 2441: Coefficient& n, Coefficient& d, bool& closed) const { 2441: 2441: 2441: ((void) 0); 2441: const dimension_type k = var.id(); 2441: ((void) 0); 2441: const ITV& seq_k = seq[k]; 2441: 2441: if (seq_k.upper_is_boundary_infinity()) { 2441: return false; 2441: } 2441: 2441: closed = !seq_k.upper_is_open(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ur; mpq_class& ur = holder_ur.item(); 2441: assign_r(ur, seq_k.upper(), ROUND_NOT_NEEDED); 2441: n = ur.get_num(); 2441: d = ur.get_den(); 2441: 2441: return true; 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_constraint(const Constraint& c) { 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: 2441: if (c_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("add_constraint(c)", c); 2441: } 2441: 2441: add_constraint_no_check(c); 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_constraints(const Constraint_System& cs) { 2441: 2441: if (cs.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("add_constraints(cs)", cs); 2441: } 2441: 2441: add_constraints_no_check(cs); 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_recycled_constraints(Constraint_System& cs) { 2441: add_constraints(cs); 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_congruence(const Congruence& cg) { 2441: const dimension_type cg_space_dim = cg.space_dimension(); 2441: 2441: if (cg_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("add_congruence(cg)", cg); 2441: } 2441: 2441: add_congruence_no_check(cg); 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_congruences(const Congruence_System& cgs) { 2441: if (cgs.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("add_congruences(cgs)", cgs); 2441: } 2441: add_congruences_no_check(cgs); 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_recycled_congruences(Congruence_System& cgs) { 2441: add_congruences(cgs); 2441: } 2441: 2441: template 2441: inline bool 2441: Box::can_recycle_constraint_systems() { 2441: return false; 2441: } 2441: 2441: template 2441: inline bool 2441: Box::can_recycle_congruence_systems() { 2441: return false; 2441: } 2441: 2441: template 2441: inline void 2441: Box::widening_assign(const Box& y, unsigned* tp) { 2441: CC76_widening_assign(y, tp); 2441: } 2441: 2441: template 2441: inline Congruence_System 2441: Box::minimized_congruences() const { 2441: 2441: return congruences(); 2441: } 2441: 2441: template 2441: inline I_Result 2441: Box 2441: ::refine_interval_no_check(ITV& itv, 2441: const Constraint::Type type, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom) { 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: assign_r(q.get_num(), numer, ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), denom, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: 2441: q = -q; 2441: 2441: Relation_Symbol rel_sym; 2441: switch (type) { 2441: case Constraint::EQUALITY: 2441: rel_sym = EQUAL; 2441: break; 2441: case Constraint::NONSTRICT_INEQUALITY: 2441: rel_sym = (denom > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL; 2441: break; 2441: case Constraint::STRICT_INEQUALITY: 2441: rel_sym = (denom > 0) ? GREATER_THAN : LESS_THAN; 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return I_ANY; 2441: } 2441: I_Result res = itv.add_constraint(i_constraint(rel_sym, q)); 2441: ((void) 0); 2441: return res; 2441: } 2441: 2441: template 2441: inline void 2441: Box 2441: ::add_interval_constraint_no_check(const dimension_type var_id, 2441: const Constraint::Type type, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom) { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: refine_interval_no_check(seq[var_id], type, numer, denom); 2441: 2441: 2441: 2441: reset_empty_up_to_date(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Box::refine_with_constraint(const Constraint& c) { 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: 2441: if (c_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_constraint(c)", c); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: refine_no_check(c); 2441: } 2441: 2441: template 2441: inline void 2441: Box::refine_with_constraints(const Constraint_System& cs) { 2441: 2441: if (cs.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_constraints(cs)", cs); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: refine_no_check(cs); 2441: } 2441: 2441: template 2441: inline void 2441: Box::refine_with_congruence(const Congruence& cg) { 2441: const dimension_type cg_space_dim = cg.space_dimension(); 2441: 2441: if (cg_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_congruence(cg)", cg); 2441: } 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: refine_no_check(cg); 2441: } 2441: 2441: template 2441: inline void 2441: Box::refine_with_congruences(const Congruence_System& cgs) { 2441: 2441: if (cgs.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_congruences(cgs)", cgs); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: refine_no_check(cgs); 2441: } 2441: 2441: template 2441: inline void 2441: Box::propagate_constraint(const Constraint& c) { 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: 2441: if (c_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("propagate_constraint(c)", c); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: propagate_constraint_no_check(c); 2441: } 2441: 2441: template 2441: inline void 2441: Box::propagate_constraints(const Constraint_System& cs, 2441: const dimension_type max_iterations) { 2441: 2441: if (cs.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("propagate_constraints(cs)", cs); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: propagate_constraints_no_check(cs, max_iterations); 2441: } 2441: 2441: template 2441: inline void 2441: Box::unconstrain(const Variable var) { 2441: const dimension_type var_id = var.id(); 2441: 2441: if (space_dimension() < var_id + 1) { 2441: throw_dimension_incompatible("unconstrain(var)", var_id + 1); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: ITV& seq_var = seq[var_id]; 2441: if (seq_var.is_empty()) { 2441: set_empty(); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return l_m_distance_assign > 2441: (r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir) { 2441: 2441: 2441: return Parma_Polyhedra_Library 2441: ::rectilinear_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return l_m_distance_assign > 2441: (r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir) { 2441: 2441: 2441: return Parma_Polyhedra_Library 2441: ::euclidean_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return l_m_distance_assign > 2441: (r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Box& x, 2441: const Box& y, 2441: const Rounding_Dir dir) { 2441: 2441: 2441: return Parma_Polyhedra_Library 2441: ::l_infinity_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(Box& x, Box& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 2286 "../../src/Box_defs.hh" 2 2441: # 1 "../../src/Box_templates.hh" 1 2441: # 30 "../../src/Box_templates.hh" 2441: # 1 "../../src/Generator_System_defs.hh" 1 2441: # 33 "../../src/Generator_System_defs.hh" 2441: # 1 "../../src/Poly_Con_Relation_defs.hh" 1 2441: # 31 "../../src/Poly_Con_Relation_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y); 2441: 2441: 2441: 2441: bool operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y); 2441: 2441: 2441: 2441: Poly_Con_Relation operator&&(const Poly_Con_Relation& x, 2441: const Poly_Con_Relation& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Con_Relation operator-(const Poly_Con_Relation& x, 2441: const Poly_Con_Relation& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Poly_Con_Relation& r); 2441: 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: class Parma_Polyhedra_Library::Poly_Con_Relation { 2441: private: 2441: 2441: typedef unsigned int flags_t; 2441: 2441: 2441: 2441: static const flags_t NOTHING = 0U; 2441: static const flags_t IS_DISJOINT = 1U << 0; 2441: static const flags_t STRICTLY_INTERSECTS = 1U << 1; 2441: static const flags_t IS_INCLUDED = 1U << 2; 2441: static const flags_t SATURATES = 1U << 3; 2441: 2441: 2441: 2441: static const flags_t EVERYTHING 2441: = IS_DISJOINT 2441: | STRICTLY_INTERSECTS 2441: | IS_INCLUDED 2441: | SATURATES; 2441: 2441: 2441: flags_t flags; 2441: 2441: 2441: static bool implies(flags_t x, flags_t y); 2441: 2441: 2441: Poly_Con_Relation(flags_t mask); 2441: 2441: friend bool 2441: operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y); 2441: friend bool 2441: operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y); 2441: 2441: friend Poly_Con_Relation 2441: operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y); 2441: 2441: friend Poly_Con_Relation 2441: operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y); 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library:: 2441: IO_Operators::operator<<(std::ostream& s, const Poly_Con_Relation& r); 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: flags_t get_flags() const; 2441: 2441: public: 2441: 2441: static Poly_Con_Relation nothing(); 2441: 2441: 2441: 2441: 2441: 2441: static Poly_Con_Relation is_disjoint(); 2441: 2441: 2441: 2441: 2441: 2441: static Poly_Con_Relation strictly_intersects(); 2441: 2441: 2441: 2441: 2441: 2441: static Poly_Con_Relation is_included(); 2441: 2441: 2441: 2441: 2441: 2441: static Poly_Con_Relation saturates(); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: bool implies(const Poly_Con_Relation& y) const; 2441: 2441: 2441: bool OK() const; 2441: }; 2441: 2441: # 1 "../../src/Poly_Con_Relation_inlines.hh" 1 2441: # 27 "../../src/Poly_Con_Relation_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Poly_Con_Relation::Poly_Con_Relation(flags_t mask) 2441: : flags(mask) { 2441: } 2441: 2441: inline Poly_Con_Relation::flags_t 2441: Poly_Con_Relation::get_flags() const { 2441: return flags; 2441: } 2441: 2441: inline Poly_Con_Relation 2441: Poly_Con_Relation::nothing() { 2441: return Poly_Con_Relation(NOTHING); 2441: } 2441: 2441: inline Poly_Con_Relation 2441: Poly_Con_Relation::is_disjoint() { 2441: return Poly_Con_Relation(IS_DISJOINT); 2441: } 2441: 2441: inline Poly_Con_Relation 2441: Poly_Con_Relation::strictly_intersects() { 2441: return Poly_Con_Relation(STRICTLY_INTERSECTS); 2441: } 2441: 2441: inline Poly_Con_Relation 2441: Poly_Con_Relation::is_included() { 2441: return Poly_Con_Relation(IS_INCLUDED); 2441: } 2441: 2441: inline Poly_Con_Relation 2441: Poly_Con_Relation::saturates() { 2441: return Poly_Con_Relation(SATURATES); 2441: } 2441: 2441: inline bool 2441: Poly_Con_Relation::implies(flags_t x, flags_t y) { 2441: return (x & y) == y; 2441: } 2441: 2441: inline bool 2441: Poly_Con_Relation::implies(const Poly_Con_Relation& y) const { 2441: return implies(flags, y.flags); 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y) { 2441: return x.flags == y.flags; 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y) { 2441: return x.flags != y.flags; 2441: } 2441: 2441: 2441: inline Poly_Con_Relation 2441: operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y) { 2441: return Poly_Con_Relation(x.flags | y.flags); 2441: } 2441: 2441: 2441: inline Poly_Con_Relation 2441: operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y) { 2441: return Poly_Con_Relation(x.flags & ~y.flags); 2441: } 2441: 2441: } 2441: # 165 "../../src/Poly_Con_Relation_defs.hh" 2 2441: # 34 "../../src/Generator_System_defs.hh" 2 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Generator_System& gs); 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Generator_System& x, const Generator_System& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Generator_System& x, const Generator_System& y); 2441: 2441: 2441: void 2441: swap(Generator_System& x, Generator_System& y); 2441: 2441: } 2441: # 188 "../../src/Generator_System_defs.hh" 2441: class Parma_Polyhedra_Library::Generator_System { 2441: public: 2441: typedef Generator row_type; 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: Generator_System(Representation r = default_representation); 2441: 2441: 2441: explicit Generator_System(const Generator& g, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: Generator_System(const Generator_System& gs); 2441: 2441: 2441: Generator_System(const Generator_System& gs, Representation r); 2441: 2441: 2441: ~Generator_System(); 2441: 2441: 2441: Generator_System& operator=(const Generator_System& y); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: void set_space_dimension(dimension_type space_dim); 2441: 2441: 2441: 2441: 2441: 2441: void clear(); 2441: 2441: 2441: 2441: 2441: 2441: void insert(const Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Generator& g, Recycle_Input); 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: 2441: 2441: static const Generator_System& zero_dim_univ(); 2441: 2441: typedef Generator_System_const_iterator const_iterator; 2441: 2441: 2441: bool empty() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const_iterator end() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: # 287 "../../src/Generator_System_defs.hh" 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: void m_swap(Generator_System& y); 2441: 2441: private: 2441: 2441: bool has_no_rows() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: # 326 "../../src/Generator_System_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: 2441: void swap_space_dimensions(Variable v1, Variable v2); 2441: 2441: dimension_type num_rows() const; 2441: # 346 "../../src/Generator_System_defs.hh" 2441: void add_universe_rows_and_space_dimensions(dimension_type n); 2441: 2441: Topology topology() const; 2441: 2441: 2441: dimension_type first_pending_row() const; 2441: 2441: 2441: void unset_pending_rows(); 2441: 2441: 2441: void set_sorted(bool b); 2441: 2441: 2441: bool is_sorted() const; 2441: 2441: 2441: void set_index_first_pending_row(dimension_type i); 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed() const; 2441: 2441: 2441: void assign_with_pending(const Generator_System& y); 2441: 2441: 2441: dimension_type num_pending_rows() const; 2441: 2441: 2441: 2441: 2441: 2441: void sort_pending_and_remove_duplicates(); 2441: # 390 "../../src/Generator_System_defs.hh" 2441: void sort_and_remove_with_sat(Bit_Matrix& sat); 2441: 2441: 2441: 2441: 2441: 2441: void sort_rows(); 2441: 2441: 2441: 2441: 2441: 2441: bool check_sorted() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type num_lines_or_equalities() const; 2441: # 418 "../../src/Generator_System_defs.hh" 2441: void remove_row(dimension_type i, bool keep_sorted = false); 2441: # 428 "../../src/Generator_System_defs.hh" 2441: void remove_rows(dimension_type first, dimension_type last, 2441: bool keep_sorted = false); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_rows(const std::vector& indexes); 2441: 2441: 2441: void remove_trailing_rows(dimension_type n); 2441: # 454 "../../src/Generator_System_defs.hh" 2441: dimension_type gauss(dimension_type n_lines_or_equalities); 2441: # 466 "../../src/Generator_System_defs.hh" 2441: void back_substitute(dimension_type n_lines_or_equalities); 2441: 2441: 2441: void strong_normalize(); 2441: # 479 "../../src/Generator_System_defs.hh" 2441: void merge_rows_assign(const Generator_System& y); 2441: 2441: 2441: 2441: 2441: 2441: void insert(const Generator_System& y); 2441: 2441: 2441: void insert_pending(const Generator_System& r); 2441: 2441: 2441: 2441: 2441: 2441: static const Generator_System* zero_dim_univ_p; 2441: 2441: friend class Generator_System_const_iterator; 2441: 2441: 2441: explicit Generator_System(Topology topol, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: 2441: 2441: 2441: Generator_System(Topology topol, dimension_type space_dim, 2441: Representation r = default_representation); 2441: # 517 "../../src/Generator_System_defs.hh" 2441: bool adjust_topology_and_space_dimension(Topology new_topology, 2441: dimension_type new_space_dim); 2441: # 527 "../../src/Generator_System_defs.hh" 2441: void add_corresponding_points(); 2441: 2441: 2441: 2441: 2441: 2441: bool has_points() const; 2441: # 542 "../../src/Generator_System_defs.hh" 2441: void add_corresponding_closure_points(); 2441: # 554 "../../src/Generator_System_defs.hh" 2441: bool has_closure_points() const; 2441: 2441: 2441: 2441: void convert_into_non_necessarily_closed(); 2441: 2441: 2441: const Generator& operator[](dimension_type k) const; 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Poly_Con_Relation 2441: relation_with(const Constraint& c) const; 2441: 2441: 2441: bool satisfied_by_all_generators(const Constraint& c) const; 2441: 2441: 2441: 2441: 2441: 2441: bool satisfied_by_all_generators_C(const Constraint& c) const; 2441: 2441: 2441: 2441: 2441: 2441: bool satisfied_by_all_generators_NNC(const Constraint& c) const; 2441: # 612 "../../src/Generator_System_defs.hh" 2441: void affine_image(Variable v, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator); 2441: 2441: 2441: dimension_type num_lines() const; 2441: 2441: 2441: dimension_type num_rays() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_invalid_lines_and_rays(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void simplify(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void insert_pending(const Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void insert_pending(Generator& g, Recycle_Input); 2441: 2441: Linear_System sys; 2441: 2441: friend bool 2441: operator==(const Generator_System& x, const Generator_System& y); 2441: 2441: friend class Polyhedron; 2441: }; 2441: # 680 "../../src/Generator_System_defs.hh" 2441: class Parma_Polyhedra_Library::Generator_System_const_iterator 2441: : public std::iterator { 2441: public: 2441: 2441: Generator_System_const_iterator(); 2441: 2441: 2441: Generator_System_const_iterator(const Generator_System_const_iterator& y); 2441: 2441: 2441: ~Generator_System_const_iterator(); 2441: 2441: 2441: Generator_System_const_iterator& operator=(const Generator_System_const_iterator& y); 2441: 2441: 2441: const Generator& operator*() const; 2441: 2441: 2441: const Generator* operator->() const; 2441: 2441: 2441: Generator_System_const_iterator& operator++(); 2441: 2441: 2441: Generator_System_const_iterator operator++(int); 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Generator_System_const_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const Generator_System_const_iterator& y) const; 2441: 2441: private: 2441: friend class Generator_System; 2441: 2441: 2441: Linear_System::const_iterator i; 2441: 2441: 2441: const Linear_System* gsp; 2441: 2441: 2441: Generator_System_const_iterator(const Linear_System::const_iterator& iter, 2441: const Generator_System& gsys); 2441: 2441: 2441: 2441: 2441: 2441: void skip_forward(); 2441: }; 2441: # 31 "../../src/Box_templates.hh" 2 2441: # 1 "../../src/Generator_System_inlines.hh" 1 2441: # 29 "../../src/Generator_System_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Generator_System::Generator_System(Representation r) 2441: : sys(NECESSARILY_CLOSED, r) { 2441: } 2441: 2441: inline 2441: Generator_System::Generator_System(const Generator& g, Representation r) 2441: : sys(g.topology(), r) { 2441: sys.insert(g); 2441: } 2441: 2441: inline 2441: Generator_System::Generator_System(const Generator_System& gs) 2441: : sys(gs.sys) { 2441: } 2441: 2441: inline 2441: Generator_System::Generator_System(const Generator_System& gs, 2441: Representation r) 2441: : sys(gs.sys, r) { 2441: } 2441: 2441: inline 2441: Generator_System::Generator_System(const Topology topol, Representation r) 2441: : sys(topol, r) { 2441: } 2441: 2441: inline 2441: Generator_System::Generator_System(const Topology topol, 2441: const dimension_type space_dim, 2441: Representation r) 2441: : sys(topol, space_dim, r) { 2441: } 2441: 2441: inline 2441: Generator_System::~Generator_System() { 2441: } 2441: 2441: inline Generator_System& 2441: Generator_System::operator=(const Generator_System& y) { 2441: Generator_System tmp = y; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: inline Representation 2441: Generator_System::representation() const { 2441: return sys.representation(); 2441: } 2441: 2441: inline void 2441: Generator_System::set_representation(Representation r) { 2441: sys.set_representation(r); 2441: } 2441: 2441: inline dimension_type 2441: Generator_System::max_space_dimension() { 2441: return Linear_System::max_space_dimension(); 2441: } 2441: 2441: inline dimension_type 2441: Generator_System::space_dimension() const { 2441: return sys.space_dimension(); 2441: } 2441: 2441: inline void 2441: Generator_System::set_space_dimension(dimension_type space_dim) { 2441: const dimension_type old_space_dim = space_dimension(); 2441: sys.set_space_dimension_no_ok(space_dim); 2441: 2441: if (space_dim < old_space_dim) { 2441: 2441: remove_invalid_lines_and_rays(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Generator_System::clear() { 2441: sys.clear(); 2441: } 2441: 2441: inline const Generator& 2441: Generator_System::operator[](const dimension_type k) const { 2441: return sys[k]; 2441: } 2441: 2441: inline void 2441: Generator_System 2441: ::remove_space_dimensions(const Variables_Set& vars) { 2441: sys.remove_space_dimensions(vars); 2441: } 2441: 2441: inline void 2441: Generator_System 2441: ::shift_space_dimensions(Variable v, dimension_type n) { 2441: sys.shift_space_dimensions(v, n); 2441: } 2441: 2441: inline void 2441: Generator_System 2441: ::permute_space_dimensions(const std::vector& cycle) { 2441: sys.permute_space_dimensions(cycle); 2441: } 2441: 2441: inline void 2441: Generator_System 2441: ::swap_space_dimensions(Variable v1, Variable v2) { 2441: sys.swap_space_dimensions(v1, v2); 2441: } 2441: 2441: inline dimension_type 2441: Generator_System::num_rows() const { 2441: return sys.num_rows(); 2441: } 2441: 2441: inline void 2441: Generator_System::add_universe_rows_and_space_dimensions(dimension_type n) { 2441: sys.add_universe_rows_and_space_dimensions(n); 2441: } 2441: 2441: inline Topology 2441: Generator_System::topology() const { 2441: return sys.topology(); 2441: } 2441: 2441: inline dimension_type 2441: Generator_System::first_pending_row() const { 2441: return sys.first_pending_row(); 2441: } 2441: 2441: inline void 2441: Generator_System::unset_pending_rows() { 2441: sys.unset_pending_rows(); 2441: } 2441: 2441: inline void 2441: Generator_System::set_sorted(bool b) { 2441: sys.set_sorted(b); 2441: } 2441: 2441: inline bool 2441: Generator_System::is_sorted() const { 2441: return sys.is_sorted(); 2441: } 2441: 2441: inline void 2441: Generator_System::set_index_first_pending_row(dimension_type i) { 2441: sys.set_index_first_pending_row(i); 2441: } 2441: 2441: inline bool 2441: Generator_System::is_necessarily_closed() const { 2441: return sys.is_necessarily_closed(); 2441: } 2441: 2441: inline void 2441: Generator_System::assign_with_pending(const Generator_System& y) { 2441: sys.assign_with_pending(y.sys); 2441: } 2441: 2441: inline dimension_type 2441: Generator_System::num_pending_rows() const { 2441: return sys.num_pending_rows(); 2441: } 2441: 2441: inline void 2441: Generator_System::sort_pending_and_remove_duplicates() { 2441: return sys.sort_pending_and_remove_duplicates(); 2441: } 2441: 2441: inline void 2441: Generator_System::sort_and_remove_with_sat(Bit_Matrix& sat) { 2441: sys.sort_and_remove_with_sat(sat); 2441: } 2441: 2441: inline void 2441: Generator_System::sort_rows() { 2441: sys.sort_rows(); 2441: } 2441: 2441: inline bool 2441: Generator_System::check_sorted() const { 2441: return sys.check_sorted(); 2441: } 2441: 2441: inline dimension_type 2441: Generator_System::num_lines_or_equalities() const { 2441: return sys.num_lines_or_equalities(); 2441: } 2441: 2441: inline void 2441: Generator_System::remove_row(dimension_type i, bool keep_sorted) { 2441: sys.remove_row(i, keep_sorted); 2441: } 2441: 2441: inline void 2441: Generator_System::remove_rows(dimension_type first, dimension_type last, 2441: bool keep_sorted) { 2441: sys.remove_rows(first, last, keep_sorted); 2441: } 2441: 2441: inline void 2441: Generator_System::remove_rows(const std::vector& indexes) { 2441: sys.remove_rows(indexes); 2441: } 2441: 2441: inline void 2441: Generator_System::remove_trailing_rows(dimension_type n) { 2441: sys.remove_trailing_rows(n); 2441: } 2441: 2441: inline dimension_type 2441: Generator_System::gauss(dimension_type n_lines_or_equalities) { 2441: return sys.gauss(n_lines_or_equalities); 2441: } 2441: 2441: inline void 2441: Generator_System::back_substitute(dimension_type n_lines_or_equalities) { 2441: sys.back_substitute(n_lines_or_equalities); 2441: } 2441: 2441: inline void 2441: Generator_System::strong_normalize() { 2441: sys.strong_normalize(); 2441: } 2441: 2441: inline void 2441: Generator_System::merge_rows_assign(const Generator_System& y) { 2441: sys.merge_rows_assign(y.sys); 2441: } 2441: 2441: inline void 2441: Generator_System::insert(const Generator_System& y) { 2441: sys.insert(y.sys); 2441: } 2441: 2441: inline void 2441: Generator_System::insert_pending(const Generator_System& r) { 2441: sys.insert_pending(r.sys); 2441: } 2441: 2441: inline bool 2441: operator==(const Generator_System& x, const Generator_System& y) { 2441: return x.sys == y.sys; 2441: } 2441: 2441: inline bool 2441: operator!=(const Generator_System& x, const Generator_System& y) { 2441: return !(x == y); 2441: } 2441: 2441: inline 2441: Generator_System_const_iterator::Generator_System_const_iterator() 2441: : i(), gsp(0) { 2441: } 2441: 2441: inline 2441: Generator_System_const_iterator::Generator_System_const_iterator(const Generator_System_const_iterator& y) 2441: : i(y.i), gsp(y.gsp) { 2441: } 2441: 2441: inline 2441: Generator_System_const_iterator::~Generator_System_const_iterator() { 2441: } 2441: 2441: inline 2441: Generator_System_const_iterator& 2441: Generator_System_const_iterator::operator=(const Generator_System_const_iterator& y) { 2441: i = y.i; 2441: gsp = y.gsp; 2441: return *this; 2441: } 2441: 2441: inline const Generator& 2441: Generator_System_const_iterator::operator*() const { 2441: return *i; 2441: } 2441: 2441: inline const Generator* 2441: Generator_System_const_iterator::operator->() const { 2441: return i.operator->(); 2441: } 2441: 2441: inline Generator_System_const_iterator& 2441: Generator_System_const_iterator::operator++() { 2441: ++i; 2441: if (!gsp->is_necessarily_closed()) { 2441: skip_forward(); 2441: } 2441: return *this; 2441: } 2441: 2441: inline Generator_System_const_iterator 2441: Generator_System_const_iterator::operator++(int) { 2441: const Generator_System_const_iterator tmp = *this; 2441: operator++(); 2441: return tmp; 2441: } 2441: 2441: inline bool 2441: Generator_System_const_iterator::operator==(const Generator_System_const_iterator& y) const { 2441: return i == y.i; 2441: } 2441: 2441: inline bool 2441: Generator_System_const_iterator::operator!=(const Generator_System_const_iterator& y) const { 2441: return i != y.i; 2441: } 2441: 2441: inline 2441: Generator_System_const_iterator:: 2441: Generator_System_const_iterator(const Linear_System::const_iterator& iter, 2441: const Generator_System& gs) 2441: : i(iter), gsp(&gs.sys) { 2441: } 2441: 2441: inline bool 2441: Generator_System::empty() const { 2441: return sys.has_no_rows(); 2441: } 2441: 2441: inline bool 2441: Generator_System::has_no_rows() const { 2441: return sys.has_no_rows(); 2441: } 2441: 2441: inline Generator_System::const_iterator 2441: Generator_System::begin() const { 2441: const_iterator i(sys.begin(), *this); 2441: if (!sys.is_necessarily_closed()) { 2441: i.skip_forward(); 2441: } 2441: return i; 2441: } 2441: 2441: inline Generator_System::const_iterator 2441: Generator_System::end() const { 2441: const const_iterator i(sys.end(), *this); 2441: return i; 2441: } 2441: 2441: inline const Generator_System& 2441: Generator_System::zero_dim_univ() { 2441: ((void) 0); 2441: return *zero_dim_univ_p; 2441: } 2441: 2441: inline void 2441: Generator_System::m_swap(Generator_System& y) { 2441: swap(sys, y.sys); 2441: } 2441: 2441: inline memory_size_type 2441: Generator_System::external_memory_in_bytes() const { 2441: return sys.external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Generator_System::total_memory_in_bytes() const { 2441: return external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: inline void 2441: Generator_System::simplify() { 2441: sys.simplify(); 2441: remove_invalid_lines_and_rays(); 2441: } 2441: 2441: 2441: inline void 2441: swap(Generator_System& x, Generator_System& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 32 "../../src/Box_templates.hh" 2 2441: 2441: # 1 "../../src/Poly_Gen_Relation_defs.hh" 1 2441: # 31 "../../src/Poly_Gen_Relation_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y); 2441: 2441: 2441: 2441: bool operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y); 2441: 2441: 2441: 2441: Poly_Gen_Relation operator&&(const Poly_Gen_Relation& x, 2441: const Poly_Gen_Relation& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Gen_Relation operator-(const Poly_Gen_Relation& x, 2441: const Poly_Gen_Relation& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Poly_Gen_Relation& r); 2441: 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: class Parma_Polyhedra_Library::Poly_Gen_Relation { 2441: private: 2441: 2441: typedef unsigned int flags_t; 2441: 2441: 2441: 2441: static const flags_t NOTHING = 0U; 2441: static const flags_t SUBSUMES = 1U << 0; 2441: 2441: 2441: 2441: static const flags_t EVERYTHING 2441: = SUBSUMES; 2441: 2441: 2441: flags_t flags; 2441: 2441: 2441: static bool implies(flags_t x, flags_t y); 2441: 2441: 2441: Poly_Gen_Relation(flags_t mask); 2441: 2441: friend bool 2441: operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y); 2441: friend bool 2441: operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y); 2441: 2441: friend Poly_Gen_Relation 2441: operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y); 2441: 2441: friend Poly_Gen_Relation 2441: operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y); 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library:: 2441: IO_Operators::operator<<(std::ostream& s, const Poly_Gen_Relation& r); 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: 2441: flags_t get_flags() const; 2441: 2441: public: 2441: 2441: static Poly_Gen_Relation nothing(); 2441: 2441: 2441: static Poly_Gen_Relation subsumes(); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: bool implies(const Poly_Gen_Relation& y) const; 2441: 2441: 2441: bool OK() const; 2441: }; 2441: 2441: # 1 "../../src/Poly_Gen_Relation_inlines.hh" 1 2441: # 27 "../../src/Poly_Gen_Relation_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Poly_Gen_Relation::Poly_Gen_Relation(flags_t mask) 2441: : flags(mask) { 2441: } 2441: 2441: inline Poly_Gen_Relation::flags_t 2441: Poly_Gen_Relation::get_flags() const { 2441: return flags; 2441: } 2441: 2441: inline Poly_Gen_Relation 2441: Poly_Gen_Relation::nothing() { 2441: return Poly_Gen_Relation(NOTHING); 2441: } 2441: 2441: inline Poly_Gen_Relation 2441: Poly_Gen_Relation::subsumes() { 2441: return Poly_Gen_Relation(SUBSUMES); 2441: } 2441: 2441: inline bool 2441: Poly_Gen_Relation::implies(flags_t x, flags_t y) { 2441: return (x & y) == y; 2441: } 2441: 2441: inline bool 2441: Poly_Gen_Relation::implies(const Poly_Gen_Relation& y) const { 2441: return implies(flags, y.flags); 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) { 2441: return x.flags == y.flags; 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) { 2441: return x.flags != y.flags; 2441: } 2441: 2441: 2441: inline Poly_Gen_Relation 2441: operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) { 2441: return Poly_Gen_Relation(x.flags | y.flags); 2441: } 2441: 2441: 2441: inline Poly_Gen_Relation 2441: operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) { 2441: return Poly_Gen_Relation(x.flags & ~y.flags); 2441: } 2441: 2441: } 2441: # 138 "../../src/Poly_Gen_Relation_defs.hh" 2 2441: # 34 "../../src/Box_templates.hh" 2 2441: # 1 "../../src/Polyhedron_defs.hh" 1 2441: # 45 "../../src/Polyhedron_defs.hh" 2441: # 1 "../../src/H79_Certificate_types.hh" 1 2441: # 16 "../../src/H79_Certificate_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class H79_Certificate; 2441: 2441: } 2441: # 46 "../../src/Polyhedron_defs.hh" 2 2441: # 54 "../../src/Polyhedron_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: # 67 "../../src/Polyhedron_defs.hh" 2441: std::ostream& 2441: operator<<(std::ostream& s, const Polyhedron& ph); 2441: 2441: } 2441: 2441: 2441: 2441: void swap(Polyhedron& x, Polyhedron& y); 2441: # 84 "../../src/Polyhedron_defs.hh" 2441: bool operator==(const Polyhedron& x, const Polyhedron& y); 2441: # 94 "../../src/Polyhedron_defs.hh" 2441: bool operator!=(const Polyhedron& x, const Polyhedron& y); 2441: 2441: namespace Interfaces { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed_for_interfaces(const Polyhedron& ph); 2441: 2441: } 2441: 2441: } 2441: # 369 "../../src/Polyhedron_defs.hh" 2441: class Parma_Polyhedra_Library::Polyhedron { 2441: public: 2441: 2441: typedef Coefficient coefficient_type; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: 2441: 2441: 2441: static bool can_recycle_constraint_systems(); 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: 2441: 2441: static bool can_recycle_congruence_systems(); 2441: 2441: protected: 2441: # 406 "../../src/Polyhedron_defs.hh" 2441: Polyhedron(Topology topol, 2441: dimension_type num_dimensions, 2441: Degenerate_Element kind); 2441: 2441: 2441: 2441: 2441: 2441: Polyhedron(const Polyhedron& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 430 "../../src/Polyhedron_defs.hh" 2441: Polyhedron(Topology topol, const Constraint_System& cs); 2441: # 451 "../../src/Polyhedron_defs.hh" 2441: Polyhedron(Topology topol, Constraint_System& cs, Recycle_Input dummy); 2441: # 467 "../../src/Polyhedron_defs.hh" 2441: Polyhedron(Topology topol, const Generator_System& gs); 2441: # 489 "../../src/Polyhedron_defs.hh" 2441: Polyhedron(Topology topol, Generator_System& gs, Recycle_Input dummy); 2441: # 505 "../../src/Polyhedron_defs.hh" 2441: template 2441: Polyhedron(Topology topol, const Box& box, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: Polyhedron& operator=(const Polyhedron& y); 2441: 2441: public: 2441: 2441: 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type affine_dimension() const; 2441: 2441: 2441: const Constraint_System& constraints() const; 2441: 2441: 2441: const Constraint_System& minimized_constraints() const; 2441: 2441: 2441: const Generator_System& generators() const; 2441: 2441: 2441: const Generator_System& minimized_generators() const; 2441: 2441: 2441: Congruence_System congruences() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Congruence_System minimized_congruences() const; 2441: # 558 "../../src/Polyhedron_defs.hh" 2441: Poly_Con_Relation relation_with(const Constraint& c) const; 2441: # 567 "../../src/Polyhedron_defs.hh" 2441: Poly_Gen_Relation relation_with(const Generator& g) const; 2441: # 576 "../../src/Polyhedron_defs.hh" 2441: Poly_Con_Relation relation_with(const Congruence& cg) const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_empty() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_universe() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_topologically_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_disjoint_from(const Polyhedron& y) const; 2441: 2441: 2441: bool is_discrete() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_bounded() const; 2441: 2441: 2441: 2441: 2441: 2441: bool contains_integer_point() const; 2441: # 626 "../../src/Polyhedron_defs.hh" 2441: bool constrains(Variable var) const; 2441: # 635 "../../src/Polyhedron_defs.hh" 2441: bool bounds_from_above(const Linear_Expression& expr) const; 2441: # 644 "../../src/Polyhedron_defs.hh" 2441: bool bounds_from_below(const Linear_Expression& expr) const; 2441: # 670 "../../src/Polyhedron_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const; 2441: # 701 "../../src/Polyhedron_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& g) const; 2441: # 729 "../../src/Polyhedron_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const; 2441: # 760 "../../src/Polyhedron_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& g) const; 2441: # 792 "../../src/Polyhedron_defs.hh" 2441: bool frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool contains(const Polyhedron& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool strictly_contains(const Polyhedron& y) const; 2441: # 829 "../../src/Polyhedron_defs.hh" 2441: bool OK(bool check_not_empty = false) const; 2441: # 848 "../../src/Polyhedron_defs.hh" 2441: void add_constraint(const Constraint& c); 2441: # 859 "../../src/Polyhedron_defs.hh" 2441: void add_generator(const Generator& g); 2441: # 870 "../../src/Polyhedron_defs.hh" 2441: void add_congruence(const Congruence& cg); 2441: # 884 "../../src/Polyhedron_defs.hh" 2441: void add_constraints(const Constraint_System& cs); 2441: # 902 "../../src/Polyhedron_defs.hh" 2441: void add_recycled_constraints(Constraint_System& cs); 2441: # 917 "../../src/Polyhedron_defs.hh" 2441: void add_generators(const Generator_System& gs); 2441: # 936 "../../src/Polyhedron_defs.hh" 2441: void add_recycled_generators(Generator_System& gs); 2441: # 950 "../../src/Polyhedron_defs.hh" 2441: void add_congruences(const Congruence_System& cgs); 2441: # 968 "../../src/Polyhedron_defs.hh" 2441: void add_recycled_congruences(Congruence_System& cgs); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void refine_with_constraint(const Constraint& c); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void refine_with_congruence(const Congruence& cg); 2441: # 996 "../../src/Polyhedron_defs.hh" 2441: void refine_with_constraints(const Constraint_System& cs); 2441: # 1008 "../../src/Polyhedron_defs.hh" 2441: void refine_with_congruences(const Congruence_System& cgs); 2441: # 1035 "../../src/Polyhedron_defs.hh" 2441: template 2441: void refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right, 2441: bool is_strict = false); 2441: # 1069 "../../src/Polyhedron_defs.hh" 2441: template 2441: void generalized_refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right, 2441: Relation_Symbol relsym); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void refine_fp_interval_abstract_store( 2441: Box< Interval >& store) 2441: const; 2441: # 1095 "../../src/Polyhedron_defs.hh" 2441: void unconstrain(Variable var); 2441: # 1109 "../../src/Polyhedron_defs.hh" 2441: void unconstrain(const Variables_Set& vars); 2441: # 1118 "../../src/Polyhedron_defs.hh" 2441: void intersection_assign(const Polyhedron& y); 2441: # 1127 "../../src/Polyhedron_defs.hh" 2441: void poly_hull_assign(const Polyhedron& y); 2441: 2441: 2441: void upper_bound_assign(const Polyhedron& y); 2441: # 1141 "../../src/Polyhedron_defs.hh" 2441: void poly_difference_assign(const Polyhedron& y); 2441: 2441: 2441: void difference_assign(const Polyhedron& y); 2441: # 1155 "../../src/Polyhedron_defs.hh" 2441: bool simplify_using_context_assign(const Polyhedron& y); 2441: # 1246 "../../src/Polyhedron_defs.hh" 2441: void affine_image(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1273 "../../src/Polyhedron_defs.hh" 2441: template 2441: void affine_form_image(Variable var, 2441: const Linear_Form >& lf); 2441: # 1364 "../../src/Polyhedron_defs.hh" 2441: void affine_preimage(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1395 "../../src/Polyhedron_defs.hh" 2441: void generalized_affine_image(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1427 "../../src/Polyhedron_defs.hh" 2441: void 2441: generalized_affine_preimage(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1454 "../../src/Polyhedron_defs.hh" 2441: void generalized_affine_image(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1478 "../../src/Polyhedron_defs.hh" 2441: void generalized_affine_preimage(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1508 "../../src/Polyhedron_defs.hh" 2441: void bounded_affine_image(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1540 "../../src/Polyhedron_defs.hh" 2441: void bounded_affine_preimage(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1554 "../../src/Polyhedron_defs.hh" 2441: void time_elapse_assign(const Polyhedron& y); 2441: # 1565 "../../src/Polyhedron_defs.hh" 2441: void positive_time_elapse_assign(const Polyhedron& y); 2441: # 1613 "../../src/Polyhedron_defs.hh" 2441: void wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p = 0, 2441: unsigned complexity_threshold = 16, 2441: bool wrap_individually = true); 2441: # 1632 "../../src/Polyhedron_defs.hh" 2441: void drop_some_non_integer_points(Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: # 1650 "../../src/Polyhedron_defs.hh" 2441: void drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: 2441: 2441: void topological_closure_assign(); 2441: # 1673 "../../src/Polyhedron_defs.hh" 2441: void BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp = 0); 2441: # 1696 "../../src/Polyhedron_defs.hh" 2441: void limited_BHRZ03_extrapolation_assign(const Polyhedron& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1721 "../../src/Polyhedron_defs.hh" 2441: void bounded_BHRZ03_extrapolation_assign(const Polyhedron& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1741 "../../src/Polyhedron_defs.hh" 2441: void H79_widening_assign(const Polyhedron& y, unsigned* tp = 0); 2441: 2441: 2441: void widening_assign(const Polyhedron& y, unsigned* tp = 0); 2441: # 1767 "../../src/Polyhedron_defs.hh" 2441: void limited_H79_extrapolation_assign(const Polyhedron& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1792 "../../src/Polyhedron_defs.hh" 2441: void bounded_H79_extrapolation_assign(const Polyhedron& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1826 "../../src/Polyhedron_defs.hh" 2441: void add_space_dimensions_and_embed(dimension_type m); 2441: # 1853 "../../src/Polyhedron_defs.hh" 2441: void add_space_dimensions_and_project(dimension_type m); 2441: # 1866 "../../src/Polyhedron_defs.hh" 2441: void concatenate_assign(const Polyhedron& y); 2441: # 1878 "../../src/Polyhedron_defs.hh" 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: # 1888 "../../src/Polyhedron_defs.hh" 2441: void remove_higher_space_dimensions(dimension_type new_dimension); 2441: # 1930 "../../src/Polyhedron_defs.hh" 2441: template 2441: void map_space_dimensions(const Partial_Function& pfunc); 2441: # 1954 "../../src/Polyhedron_defs.hh" 2441: void expand_space_dimension(Variable var, dimension_type m); 2441: # 1979 "../../src/Polyhedron_defs.hh" 2441: void fold_space_dimensions(const Variables_Set& vars, Variable dest); 2441: 2441: 2441: 2441: friend bool operator==(const Polyhedron& x, const Polyhedron& y); 2441: 2441: 2441: 2441: 2441: 2441: ~Polyhedron(); 2441: # 1998 "../../src/Polyhedron_defs.hh" 2441: void m_swap(Polyhedron& y); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: int32_t hash_code() const; 2441: 2441: 2441: 2441: private: 2441: static const Representation default_con_sys_repr = DENSE; 2441: static const Representation default_gen_sys_repr = DENSE; 2441: 2441: 2441: Constraint_System con_sys; 2441: 2441: 2441: Generator_System gen_sys; 2441: 2441: 2441: Bit_Matrix sat_c; 2441: 2441: 2441: Bit_Matrix sat_g; 2441: 2441: 2441: # 1 "../../src/Ph_Status_idefs.hh" 1 2441: # 86 "../../src/Ph_Status_idefs.hh" 2441: class Status { 2441: public: 2441: 2441: Status(); 2441: 2441: 2441: 2441: bool test_zero_dim_univ() const; 2441: void reset_zero_dim_univ(); 2441: void set_zero_dim_univ(); 2441: 2441: bool test_empty() const; 2441: void reset_empty(); 2441: void set_empty(); 2441: 2441: bool test_c_up_to_date() const; 2441: void reset_c_up_to_date(); 2441: void set_c_up_to_date(); 2441: 2441: bool test_g_up_to_date() const; 2441: void reset_g_up_to_date(); 2441: void set_g_up_to_date(); 2441: 2441: bool test_c_minimized() const; 2441: void reset_c_minimized(); 2441: void set_c_minimized(); 2441: 2441: bool test_g_minimized() const; 2441: void reset_g_minimized(); 2441: void set_g_minimized(); 2441: 2441: bool test_sat_c_up_to_date() const; 2441: void reset_sat_c_up_to_date(); 2441: void set_sat_c_up_to_date(); 2441: 2441: bool test_sat_g_up_to_date() const; 2441: void reset_sat_g_up_to_date(); 2441: void set_sat_g_up_to_date(); 2441: 2441: bool test_c_pending() const; 2441: void reset_c_pending(); 2441: void set_c_pending(); 2441: 2441: bool test_g_pending() const; 2441: void reset_g_pending(); 2441: void set_g_pending(); 2441: 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: private: 2441: 2441: typedef unsigned int flags_t; 2441: 2441: 2441: 2441: static const flags_t ZERO_DIM_UNIV = 0U; 2441: static const flags_t EMPTY = 1U << 0; 2441: static const flags_t C_UP_TO_DATE = 1U << 1; 2441: static const flags_t G_UP_TO_DATE = 1U << 2; 2441: static const flags_t C_MINIMIZED = 1U << 3; 2441: static const flags_t G_MINIMIZED = 1U << 4; 2441: static const flags_t SAT_C_UP_TO_DATE = 1U << 5; 2441: static const flags_t SAT_G_UP_TO_DATE = 1U << 6; 2441: static const flags_t CS_PENDING = 1U << 7; 2441: static const flags_t GS_PENDING = 1U << 8; 2441: 2441: 2441: 2441: flags_t flags; 2441: 2441: 2441: Status(flags_t mask); 2441: 2441: 2441: bool test_all(flags_t mask) const; 2441: 2441: 2441: bool test_any(flags_t mask) const; 2441: 2441: 2441: void set(flags_t mask); 2441: 2441: 2441: void reset(flags_t mask); 2441: }; 2441: # 2043 "../../src/Polyhedron_defs.hh" 2 2441: 2441: 2441: 2441: Status status; 2441: 2441: 2441: dimension_type space_dim; 2441: 2441: 2441: Topology topology() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_necessarily_closed() const; 2441: 2441: friend bool 2441: Parma_Polyhedra_Library::Interfaces 2441: ::is_necessarily_closed_for_interfaces(const Polyhedron&); 2441: # 2071 "../../src/Polyhedron_defs.hh" 2441: void refine_no_check(const Constraint& c); 2441: # 2081 "../../src/Polyhedron_defs.hh" 2441: bool marked_empty() const; 2441: 2441: 2441: bool constraints_are_up_to_date() const; 2441: 2441: 2441: bool generators_are_up_to_date() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool constraints_are_minimized() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool generators_are_minimized() const; 2441: 2441: 2441: bool has_pending_constraints() const; 2441: 2441: 2441: bool has_pending_generators() const; 2441: 2441: 2441: 2441: 2441: 2441: bool has_something_pending() const; 2441: 2441: 2441: bool can_have_something_pending() const; 2441: 2441: 2441: 2441: 2441: 2441: bool sat_c_is_up_to_date() const; 2441: 2441: 2441: 2441: 2441: 2441: bool sat_g_is_up_to_date() const; 2441: # 2139 "../../src/Polyhedron_defs.hh" 2441: void set_zero_dim_univ(); 2441: 2441: 2441: 2441: 2441: 2441: void set_empty(); 2441: 2441: 2441: void set_constraints_up_to_date(); 2441: 2441: 2441: void set_generators_up_to_date(); 2441: 2441: 2441: void set_constraints_minimized(); 2441: 2441: 2441: void set_generators_minimized(); 2441: 2441: 2441: void set_constraints_pending(); 2441: 2441: 2441: void set_generators_pending(); 2441: 2441: 2441: void set_sat_c_up_to_date(); 2441: 2441: 2441: void set_sat_g_up_to_date(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void clear_empty(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void clear_constraints_up_to_date(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void clear_generators_up_to_date(); 2441: 2441: 2441: void clear_constraints_minimized(); 2441: 2441: 2441: void clear_generators_minimized(); 2441: 2441: 2441: void clear_pending_constraints(); 2441: 2441: 2441: void clear_pending_generators(); 2441: 2441: 2441: void clear_sat_c_up_to_date(); 2441: 2441: 2441: void clear_sat_g_up_to_date(); 2441: # 2227 "../../src/Polyhedron_defs.hh" 2441: bool process_pending() const; 2441: # 2237 "../../src/Polyhedron_defs.hh" 2441: bool process_pending_constraints() const; 2441: 2441: 2441: 2441: 2441: 2441: void process_pending_generators() const; 2441: # 2252 "../../src/Polyhedron_defs.hh" 2441: void remove_pending_to_obtain_constraints() const; 2441: # 2265 "../../src/Polyhedron_defs.hh" 2441: bool remove_pending_to_obtain_generators() const; 2441: # 2278 "../../src/Polyhedron_defs.hh" 2441: void update_constraints() const; 2441: # 2292 "../../src/Polyhedron_defs.hh" 2441: bool update_generators() const; 2441: # 2309 "../../src/Polyhedron_defs.hh" 2441: void update_sat_c() const; 2441: # 2326 "../../src/Polyhedron_defs.hh" 2441: void update_sat_g() const; 2441: # 2338 "../../src/Polyhedron_defs.hh" 2441: void obtain_sorted_constraints() const; 2441: # 2350 "../../src/Polyhedron_defs.hh" 2441: void obtain_sorted_generators() const; 2441: # 2360 "../../src/Polyhedron_defs.hh" 2441: void obtain_sorted_constraints_with_sat_c() const; 2441: # 2370 "../../src/Polyhedron_defs.hh" 2441: void obtain_sorted_generators_with_sat_g() const; 2441: # 2386 "../../src/Polyhedron_defs.hh" 2441: bool minimize() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool strongly_minimize_constraints() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool strongly_minimize_generators() const; 2441: 2441: 2441: Constraint_System simplified_constraints() const; 2441: 2441: 2441: 2441: enum Three_Valued_Boolean { 2441: TVB_TRUE, 2441: TVB_FALSE, 2441: TVB_DONT_KNOW 2441: }; 2441: 2441: 2441: Three_Valued_Boolean quick_equivalence_test(const Polyhedron& y) const; 2441: 2441: 2441: bool is_included_in(const Polyhedron& y) const; 2441: # 2438 "../../src/Polyhedron_defs.hh" 2441: bool bounds(const Linear_Expression& expr, bool from_above) const; 2441: # 2471 "../../src/Polyhedron_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included, 2441: Generator& g) const; 2441: # 2483 "../../src/Polyhedron_defs.hh" 2441: void select_CH78_constraints(const Polyhedron& y, 2441: Constraint_System& cs_selection) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void select_H79_constraints(const Polyhedron& y, 2441: Constraint_System& cs_selected, 2441: Constraint_System& cs_not_selected) const; 2441: 2441: bool BHRZ03_combining_constraints(const Polyhedron& y, 2441: const BHRZ03_Certificate& y_cert, 2441: const Polyhedron& H79, 2441: const Constraint_System& x_minus_H79_cs); 2441: 2441: bool BHRZ03_evolving_points(const Polyhedron& y, 2441: const BHRZ03_Certificate& y_cert, 2441: const Polyhedron& H79); 2441: 2441: bool BHRZ03_evolving_rays(const Polyhedron& y, 2441: const BHRZ03_Certificate& y_cert, 2441: const Polyhedron& H79); 2441: 2441: static void modify_according_to_evolution(Linear_Expression& ray, 2441: const Linear_Expression& x, 2441: const Linear_Expression& y); 2441: # 2542 "../../src/Polyhedron_defs.hh" 2441: template 2441: static void add_space_dimensions(Linear_System1& sys1, 2441: Linear_System2& sys2, 2441: Bit_Matrix& sat1, 2441: Bit_Matrix& sat2, 2441: dimension_type add_dim); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: static bool minimize(bool con_to_gen, 2441: Source_Linear_System& source, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: static bool add_and_minimize(bool con_to_gen, 2441: Source_Linear_System1& source1, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat, 2441: const Source_Linear_System2& source2); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: static bool add_and_minimize(bool con_to_gen, 2441: Source_Linear_System& source, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat); 2441: 2441: 2441: 2441: template 2441: static dimension_type conversion(Source_Linear_System& source, 2441: dimension_type start, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat, 2441: dimension_type num_lines_or_equalities); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: static dimension_type simplify(Linear_System1& sys, Bit_Matrix& sat); 2441: # 2610 "../../src/Polyhedron_defs.hh" 2441: static dimension_type* simplify_num_saturators_p; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static size_t simplify_num_saturators_size; 2441: 2441: template friend class Parma_Polyhedra_Library::Box; 2441: template friend class Parma_Polyhedra_Library::BD_Shape; 2441: template friend class Parma_Polyhedra_Library::Octagonal_Shape; 2441: friend class Parma_Polyhedra_Library::Grid; 2441: friend class Parma_Polyhedra_Library::BHRZ03_Certificate; 2441: friend class Parma_Polyhedra_Library::H79_Certificate; 2441: 2441: protected: 2441: # 2644 "../../src/Polyhedron_defs.hh" 2441: bool BFT00_poly_hull_assign_if_exact(const Polyhedron& y); 2441: 2441: bool BHZ09_poly_hull_assign_if_exact(const Polyhedron& y); 2441: bool BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y); 2441: bool BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y); 2441: 2441: 2441: 2441: 2441: 2441: protected: 2441: void throw_invalid_argument(const char* method, const char* reason) const; 2441: 2441: void throw_topology_incompatible(const char* method, 2441: const char* ph_name, 2441: const Polyhedron& ph) const; 2441: void throw_topology_incompatible(const char* method, 2441: const char* c_name, 2441: const Constraint& c) const; 2441: void throw_topology_incompatible(const char* method, 2441: const char* g_name, 2441: const Generator& g) const; 2441: void throw_topology_incompatible(const char* method, 2441: const char* cs_name, 2441: const Constraint_System& cs) const; 2441: void throw_topology_incompatible(const char* method, 2441: const char* gs_name, 2441: const Generator_System& gs) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const char* other_name, 2441: dimension_type other_dim) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* ph_name, 2441: const Polyhedron& ph) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* c_name, 2441: const Constraint& c) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* g_name, 2441: const Generator& g) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* cg_name, 2441: const Congruence& cg) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* cs_name, 2441: const Constraint_System& cs) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* gs_name, 2441: const Generator_System& gs) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* cgs_name, 2441: const Congruence_System& cgs) const; 2441: template 2441: void throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form& lf) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* var_name, 2441: Variable var) const; 2441: void throw_dimension_incompatible(const char* method, 2441: dimension_type required_space_dim) const; 2441: 2441: 2441: 2441: 2441: static dimension_type 2441: check_space_dimension_overflow(dimension_type dim, dimension_type max, 2441: const Topology topol, 2441: const char* method, const char* reason); 2441: 2441: static dimension_type 2441: check_space_dimension_overflow(dimension_type dim, const Topology topol, 2441: const char* method, const char* reason); 2441: 2441: template 2441: static Object& 2441: check_obj_space_dimension_overflow(Object& input, Topology topol, 2441: const char* method, const char* reason); 2441: 2441: void throw_invalid_generator(const char* method, 2441: const char* g_name) const; 2441: 2441: void throw_invalid_generators(const char* method, 2441: const char* gs_name) const; 2441: # 2751 "../../src/Polyhedron_defs.hh" 2441: void drop_some_non_integer_points(const Variables_Set* vars_p, 2441: Complexity_Class complexity); 2441: # 2772 "../../src/Polyhedron_defs.hh" 2441: template 2441: void overapproximate_linear_form( 2441: const Linear_Form >& lf, 2441: const dimension_type lf_dimension, 2441: Linear_Form >& result); 2441: # 2797 "../../src/Polyhedron_defs.hh" 2441: template 2441: static void convert_to_integer_expression( 2441: const Linear_Form >& lf, 2441: const dimension_type lf_dimension, 2441: Linear_Expression& result); 2441: # 2829 "../../src/Polyhedron_defs.hh" 2441: template 2441: static void 2441: convert_to_integer_expressions(const Linear_Form >& 2441: lf, 2441: const dimension_type lf_dimension, 2441: Linear_Expression& res, 2441: Coefficient& res_low_coeff, 2441: Coefficient& res_hi_coeff, 2441: Coefficient& denominator); 2441: 2441: template 2441: static bool 2441: add_to_system_and_check_independence(Linear_System1& eq_sys, 2441: const Row2& eq); 2441: # 2852 "../../src/Polyhedron_defs.hh" 2441: void positive_time_elapse_assign_impl(const Polyhedron& y); 2441: }; 2441: 2441: # 1 "../../src/Ph_Status_inlines.hh" 1 2441: # 27 "../../src/Ph_Status_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Polyhedron::Status::Status(flags_t mask) 2441: : flags(mask) { 2441: } 2441: 2441: inline 2441: Polyhedron::Status::Status() 2441: : flags(ZERO_DIM_UNIV) { 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_all(flags_t mask) const { 2441: return (flags & mask) == mask; 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_any(flags_t mask) const { 2441: return (flags & mask) != 0; 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set(flags_t mask) { 2441: flags |= mask; 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset(flags_t mask) { 2441: flags &= ~mask; 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_zero_dim_univ() const { 2441: return flags == ZERO_DIM_UNIV; 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_zero_dim_univ() { 2441: 2441: if (flags == ZERO_DIM_UNIV) { 2441: 2441: flags = EMPTY; 2441: } 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_zero_dim_univ() { 2441: 2441: flags = ZERO_DIM_UNIV; 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_empty() const { 2441: return test_any(EMPTY); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_empty() { 2441: reset(EMPTY); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_empty() { 2441: flags = EMPTY; 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_c_up_to_date() const { 2441: return test_any(C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_c_up_to_date() { 2441: reset(C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_c_up_to_date() { 2441: set(C_UP_TO_DATE); 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_g_up_to_date() const { 2441: return test_any(G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_g_up_to_date() { 2441: reset(G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_g_up_to_date() { 2441: set(G_UP_TO_DATE); 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_c_minimized() const { 2441: return test_any(C_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_c_minimized() { 2441: reset(C_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_c_minimized() { 2441: set(C_MINIMIZED); 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_g_minimized() const { 2441: return test_any(G_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_g_minimized() { 2441: reset(G_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_g_minimized() { 2441: set(G_MINIMIZED); 2441: } 2441: 2441: 2441: inline bool 2441: Polyhedron::Status::test_c_pending() const { 2441: return test_any(CS_PENDING); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_c_pending() { 2441: reset(CS_PENDING); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_c_pending() { 2441: set(CS_PENDING); 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_g_pending() const { 2441: return test_any(GS_PENDING); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_g_pending() { 2441: reset(GS_PENDING); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_g_pending() { 2441: set(GS_PENDING); 2441: } 2441: 2441: 2441: inline bool 2441: Polyhedron::Status::test_sat_c_up_to_date() const { 2441: return test_any(SAT_C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_sat_c_up_to_date() { 2441: reset(SAT_C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_sat_c_up_to_date() { 2441: set(SAT_C_UP_TO_DATE); 2441: } 2441: 2441: inline bool 2441: Polyhedron::Status::test_sat_g_up_to_date() const { 2441: return test_any(SAT_G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::reset_sat_g_up_to_date() { 2441: reset(SAT_G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Polyhedron::Status::set_sat_g_up_to_date() { 2441: set(SAT_G_UP_TO_DATE); 2441: } 2441: 2441: } 2441: # 2856 "../../src/Polyhedron_defs.hh" 2 2441: # 1 "../../src/Polyhedron_inlines.hh" 1 2441: # 32 "../../src/Polyhedron_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline memory_size_type 2441: Polyhedron::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline dimension_type 2441: Polyhedron::space_dimension() const { 2441: return space_dim; 2441: } 2441: 2441: inline int32_t 2441: Polyhedron::hash_code() const { 2441: return hash_code_from_dimension(space_dimension()); 2441: } 2441: 2441: inline dimension_type 2441: Polyhedron::max_space_dimension() { 2441: using std::min; 2441: 2441: 2441: return min(std::numeric_limits::max() - 1, 2441: min(Constraint_System::max_space_dimension(), 2441: Generator_System::max_space_dimension() 2441: ) 2441: ); 2441: } 2441: 2441: inline Topology 2441: Polyhedron::topology() const { 2441: 2441: 2441: return con_sys.topology(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::is_discrete() const { 2441: return affine_dimension() == 0; 2441: } 2441: 2441: inline bool 2441: Polyhedron::is_necessarily_closed() const { 2441: 2441: 2441: return con_sys.is_necessarily_closed(); 2441: } 2441: 2441: inline void 2441: Polyhedron::upper_bound_assign(const Polyhedron& y) { 2441: poly_hull_assign(y); 2441: } 2441: 2441: inline void 2441: Polyhedron::difference_assign(const Polyhedron& y) { 2441: poly_difference_assign(y); 2441: } 2441: 2441: inline void 2441: Polyhedron::widening_assign(const Polyhedron& y, unsigned* tp) { 2441: H79_widening_assign(y, tp); 2441: } 2441: 2441: inline 2441: Polyhedron::~Polyhedron() { 2441: } 2441: 2441: inline void 2441: Polyhedron::m_swap(Polyhedron& y) { 2441: if (topology() != y.topology()) { 2441: throw_topology_incompatible("swap(y)", "y", y); 2441: } 2441: using std::swap; 2441: swap(con_sys, y.con_sys); 2441: swap(gen_sys, y.gen_sys); 2441: swap(sat_c, y.sat_c); 2441: swap(sat_g, y.sat_g); 2441: swap(status, y.status); 2441: swap(space_dim, y.space_dim); 2441: } 2441: 2441: 2441: inline void 2441: swap(Polyhedron& x, Polyhedron& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: inline bool 2441: Polyhedron::can_recycle_constraint_systems() { 2441: return true; 2441: } 2441: 2441: inline bool 2441: Polyhedron::can_recycle_congruence_systems() { 2441: return false; 2441: } 2441: 2441: inline bool 2441: Polyhedron::marked_empty() const { 2441: return status.test_empty(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::constraints_are_up_to_date() const { 2441: return status.test_c_up_to_date(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::generators_are_up_to_date() const { 2441: return status.test_g_up_to_date(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::constraints_are_minimized() const { 2441: return status.test_c_minimized(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::generators_are_minimized() const { 2441: return status.test_g_minimized(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::sat_c_is_up_to_date() const { 2441: return status.test_sat_c_up_to_date(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::sat_g_is_up_to_date() const { 2441: return status.test_sat_g_up_to_date(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::has_pending_constraints() const { 2441: return status.test_c_pending(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::has_pending_generators() const { 2441: return status.test_g_pending(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::has_something_pending() const { 2441: return status.test_c_pending() || status.test_g_pending(); 2441: } 2441: 2441: inline bool 2441: Polyhedron::can_have_something_pending() const { 2441: return constraints_are_minimized() 2441: && generators_are_minimized() 2441: && (sat_c_is_up_to_date() || sat_g_is_up_to_date()); 2441: } 2441: 2441: inline bool 2441: Polyhedron::is_empty() const { 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: 2441: 2441: 2441: if (generators_are_up_to_date() && !has_pending_constraints()) { 2441: return false; 2441: } 2441: return !minimize(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_constraints_up_to_date() { 2441: status.set_c_up_to_date(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_generators_up_to_date() { 2441: status.set_g_up_to_date(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_constraints_minimized() { 2441: set_constraints_up_to_date(); 2441: status.set_c_minimized(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_generators_minimized() { 2441: set_generators_up_to_date(); 2441: status.set_g_minimized(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_constraints_pending() { 2441: status.set_c_pending(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_generators_pending() { 2441: status.set_g_pending(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_sat_c_up_to_date() { 2441: status.set_sat_c_up_to_date(); 2441: } 2441: 2441: inline void 2441: Polyhedron::set_sat_g_up_to_date() { 2441: status.set_sat_g_up_to_date(); 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_empty() { 2441: status.reset_empty(); 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_constraints_minimized() { 2441: status.reset_c_minimized(); 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_generators_minimized() { 2441: status.reset_g_minimized(); 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_pending_constraints() { 2441: status.reset_c_pending(); 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_pending_generators() { 2441: status.reset_g_pending(); 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_sat_c_up_to_date() { 2441: status.reset_sat_c_up_to_date(); 2441: 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_sat_g_up_to_date() { 2441: status.reset_sat_g_up_to_date(); 2441: 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_constraints_up_to_date() { 2441: clear_pending_constraints(); 2441: clear_constraints_minimized(); 2441: clear_sat_c_up_to_date(); 2441: clear_sat_g_up_to_date(); 2441: status.reset_c_up_to_date(); 2441: 2441: } 2441: 2441: inline void 2441: Polyhedron::clear_generators_up_to_date() { 2441: clear_pending_generators(); 2441: clear_generators_minimized(); 2441: clear_sat_c_up_to_date(); 2441: clear_sat_g_up_to_date(); 2441: status.reset_g_up_to_date(); 2441: 2441: } 2441: 2441: inline bool 2441: Polyhedron::process_pending() const { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: if (has_pending_constraints()) { 2441: return process_pending_constraints(); 2441: } 2441: 2441: ((void) 0); 2441: process_pending_generators(); 2441: return true; 2441: } 2441: 2441: inline bool 2441: Polyhedron::bounds_from_above(const Linear_Expression& expr) const { 2441: return bounds(expr, true); 2441: } 2441: 2441: inline bool 2441: Polyhedron::bounds_from_below(const Linear_Expression& expr) const { 2441: return bounds(expr, false); 2441: } 2441: 2441: inline bool 2441: Polyhedron::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, 2441: bool& maximum) const { 2441: Generator g(point()); 2441: return max_min(expr, true, sup_n, sup_d, maximum, g); 2441: } 2441: 2441: inline bool 2441: Polyhedron::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& g) const { 2441: return max_min(expr, true, sup_n, sup_d, maximum, g); 2441: } 2441: 2441: inline bool 2441: Polyhedron::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, 2441: bool& minimum) const { 2441: Generator g(point()); 2441: return max_min(expr, false, inf_n, inf_d, minimum, g); 2441: } 2441: 2441: inline bool 2441: Polyhedron::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& g) const { 2441: return max_min(expr, false, inf_n, inf_d, minimum, g); 2441: } 2441: 2441: inline Constraint_System 2441: Polyhedron::simplified_constraints() const { 2441: ((void) 0); 2441: Constraint_System cs(con_sys); 2441: if (cs.num_pending_rows() > 0) { 2441: cs.unset_pending_rows(); 2441: } 2441: if (has_pending_constraints() || !constraints_are_minimized()) { 2441: cs.simplify(); 2441: } 2441: return cs; 2441: } 2441: 2441: inline Congruence_System 2441: Polyhedron::congruences() const { 2441: return Congruence_System(minimized_constraints()); 2441: } 2441: 2441: inline Congruence_System 2441: Polyhedron::minimized_congruences() const { 2441: return Congruence_System(minimized_constraints()); 2441: } 2441: 2441: inline void 2441: Polyhedron::add_recycled_congruences(Congruence_System& cgs) { 2441: add_congruences(cgs); 2441: } 2441: 2441: template 2441: inline void 2441: Polyhedron::generalized_refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right, 2441: const Relation_Symbol relsym) { 2441: switch (relsym) { 2441: case EQUAL: 2441: 2441: refine_with_linear_form_inequality(left, right, false); 2441: refine_with_linear_form_inequality(right, left, false); 2441: break; 2441: case LESS_THAN: 2441: refine_with_linear_form_inequality(left, right, true); 2441: break; 2441: case LESS_OR_EQUAL: 2441: refine_with_linear_form_inequality(left, right, false); 2441: break; 2441: case GREATER_THAN: 2441: refine_with_linear_form_inequality(right, left, true); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_with_linear_form_inequality(right, left, false); 2441: break; 2441: case NOT_EQUAL: 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Polyhedron:: 2441: refine_fp_interval_abstract_store( 2441: Box< Interval >& store) const { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_422 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: typedef Interval FP_Interval_Type; 2441: store.intersection_assign(Box(*this)); 2441: 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Polyhedron& x, const Polyhedron& y) { 2441: return !(x == y); 2441: } 2441: 2441: inline bool 2441: Polyhedron::strictly_contains(const Polyhedron& y) const { 2441: const Polyhedron& x = *this; 2441: return x.contains(y) && !y.contains(x); 2441: } 2441: 2441: inline void 2441: Polyhedron::drop_some_non_integer_points(Complexity_Class complexity) { 2441: const Variables_Set* const p_vs = 0; 2441: drop_some_non_integer_points(p_vs, complexity); 2441: } 2441: 2441: inline void 2441: Polyhedron::drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class complexity) { 2441: drop_some_non_integer_points(&vars, complexity); 2441: } 2441: 2441: 2441: namespace Interfaces { 2441: 2441: inline bool 2441: is_necessarily_closed_for_interfaces(const Polyhedron& ph) { 2441: return ph.is_necessarily_closed(); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 2857 "../../src/Polyhedron_defs.hh" 2 2441: # 1 "../../src/Polyhedron_templates.hh" 1 2441: # 28 "../../src/Polyhedron_templates.hh" 2441: # 1 "../../src/MIP_Problem_defs.hh" 1 2441: # 29 "../../src/MIP_Problem_defs.hh" 2441: # 1 "../../src/Matrix_defs.hh" 1 2441: # 27 "../../src/Matrix_defs.hh" 2441: # 1 "../../src/Matrix_types.hh" 1 2441: # 16 "../../src/Matrix_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Matrix; 2441: 2441: } 2441: # 28 "../../src/Matrix_defs.hh" 2 2441: # 36 "../../src/Matrix_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Matrix { 2441: 2441: public: 2441: typedef typename Swapping_Vector::iterator iterator; 2441: typedef typename Swapping_Vector::const_iterator const_iterator; 2441: 2441: 2441: static dimension_type max_num_rows(); 2441: 2441: 2441: static dimension_type max_num_columns(); 2441: # 58 "../../src/Matrix_defs.hh" 2441: explicit Matrix(dimension_type n = 0); 2441: # 72 "../../src/Matrix_defs.hh" 2441: Matrix(dimension_type num_rows, dimension_type num_columns); 2441: # 82 "../../src/Matrix_defs.hh" 2441: void m_swap(Matrix& x); 2441: 2441: 2441: 2441: 2441: 2441: dimension_type num_rows() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type num_columns() const; 2441: 2441: 2441: 2441: dimension_type capacity() const; 2441: # 109 "../../src/Matrix_defs.hh" 2441: bool has_no_rows() const; 2441: 2441: 2441: void resize(dimension_type n); 2441: 2441: 2441: 2441: void reserve_rows(dimension_type n); 2441: # 146 "../../src/Matrix_defs.hh" 2441: void resize(dimension_type num_rows, dimension_type num_columns); 2441: # 164 "../../src/Matrix_defs.hh" 2441: void add_zero_rows_and_columns(dimension_type n, dimension_type m); 2441: # 178 "../../src/Matrix_defs.hh" 2441: void add_zero_rows(dimension_type n); 2441: # 191 "../../src/Matrix_defs.hh" 2441: void add_row(const Row& x); 2441: # 205 "../../src/Matrix_defs.hh" 2441: void add_recycled_row(Row& y); 2441: # 219 "../../src/Matrix_defs.hh" 2441: void remove_trailing_rows(dimension_type n); 2441: 2441: void remove_rows(iterator first, iterator last); 2441: # 253 "../../src/Matrix_defs.hh" 2441: void permute_columns(const std::vector& cycles); 2441: 2441: 2441: void swap_columns(dimension_type i, dimension_type j); 2441: # 269 "../../src/Matrix_defs.hh" 2441: void add_zero_columns(dimension_type n); 2441: # 290 "../../src/Matrix_defs.hh" 2441: void add_zero_columns(dimension_type n, dimension_type i); 2441: # 308 "../../src/Matrix_defs.hh" 2441: void remove_column(dimension_type i); 2441: # 326 "../../src/Matrix_defs.hh" 2441: void remove_trailing_columns(dimension_type n); 2441: 2441: 2441: void clear(); 2441: 2441: 2441: 2441: 2441: 2441: iterator begin(); 2441: 2441: 2441: 2441: 2441: 2441: iterator end(); 2441: 2441: 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: 2441: 2441: 2441: const_iterator end() const; 2441: # 362 "../../src/Matrix_defs.hh" 2441: Row& operator[](dimension_type i); 2441: # 371 "../../src/Matrix_defs.hh" 2441: const Row& operator[](dimension_type i) const; 2441: # 380 "../../src/Matrix_defs.hh" 2441: bool ascii_load(std::istream& s); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: private: 2441: 2441: Swapping_Vector rows; 2441: 2441: 2441: dimension_type num_columns_; 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: template 2441: void swap(Matrix& x, Matrix& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator==(const Matrix& x, const Matrix& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator!=(const Matrix& x, const Matrix& y); 2441: 2441: } 2441: 2441: 2441: # 1 "../../src/Matrix_inlines.hh" 1 2441: # 27 "../../src/Matrix_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline dimension_type 2441: Matrix::max_num_rows() { 2441: return std::vector().max_size(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Matrix::max_num_columns() { 2441: return Row::max_size(); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::m_swap(Matrix& x) { 2441: using std::swap; 2441: swap(rows, x.rows); 2441: swap(num_columns_, x.num_columns_); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Matrix::num_rows() const { 2441: return rows.size(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Matrix::num_columns() const { 2441: return num_columns_; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Matrix::capacity() const { 2441: return rows.capacity(); 2441: } 2441: 2441: template 2441: inline bool 2441: Matrix::has_no_rows() const { 2441: return num_rows() == 0; 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::resize(dimension_type n) { 2441: resize(n, n); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::reserve_rows(dimension_type requested_capacity) { 2441: 2441: rows.reserve(requested_capacity); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::add_zero_rows_and_columns(dimension_type n, dimension_type m) { 2441: resize(num_rows() + n, num_columns() + m); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::add_zero_rows(dimension_type n) { 2441: resize(num_rows() + n, num_columns()); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::add_row(const Row& x) { 2441: 2441: Row row(x); 2441: add_zero_rows(1); 2441: 2441: swap(rows.back(), row); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::add_recycled_row(Row& x) { 2441: add_zero_rows(1); 2441: swap(rows.back(), x); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::remove_trailing_rows(dimension_type n) { 2441: resize(num_rows() - n, num_columns()); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::remove_rows(iterator first, iterator last) { 2441: rows.erase(first, last); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::add_zero_columns(dimension_type n) { 2441: resize(num_rows(), num_columns() + n); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::remove_trailing_columns(dimension_type n) { 2441: ((void) 0); 2441: resize(num_rows(), num_columns() - n); 2441: } 2441: 2441: template 2441: inline void 2441: Matrix::clear() { 2441: resize(0, 0); 2441: } 2441: 2441: template 2441: inline typename Matrix::iterator 2441: Matrix::begin() { 2441: return rows.begin(); 2441: } 2441: 2441: template 2441: inline typename Matrix::iterator 2441: Matrix::end() { 2441: return rows.end(); 2441: } 2441: 2441: template 2441: inline typename Matrix::const_iterator 2441: Matrix::begin() const { 2441: return rows.begin(); 2441: } 2441: 2441: template 2441: inline typename Matrix::const_iterator 2441: Matrix::end() const { 2441: return rows.end(); 2441: } 2441: 2441: template 2441: inline Row& 2441: Matrix::operator[](dimension_type i) { 2441: ((void) 0); 2441: return rows[i]; 2441: } 2441: 2441: template 2441: inline const Row& 2441: Matrix::operator[](dimension_type i) const { 2441: ((void) 0); 2441: return rows[i]; 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Matrix::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline void 2441: swap(Matrix& x, Matrix& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 435 "../../src/Matrix_defs.hh" 2 2441: # 1 "../../src/Matrix_templates.hh" 1 2441: # 27 "../../src/Matrix_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Matrix::Matrix(dimension_type n) 2441: : rows(n), num_columns_(n) { 2441: for (dimension_type i = 0; i < rows.size(); ++i) { 2441: rows[i].resize(num_columns_); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: Matrix::Matrix(dimension_type num_rows, dimension_type num_columns) 2441: : rows(num_rows), num_columns_(num_columns) { 2441: for (dimension_type i = 0; i < rows.size(); ++i) { 2441: rows[i].resize(num_columns_); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Matrix::resize(dimension_type num_rows, dimension_type num_columns) { 2441: const dimension_type old_num_rows = rows.size(); 2441: rows.resize(num_rows); 2441: if (old_num_rows < num_rows) { 2441: for (dimension_type i = old_num_rows; i < num_rows; ++i) { 2441: rows[i].resize(num_columns); 2441: } 2441: if (num_columns_ != num_columns) { 2441: num_columns_ = num_columns; 2441: for (dimension_type i = 0; i < old_num_rows; ++i) { 2441: rows[i].resize(num_columns); 2441: } 2441: } 2441: } 2441: else 2441: if (num_columns_ != num_columns) { 2441: num_columns_ = num_columns; 2441: for (dimension_type i = 0; i < num_rows; ++i) { 2441: rows[i].resize(num_columns); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Matrix::permute_columns(const std::vector& cycles) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; Parma_Polyhedra_Library::Coefficient& tmp = holder_tmp.item(); 2441: const dimension_type n = cycles.size(); 2441: ((void) 0); 2441: for (dimension_type k = num_rows(); k-- > 0; ) { 2441: Row& rows_k = (*this)[k]; 2441: for (dimension_type i = 0, j = 0; i < n; i = ++j) { 2441: 2441: while (cycles[j] != 0) { 2441: ++j; 2441: } 2441: 2441: ((void) 0); 2441: if (j - i == 2) { 2441: 2441: rows_k.swap_coefficients(cycles[i], cycles[i + 1]); 2441: } 2441: else { 2441: 2441: tmp = rows_k.get(cycles[j - 1]); 2441: for (dimension_type l = (j - 1); l > i; --l) { 2441: rows_k.swap_coefficients(cycles[l-1], cycles[l]); 2441: } 2441: if (tmp == 0) { 2441: rows_k.reset(cycles[i]); 2441: } 2441: else { 2441: using std::swap; 2441: swap(tmp, rows_k[cycles[i]]); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Matrix::swap_columns(dimension_type i, dimension_type j) { 2441: for (dimension_type k = num_rows(); k-- > 0; ) { 2441: (*this)[k].swap_coefficients(i, j); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Matrix::add_zero_columns(dimension_type n, dimension_type i) { 2441: for (dimension_type j = rows.size(); j-- > 0; ) { 2441: rows[j].add_zeroes_and_shift(n, i); 2441: } 2441: num_columns_ += n; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Matrix::remove_column(dimension_type i) { 2441: for (dimension_type j = rows.size(); j-- > 0; ) { 2441: rows[j].delete_element_and_shift(i); 2441: } 2441: --num_columns_; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Matrix::ascii_dump(std::ostream& s) const { 2441: s << num_rows() << " x "; 2441: s << num_columns() << "\n"; 2441: for (const_iterator i = begin(), i_end = end(); i !=i_end; ++i) { 2441: i->ascii_dump(s); 2441: } 2441: } 2441: 2441: template void Matrix::ascii_dump() const { ascii_dump(std::cerr); } template void Matrix::print() const { std::cerr << "No user level output operator defined " << "for " "Matrix" << "." << std::endl; } 2441: 2441: template 2441: bool 2441: Matrix::ascii_load(std::istream& s) { 2441: std::string str; 2441: dimension_type new_num_rows; 2441: dimension_type new_num_cols; 2441: if (!(s >> new_num_rows)) { 2441: return false; 2441: } 2441: if (!(s >> str) || str != "x") { 2441: return false; 2441: } 2441: if (!(s >> new_num_cols)) { 2441: return false; 2441: } 2441: 2441: for (iterator i = rows.begin(), i_end = rows.end(); 2441: i != i_end; ++i) { 2441: i->clear(); 2441: } 2441: 2441: resize(new_num_rows, new_num_cols); 2441: 2441: for (dimension_type row = 0; row < new_num_rows; ++row) { 2441: if (!rows[row].ascii_load(s)) { 2441: return false; 2441: } 2441: } 2441: 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: memory_size_type 2441: Matrix::external_memory_in_bytes() const { 2441: return rows.external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: bool 2441: Matrix::OK() const { 2441: for (const_iterator i = begin(), i_end = end(); i != i_end; ++i) { 2441: if (i->size() != num_columns_) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: 2441: template 2441: bool 2441: operator==(const Matrix& x, const Matrix& y) { 2441: if (x.num_rows() != y.num_rows()) { 2441: return false; 2441: } 2441: if (x.num_columns() != y.num_columns()) { 2441: return false; 2441: } 2441: for (dimension_type i = x.num_rows(); i-- > 0; ) { 2441: if (x[i] != y[i]) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: 2441: template 2441: bool 2441: operator!=(const Matrix& x, const Matrix& y) { 2441: return !(x == y); 2441: } 2441: 2441: } 2441: # 436 "../../src/Matrix_defs.hh" 2 2441: # 30 "../../src/MIP_Problem_defs.hh" 2 2441: # 42 "../../src/MIP_Problem_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: std::ostream& 2441: operator<<(std::ostream& s, const MIP_Problem& mip); 2441: 2441: } 2441: 2441: 2441: 2441: void swap(MIP_Problem& x, MIP_Problem& y); 2441: 2441: } 2441: # 87 "../../src/MIP_Problem_defs.hh" 2441: class Parma_Polyhedra_Library::MIP_Problem { 2441: public: 2441: # 102 "../../src/MIP_Problem_defs.hh" 2441: explicit MIP_Problem(dimension_type dim = 0); 2441: # 140 "../../src/MIP_Problem_defs.hh" 2441: template 2441: MIP_Problem(dimension_type dim, 2441: In first, In last, 2441: const Variables_Set& int_vars, 2441: const Linear_Expression& obj = Linear_Expression::zero(), 2441: Optimization_Mode mode = MAXIMIZATION); 2441: # 178 "../../src/MIP_Problem_defs.hh" 2441: template 2441: MIP_Problem(dimension_type dim, 2441: In first, In last, 2441: const Linear_Expression& obj = Linear_Expression::zero(), 2441: Optimization_Mode mode = MAXIMIZATION); 2441: # 209 "../../src/MIP_Problem_defs.hh" 2441: MIP_Problem(dimension_type dim, 2441: const Constraint_System& cs, 2441: const Linear_Expression& obj = Linear_Expression::zero(), 2441: Optimization_Mode mode = MAXIMIZATION); 2441: 2441: 2441: MIP_Problem(const MIP_Problem& y); 2441: 2441: 2441: ~MIP_Problem(); 2441: 2441: 2441: MIP_Problem& operator=(const MIP_Problem& y); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: const Variables_Set& integer_space_dimensions() const; 2441: 2441: private: 2441: 2441: typedef std::vector Constraint_Sequence; 2441: 2441: public: 2441: 2441: class const_iterator { 2441: private: 2441: typedef Constraint_Sequence::const_iterator Base; 2441: typedef std::iterator_traits Base_Traits; 2441: 2441: public: 2441: typedef Base_Traits::iterator_category iterator_category; 2441: typedef Base_Traits::difference_type difference_type; 2441: typedef const Constraint value_type; 2441: typedef const Constraint* pointer; 2441: typedef const Constraint& reference; 2441: 2441: 2441: difference_type operator-(const const_iterator& y) const; 2441: 2441: 2441: const_iterator& operator++(); 2441: 2441: 2441: const_iterator& operator--(); 2441: 2441: 2441: const_iterator operator++(int); 2441: 2441: 2441: const_iterator operator--(int); 2441: 2441: 2441: const_iterator& operator+=(difference_type n); 2441: 2441: 2441: const_iterator& operator-=(difference_type n); 2441: 2441: 2441: const_iterator operator+(difference_type n) const; 2441: 2441: 2441: const_iterator operator-(difference_type n) const; 2441: 2441: 2441: reference operator*() const; 2441: 2441: 2441: pointer operator->() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const const_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const const_iterator& y) const; 2441: 2441: private: 2441: 2441: explicit const_iterator(Base b); 2441: 2441: 2441: Base itr; 2441: 2441: friend class MIP_Problem; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: const_iterator constraints_begin() const; 2441: 2441: 2441: 2441: 2441: 2441: const_iterator constraints_end() const; 2441: 2441: 2441: const Linear_Expression& objective_function() const; 2441: 2441: 2441: Optimization_Mode optimization_mode() const; 2441: 2441: 2441: 2441: 2441: 2441: void clear(); 2441: # 348 "../../src/MIP_Problem_defs.hh" 2441: void add_space_dimensions_and_embed(dimension_type m); 2441: # 358 "../../src/MIP_Problem_defs.hh" 2441: void add_to_integer_space_dimensions(const Variables_Set& i_vars); 2441: # 367 "../../src/MIP_Problem_defs.hh" 2441: void add_constraint(const Constraint& c); 2441: # 377 "../../src/MIP_Problem_defs.hh" 2441: void add_constraints(const Constraint_System& cs); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void set_objective_function(const Linear_Expression& obj); 2441: 2441: 2441: void set_optimization_mode(Optimization_Mode mode); 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_satisfiable() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: MIP_Problem_Status solve() const; 2441: # 423 "../../src/MIP_Problem_defs.hh" 2441: void evaluate_objective_function(const Generator& evaluating_point, 2441: Coefficient& numer, 2441: Coefficient& denom) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: const Generator& feasible_point() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const Generator& optimizing_point() const; 2441: # 451 "../../src/MIP_Problem_defs.hh" 2441: void optimal_value(Coefficient& numer, Coefficient& denom) const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: void m_swap(MIP_Problem& y); 2441: 2441: 2441: enum Control_Parameter_Name { 2441: 2441: PRICING 2441: }; 2441: 2441: 2441: enum Control_Parameter_Value { 2441: 2441: PRICING_STEEPEST_EDGE_FLOAT, 2441: 2441: PRICING_STEEPEST_EDGE_EXACT, 2441: 2441: PRICING_TEXTBOOK 2441: }; 2441: 2441: 2441: Control_Parameter_Value 2441: get_control_parameter(Control_Parameter_Name name) const; 2441: 2441: 2441: void set_control_parameter(Control_Parameter_Value value); 2441: 2441: private: 2441: 2441: dimension_type external_space_dim; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type internal_space_dim; 2441: 2441: 2441: typedef Sparse_Row Row; 2441: 2441: 2441: 2441: 2441: 2441: Matrix tableau; 2441: 2441: typedef Row working_cost_type; 2441: 2441: 2441: working_cost_type working_cost; 2441: # 530 "../../src/MIP_Problem_defs.hh" 2441: std::vector > mapping; 2441: 2441: 2441: std::vector base; 2441: 2441: 2441: enum Status { 2441: 2441: UNSATISFIABLE, 2441: 2441: SATISFIABLE, 2441: 2441: UNBOUNDED, 2441: 2441: OPTIMIZED, 2441: 2441: 2441: 2441: 2441: 2441: PARTIALLY_SATISFIABLE 2441: }; 2441: 2441: 2441: Status status; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Control_Parameter_Value pricing; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool initialized; 2441: 2441: 2441: std::vector input_cs; 2441: # 582 "../../src/MIP_Problem_defs.hh" 2441: dimension_type inherited_constraints; 2441: 2441: 2441: dimension_type first_pending_constraint; 2441: 2441: 2441: Linear_Expression input_obj_function; 2441: 2441: 2441: Optimization_Mode opt_mode; 2441: 2441: 2441: Generator last_generator; 2441: 2441: 2441: 2441: 2441: 2441: Variables_Set i_variables; 2441: 2441: 2441: struct RAII_Temporary_Real_Relaxation { 2441: MIP_Problem& lp; 2441: Variables_Set i_vars; 2441: 2441: RAII_Temporary_Real_Relaxation(MIP_Problem& mip) 2441: : lp(mip), i_vars() { 2441: 2441: using std::swap; 2441: swap(i_vars, lp.i_variables); 2441: } 2441: 2441: ~RAII_Temporary_Real_Relaxation() { 2441: 2441: using std::swap; 2441: swap(i_vars, lp.i_variables); 2441: } 2441: }; 2441: friend struct RAII_Temporary_Real_Relaxation; 2441: 2441: 2441: struct Inherit_Constraints {}; 2441: 2441: 2441: MIP_Problem(const MIP_Problem& y, Inherit_Constraints); 2441: 2441: 2441: void add_constraint_helper(const Constraint& c); 2441: 2441: 2441: void process_pending_constraints(); 2441: 2441: 2441: 2441: 2441: 2441: void second_phase(); 2441: # 654 "../../src/MIP_Problem_defs.hh" 2441: MIP_Problem_Status 2441: compute_tableau(std::vector& worked_out_row); 2441: # 708 "../../src/MIP_Problem_defs.hh" 2441: bool parse_constraints(dimension_type& additional_tableau_rows, 2441: dimension_type& additional_slack_variables, 2441: std::deque& is_tableau_constraint, 2441: std::deque& is_satisfied_inequality, 2441: std::deque& is_nonnegative_variable, 2441: std::deque& is_remergeable_variable) const; 2441: # 725 "../../src/MIP_Problem_defs.hh" 2441: dimension_type 2441: get_exiting_base_index(dimension_type entering_var_index) const; 2441: # 743 "../../src/MIP_Problem_defs.hh" 2441: static void linear_combine(Row& x, const Row& y, const dimension_type k); 2441: # 763 "../../src/MIP_Problem_defs.hh" 2441: static void linear_combine(Dense_Row& x, const Sparse_Row& y, 2441: const dimension_type k); 2441: 2441: 2441: 2441: static bool is_unbounded_obj_function( 2441: const Linear_Expression& obj_function, 2441: const std::vector >& mapping, 2441: Optimization_Mode optimization_mode); 2441: # 782 "../../src/MIP_Problem_defs.hh" 2441: void pivot(dimension_type entering_var_index, 2441: dimension_type exiting_base_index); 2441: # 794 "../../src/MIP_Problem_defs.hh" 2441: dimension_type textbook_entering_index() const; 2441: # 821 "../../src/MIP_Problem_defs.hh" 2441: dimension_type steepest_edge_exact_entering_index() const; 2441: # 834 "../../src/MIP_Problem_defs.hh" 2441: dimension_type steepest_edge_float_entering_index() const; 2441: # 844 "../../src/MIP_Problem_defs.hh" 2441: bool compute_simplex_using_exact_pricing(); 2441: # 855 "../../src/MIP_Problem_defs.hh" 2441: bool compute_simplex_using_steepest_edge_float(); 2441: # 873 "../../src/MIP_Problem_defs.hh" 2441: void erase_artificials(dimension_type begin_artificials, 2441: dimension_type end_artificials); 2441: 2441: bool is_in_base(dimension_type var_index, 2441: dimension_type& row_index) const; 2441: 2441: 2441: 2441: 2441: 2441: void compute_generator() const; 2441: # 897 "../../src/MIP_Problem_defs.hh" 2441: dimension_type merge_split_variable(dimension_type var_index); 2441: 2441: 2441: static bool is_satisfied(const Constraint& c, const Generator& g); 2441: 2441: 2441: static bool is_saturated(const Constraint& c, const Generator& g); 2441: # 924 "../../src/MIP_Problem_defs.hh" 2441: static MIP_Problem_Status solve_mip(bool& have_incumbent_solution, 2441: mpq_class& incumbent_solution_value, 2441: Generator& incumbent_solution_point, 2441: MIP_Problem& mip, 2441: const Variables_Set& i_vars); 2441: 2441: 2441: 2441: 2441: bool is_lp_satisfiable() const; 2441: # 949 "../../src/MIP_Problem_defs.hh" 2441: static bool is_mip_satisfiable(MIP_Problem& mip, 2441: const Variables_Set& i_vars, 2441: Generator& p); 2441: # 968 "../../src/MIP_Problem_defs.hh" 2441: static bool choose_branching_variable(const MIP_Problem& mip, 2441: const Variables_Set& i_vars, 2441: dimension_type& branching_index); 2441: }; 2441: 2441: # 1 "../../src/MIP_Problem_inlines.hh" 1 2441: # 30 "../../src/MIP_Problem_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline dimension_type 2441: MIP_Problem::max_space_dimension() { 2441: return Constraint::max_space_dimension(); 2441: } 2441: 2441: inline dimension_type 2441: MIP_Problem::space_dimension() const { 2441: return external_space_dim; 2441: } 2441: 2441: 2441: inline 2441: MIP_Problem::MIP_Problem(const MIP_Problem& y) 2441: : external_space_dim(y.external_space_dim), 2441: internal_space_dim(y.internal_space_dim), 2441: tableau(y.tableau), 2441: working_cost(y.working_cost), 2441: mapping(y.mapping), 2441: base(y.base), 2441: status(y.status), 2441: pricing(y.pricing), 2441: initialized(y.initialized), 2441: input_cs(), 2441: inherited_constraints(0), 2441: first_pending_constraint(), 2441: input_obj_function(y.input_obj_function), 2441: opt_mode(y.opt_mode), 2441: last_generator(y.last_generator), 2441: i_variables(y.i_variables) { 2441: input_cs.reserve(y.input_cs.size()); 2441: for (Constraint_Sequence::const_iterator i = y.input_cs.begin(), 2441: i_end = y.input_cs.end(); i != i_end; ++i) { 2441: add_constraint_helper(*(*i)); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: MIP_Problem::MIP_Problem(const MIP_Problem& y, Inherit_Constraints) 2441: : external_space_dim(y.external_space_dim), 2441: internal_space_dim(y.internal_space_dim), 2441: tableau(y.tableau), 2441: working_cost(y.working_cost), 2441: mapping(y.mapping), 2441: base(y.base), 2441: status(y.status), 2441: pricing(y.pricing), 2441: initialized(y.initialized), 2441: input_cs(y.input_cs), 2441: 2441: inherited_constraints(y.input_cs.size()), 2441: first_pending_constraint(y.first_pending_constraint), 2441: input_obj_function(y.input_obj_function), 2441: opt_mode(y.opt_mode), 2441: last_generator(y.last_generator), 2441: i_variables(y.i_variables) { 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: MIP_Problem::add_constraint_helper(const Constraint& c) { 2441: 2441: const dimension_type size = input_cs.size(); 2441: if (size == input_cs.capacity()) { 2441: const dimension_type max_size = input_cs.max_size(); 2441: if (size == max_size) { 2441: throw std::length_error("MIP_Problem::add_constraint(): " 2441: "too many constraints"); 2441: } 2441: 2441: input_cs.reserve(compute_capacity(size + 1, max_size)); 2441: } 2441: 2441: 2441: 2441: input_cs.push_back(new Constraint(c)); 2441: } 2441: 2441: inline 2441: MIP_Problem::~MIP_Problem() { 2441: 2441: 2441: for (Constraint_Sequence::const_iterator 2441: i = nth_iter(input_cs, inherited_constraints), 2441: i_end = input_cs.end(); i != i_end; ++i) { 2441: delete *i; 2441: } 2441: } 2441: 2441: 2441: inline void 2441: MIP_Problem::set_optimization_mode(const Optimization_Mode mode) { 2441: if (opt_mode != mode) { 2441: opt_mode = mode; 2441: if (status == UNBOUNDED || status == OPTIMIZED) { 2441: status = SATISFIABLE; 2441: } 2441: ((void) 0); 2441: } 2441: } 2441: 2441: inline const Linear_Expression& 2441: MIP_Problem::objective_function() const { 2441: return input_obj_function; 2441: } 2441: 2441: inline Optimization_Mode 2441: MIP_Problem::optimization_mode() const { 2441: return opt_mode; 2441: } 2441: 2441: inline void 2441: MIP_Problem::optimal_value(Coefficient& numer, Coefficient& denom) const { 2441: const Generator& g = optimizing_point(); 2441: evaluate_objective_function(g, numer, denom); 2441: } 2441: 2441: inline MIP_Problem::const_iterator 2441: MIP_Problem::constraints_begin() const { 2441: return const_iterator(input_cs.begin()); 2441: } 2441: 2441: inline MIP_Problem::const_iterator 2441: MIP_Problem::constraints_end() const { 2441: return const_iterator(input_cs.end()); 2441: } 2441: 2441: inline const Variables_Set& 2441: MIP_Problem::integer_space_dimensions() const { 2441: return i_variables; 2441: } 2441: 2441: inline MIP_Problem::Control_Parameter_Value 2441: MIP_Problem::get_control_parameter(Control_Parameter_Name name) const { 2441: (void)(name); 2441: ((void) 0); 2441: return pricing; 2441: } 2441: 2441: inline void 2441: MIP_Problem::set_control_parameter(Control_Parameter_Value value) { 2441: pricing = value; 2441: } 2441: 2441: inline void 2441: MIP_Problem::m_swap(MIP_Problem& y) { 2441: using std::swap; 2441: swap(external_space_dim, y.external_space_dim); 2441: swap(internal_space_dim, y.internal_space_dim); 2441: swap(tableau, y.tableau); 2441: swap(working_cost, y.working_cost); 2441: swap(mapping, y.mapping); 2441: swap(initialized, y.initialized); 2441: swap(base, y.base); 2441: swap(status, y.status); 2441: swap(pricing, y.pricing); 2441: swap(input_cs, y.input_cs); 2441: swap(inherited_constraints, y.inherited_constraints); 2441: swap(first_pending_constraint, y.first_pending_constraint); 2441: swap(input_obj_function, y.input_obj_function); 2441: swap(opt_mode, y.opt_mode); 2441: swap(last_generator, y.last_generator); 2441: swap(i_variables, y.i_variables); 2441: } 2441: 2441: inline MIP_Problem& 2441: MIP_Problem::operator=(const MIP_Problem& y) { 2441: MIP_Problem tmp(y); 2441: m_swap(tmp); 2441: return *this; 2441: } 2441: 2441: inline void 2441: MIP_Problem::clear() { 2441: MIP_Problem tmp; 2441: m_swap(tmp); 2441: } 2441: 2441: 2441: inline memory_size_type 2441: MIP_Problem::external_memory_in_bytes() const { 2441: memory_size_type n 2441: = working_cost.external_memory_in_bytes() 2441: + tableau.external_memory_in_bytes() 2441: + input_obj_function.external_memory_in_bytes() 2441: + last_generator.external_memory_in_bytes(); 2441: 2441: 2441: 2441: n += input_cs.capacity() * sizeof(Constraint*); 2441: for (Constraint_Sequence::const_iterator 2441: i = nth_iter(input_cs, inherited_constraints), 2441: i_end = input_cs.end(); i != i_end; ++i) { 2441: n += ((*i)->total_memory_in_bytes()); 2441: } 2441: 2441: 2441: n += base.capacity() * sizeof(dimension_type); 2441: 2441: n += mapping.capacity() * sizeof(std::pair); 2441: return n; 2441: } 2441: 2441: inline memory_size_type 2441: MIP_Problem::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline 2441: MIP_Problem::const_iterator::const_iterator(Base b) 2441: : itr(b) { 2441: } 2441: 2441: inline MIP_Problem::const_iterator::difference_type 2441: MIP_Problem::const_iterator::operator-(const const_iterator& y) const { 2441: return itr - y.itr; 2441: } 2441: 2441: inline MIP_Problem::const_iterator& 2441: MIP_Problem::const_iterator::operator++() { 2441: ++itr; 2441: return *this; 2441: } 2441: 2441: inline MIP_Problem::const_iterator& 2441: MIP_Problem::const_iterator::operator--() { 2441: --itr; 2441: return *this; 2441: } 2441: 2441: inline MIP_Problem::const_iterator 2441: MIP_Problem::const_iterator::operator++(int) { 2441: const_iterator x = *this; 2441: operator++(); 2441: return x; 2441: } 2441: 2441: inline MIP_Problem::const_iterator 2441: MIP_Problem::const_iterator::operator--(int) { 2441: const_iterator x = *this; 2441: operator--(); 2441: return x; 2441: } 2441: 2441: inline MIP_Problem::const_iterator 2441: MIP_Problem::const_iterator::operator+(difference_type n) const { 2441: return const_iterator(itr + n); 2441: } 2441: 2441: inline MIP_Problem::const_iterator 2441: MIP_Problem::const_iterator::operator-(difference_type n) const { 2441: return const_iterator(itr - n); 2441: } 2441: 2441: inline MIP_Problem::const_iterator& 2441: MIP_Problem::const_iterator::operator+=(difference_type n) { 2441: itr += n; 2441: return *this; 2441: } 2441: 2441: inline MIP_Problem::const_iterator& 2441: MIP_Problem::const_iterator::operator-=(difference_type n) { 2441: itr -= n; 2441: return *this; 2441: } 2441: 2441: inline MIP_Problem::const_iterator::reference 2441: MIP_Problem::const_iterator::operator*() const { 2441: return *(*itr); 2441: } 2441: 2441: inline MIP_Problem::const_iterator::pointer 2441: MIP_Problem::const_iterator::operator->() const { 2441: return *itr; 2441: } 2441: 2441: inline bool 2441: MIP_Problem::const_iterator::operator==(const const_iterator& y) const { 2441: return itr == y.itr; 2441: } 2441: 2441: inline bool 2441: MIP_Problem::const_iterator::operator!=(const const_iterator& y) const { 2441: return itr != y.itr; 2441: } 2441: 2441: 2441: inline void 2441: swap(MIP_Problem& x, MIP_Problem& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 974 "../../src/MIP_Problem_defs.hh" 2 2441: # 1 "../../src/MIP_Problem_templates.hh" 1 2441: # 29 "../../src/MIP_Problem_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: MIP_Problem::MIP_Problem(const dimension_type dim, 2441: In first, In last, 2441: const Variables_Set& int_vars, 2441: const Linear_Expression& obj, 2441: const Optimization_Mode mode) 2441: : external_space_dim(dim), 2441: internal_space_dim(0), 2441: tableau(), 2441: working_cost(0), 2441: mapping(), 2441: base(), 2441: status(PARTIALLY_SATISFIABLE), 2441: pricing(PRICING_STEEPEST_EDGE_FLOAT), 2441: initialized(false), 2441: input_cs(), 2441: inherited_constraints(0), 2441: first_pending_constraint(0), 2441: input_obj_function(obj), 2441: opt_mode(mode), 2441: last_generator(point()), 2441: i_variables(int_vars) { 2441: 2441: 2441: if (i_variables.space_dimension() > external_space_dim) { 2441: std::ostringstream s; 2441: s << "PPL::MIP_Problem::MIP_Problem" 2441: << "(dim, first, last, int_vars, obj, mode):\n" 2441: << "dim == "<< external_space_dim << " and int_vars.space_dimension() ==" 2441: << " " << i_variables.space_dimension() << " are dimension" 2441: "incompatible."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: 2441: if (dim > max_space_dimension()) { 2441: throw std::length_error("PPL::MIP_Problem:: MIP_Problem(dim, first, " 2441: "last, int_vars, obj, mode):\n" 2441: "dim exceeds the maximum allowed" 2441: "space dimension."); 2441: } 2441: 2441: if (obj.space_dimension() > dim) { 2441: std::ostringstream s; 2441: s << "PPL::MIP_Problem::MIP_Problem(dim, first, last," 2441: << "int_vars, obj, mode):\n" 2441: << "obj.space_dimension() == "<< obj.space_dimension() 2441: << " exceeds d == "<< dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: try { 2441: for (In i = first; i != last; ++i) { 2441: if (i->is_strict_inequality()) { 2441: throw std::invalid_argument("PPL::MIP_Problem::" 2441: "MIP_Problem(dim, first, last, int_vars," 2441: "obj, mode):\nrange [first, last) contains" 2441: "a strict inequality constraint."); 2441: } 2441: if (i->space_dimension() > dim) { 2441: std::ostringstream s; 2441: s << "PPL::MIP_Problem::" 2441: << "MIP_Problem(dim, first, last, int_vars, obj, mode):\n" 2441: << "range [first, last) contains a constraint having space" 2441: << "dimension == " << i->space_dimension() << " that exceeds" 2441: "this->space_dimension == " << dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: add_constraint_helper(*i); 2441: } 2441: } catch (...) { 2441: 2441: 2441: for (Constraint_Sequence::const_iterator 2441: i = input_cs.begin(), i_end = input_cs.end(); 2441: i != i_end; ++i) { 2441: delete *i; 2441: } 2441: 2441: throw; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: MIP_Problem::MIP_Problem(dimension_type dim, 2441: In first, In last, 2441: const Linear_Expression& obj, 2441: Optimization_Mode mode) 2441: : external_space_dim(dim), 2441: internal_space_dim(0), 2441: tableau(), 2441: working_cost(0), 2441: mapping(), 2441: base(), 2441: status(PARTIALLY_SATISFIABLE), 2441: pricing(PRICING_STEEPEST_EDGE_FLOAT), 2441: initialized(false), 2441: input_cs(), 2441: inherited_constraints(0), 2441: first_pending_constraint(0), 2441: input_obj_function(obj), 2441: opt_mode(mode), 2441: last_generator(point()), 2441: i_variables() { 2441: 2441: if (dim > max_space_dimension()) { 2441: throw std::length_error("PPL::MIP_Problem::" 2441: "MIP_Problem(dim, first, last, obj, mode):\n" 2441: "dim exceeds the maximum allowed space " 2441: "dimension."); 2441: } 2441: 2441: if (obj.space_dimension() > dim) { 2441: std::ostringstream s; 2441: s << "PPL::MIP_Problem::MIP_Problem(dim, first, last," 2441: << " obj, mode):\n" 2441: << "obj.space_dimension() == "<< obj.space_dimension() 2441: << " exceeds d == "<< dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: try { 2441: for (In i = first; i != last; ++i) { 2441: if (i->is_strict_inequality()) { 2441: throw std::invalid_argument("PPL::MIP_Problem::" 2441: "MIP_Problem(dim, first, last, obj, mode):" 2441: "\n" 2441: "range [first, last) contains a strict " 2441: "inequality constraint."); 2441: } 2441: if (i->space_dimension() > dim) { 2441: std::ostringstream s; 2441: s << "PPL::MIP_Problem::" 2441: << "MIP_Problem(dim, first, last, obj, mode):\n" 2441: << "range [first, last) contains a constraint having space" 2441: << "dimension" << " == " << i->space_dimension() << " that exceeds" 2441: "this->space_dimension == " << dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: add_constraint_helper(*i); 2441: } 2441: } catch (...) { 2441: 2441: 2441: for (Constraint_Sequence::const_iterator 2441: i = input_cs.begin(), i_end = input_cs.end(); 2441: i != i_end; ++i) { 2441: delete *i; 2441: } 2441: 2441: throw; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: } 2441: # 975 "../../src/MIP_Problem_defs.hh" 2 2441: # 29 "../../src/Polyhedron_templates.hh" 2 2441: 2441: 2441: 2441: # 1 "../../src/Floating_Point_Expression_defs.hh" 1 2441: # 27 "../../src/Floating_Point_Expression_defs.hh" 2441: # 1 "../../src/Floating_Point_Expression_types.hh" 1 2441: # 16 "../../src/Floating_Point_Expression_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class Floating_Point_Expression; 2441: 2441: } 2441: # 28 "../../src/Floating_Point_Expression_defs.hh" 2 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/cmath" 1 3 2441: # 39 "/usr/include/c++/8/cmath" 3 2441: 2441: # 40 "/usr/include/c++/8/cmath" 3 2441: # 32 "../../src/Floating_Point_Expression_defs.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: # 54 "../../src/Floating_Point_Expression_defs.hh" 2441: template 2441: class Floating_Point_Expression { 2441: 2441: public: 2441: 2441: 2441: typedef Linear_Form FP_Linear_Form; 2441: # 70 "../../src/Floating_Point_Expression_defs.hh" 2441: typedef Box FP_Interval_Abstract_Store; 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef std::map 2441: FP_Linear_Form_Abstract_Store; 2441: 2441: 2441: typedef typename FP_Interval_Type::boundary_type boundary_type; 2441: 2441: 2441: typedef typename FP_Interval_Type::info_type info_type; 2441: 2441: 2441: virtual ~Floating_Point_Expression(); 2441: # 114 "../../src/Floating_Point_Expression_defs.hh" 2441: virtual bool linearize(const FP_Interval_Abstract_Store& int_store, 2441: const FP_Linear_Form_Abstract_Store& lf_store, 2441: FP_Linear_Form& result) const = 0; 2441: # 126 "../../src/Floating_Point_Expression_defs.hh" 2441: static FP_Interval_Type absolute_error; 2441: # 136 "../../src/Floating_Point_Expression_defs.hh" 2441: static bool overflows(const FP_Linear_Form& lf); 2441: # 163 "../../src/Floating_Point_Expression_defs.hh" 2441: static void relative_error(const FP_Linear_Form& lf, 2441: FP_Linear_Form& result); 2441: # 183 "../../src/Floating_Point_Expression_defs.hh" 2441: static void intervalize(const FP_Linear_Form& lf, 2441: const FP_Interval_Abstract_Store& store, 2441: FP_Interval_Type& result); 2441: 2441: private: 2441: # 198 "../../src/Floating_Point_Expression_defs.hh" 2441: static FP_Interval_Type compute_absolute_error(); 2441: 2441: }; 2441: 2441: 2441: template 2441: FP_Interval_Type Floating_Point_Expression 2441: ::absolute_error = compute_absolute_error(); 2441: 2441: } 2441: 2441: # 1 "../../src/Floating_Point_Expression_inlines.hh" 1 2441: # 30 "../../src/Floating_Point_Expression_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Floating_Point_Expression 2441: ::~Floating_Point_Expression() {} 2441: 2441: template 2441: inline bool 2441: Floating_Point_Expression 2441: ::overflows(const FP_Linear_Form& lf) { 2441: if (!lf.inhomogeneous_term().is_bounded()) { 2441: return true; 2441: } 2441: 2441: dimension_type dimension = lf.space_dimension(); 2441: for (dimension_type i = 0; i < dimension; ++i) { 2441: if (!lf.coefficient(Variable(i)).is_bounded()) { 2441: return true; 2441: } 2441: } 2441: 2441: return false; 2441: } 2441: 2441: } 2441: # 210 "../../src/Floating_Point_Expression_defs.hh" 2 2441: # 1 "../../src/Floating_Point_Expression_templates.hh" 1 2441: # 29 "../../src/Floating_Point_Expression_templates.hh" 2441: # 1 "/usr/include/c++/8/cmath" 1 3 2441: # 39 "/usr/include/c++/8/cmath" 3 2441: 2441: # 40 "/usr/include/c++/8/cmath" 3 2441: # 30 "../../src/Floating_Point_Expression_templates.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: void 2441: Floating_Point_Expression 2441: ::relative_error(const FP_Linear_Form& lf, FP_Linear_Form& result) { 2441: 2441: FP_Interval_Type error_propagator; 2441: boundary_type lb = -pow(FP_Format::BASE, 2441: -static_cast 2441: ::boundary_type>(FP_Format::MANTISSA_BITS)); 2441: error_propagator.build(i_constraint(GREATER_OR_EQUAL, lb), 2441: i_constraint(LESS_OR_EQUAL, -lb)); 2441: 2441: 2441: const FP_Interval_Type* current_term = &lf.inhomogeneous_term(); 2441: 2441: # 47 "../../src/Floating_Point_Expression_templates.hh" 3 4 2441: (static_cast (0)) 2441: # 47 "../../src/Floating_Point_Expression_templates.hh" 2441: ; 2441: 2441: FP_Interval_Type 2441: current_multiplier(std::max(std::abs(current_term->lower()), 2441: std::abs(current_term->upper()))); 2441: FP_Linear_Form current_result_term(current_multiplier); 2441: current_result_term *= error_propagator; 2441: result = FP_Linear_Form(current_result_term); 2441: 2441: 2441: dimension_type dimension = lf.space_dimension(); 2441: for (dimension_type i = 0; i < dimension; ++i) { 2441: current_term = &lf.coefficient(Variable(i)); 2441: 2441: # 60 "../../src/Floating_Point_Expression_templates.hh" 3 4 2441: (static_cast (0)) 2441: # 60 "../../src/Floating_Point_Expression_templates.hh" 2441: ; 2441: current_multiplier 2441: = FP_Interval_Type(std::max(std::abs(current_term->lower()), 2441: std::abs(current_term->upper()))); 2441: current_result_term = FP_Linear_Form(Variable(i)); 2441: current_result_term *= current_multiplier; 2441: current_result_term *= error_propagator; 2441: result += current_result_term; 2441: } 2441: 2441: return; 2441: } 2441: 2441: template 2441: void 2441: Floating_Point_Expression 2441: ::intervalize(const FP_Linear_Form& lf, 2441: const FP_Interval_Abstract_Store& store, 2441: FP_Interval_Type& result) { 2441: result = FP_Interval_Type(lf.inhomogeneous_term()); 2441: dimension_type dimension = lf.space_dimension(); 2441: 2441: # 81 "../../src/Floating_Point_Expression_templates.hh" 3 4 2441: (static_cast (0)) 2441: # 81 "../../src/Floating_Point_Expression_templates.hh" 2441: ; 2441: for (dimension_type i = 0; i < dimension; ++i) { 2441: FP_Interval_Type current_addend = lf.coefficient(Variable(i)); 2441: const FP_Interval_Type& curr_int = store.get_interval(Variable(i)); 2441: current_addend *= curr_int; 2441: result += current_addend; 2441: } 2441: 2441: return; 2441: } 2441: 2441: template 2441: FP_Interval_Type 2441: Floating_Point_Expression 2441: ::compute_absolute_error() { 2441: typedef typename Floating_Point_Expression 2441: ::boundary_type Boundary; 2441: boundary_type omega; 2441: omega = std::max(pow(static_cast(FP_Format::BASE), 2441: static_cast(1 - FP_Format::EXPONENT_BIAS 2441: - FP_Format::MANTISSA_BITS)), 2441: std::numeric_limits::denorm_min()); 2441: FP_Interval_Type result; 2441: result.build(i_constraint(GREATER_OR_EQUAL, -omega), 2441: i_constraint(LESS_OR_EQUAL, omega)); 2441: return result; 2441: } 2441: 2441: } 2441: # 211 "../../src/Floating_Point_Expression_defs.hh" 2 2441: # 33 "../../src/Polyhedron_templates.hh" 2 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Polyhedron::Polyhedron(Topology topol, 2441: const Box& box, 2441: Complexity_Class) 2441: : con_sys(topol, default_con_sys_repr), 2441: gen_sys(topol, default_gen_sys_repr), 2441: sat_c(), 2441: sat_g() { 2441: 2441: space_dim = box.space_dimension(); 2441: 2441: 2441: if (box.is_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: if (space_dim == 0) { 2441: set_zero_dim_univ(); 2441: return; 2441: } 2441: 2441: 2441: con_sys.set_space_dimension(space_dim); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_l_n; Parma_Polyhedra_Library::Coefficient& l_n = holder_l_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_l_d; Parma_Polyhedra_Library::Coefficient& l_d = holder_l_d.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_u_n; Parma_Polyhedra_Library::Coefficient& u_n = holder_u_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_u_d; Parma_Polyhedra_Library::Coefficient& u_d = holder_u_d.item(); 2441: 2441: if (topol == NECESSARILY_CLOSED) { 2441: for (dimension_type k = space_dim; k-- > 0; ) { 2441: const Variable v_k = Variable(k); 2441: 2441: bool l_closed = false; 2441: bool l_bounded = box.has_lower_bound(v_k, l_n, l_d, l_closed); 2441: 2441: bool u_closed = false; 2441: bool u_bounded = box.has_upper_bound(v_k, u_n, u_d, u_closed); 2441: 2441: 2441: if (l_bounded && u_bounded 2441: && l_closed && u_closed 2441: && l_n == u_n && l_d == u_d) { 2441: 2441: con_sys.insert(l_d * v_k == l_n); 2441: } 2441: else { 2441: if (l_bounded) { 2441: 2441: con_sys.insert(l_d * v_k >= l_n); 2441: } 2441: if (u_bounded) { 2441: 2441: con_sys.insert(u_d * v_k <= u_n); 2441: } 2441: } 2441: } 2441: } 2441: else { 2441: 2441: for (dimension_type k = space_dim; k-- > 0; ) { 2441: const Variable v_k = Variable(k); 2441: 2441: bool l_closed = false; 2441: bool l_bounded = box.has_lower_bound(v_k, l_n, l_d, l_closed); 2441: 2441: bool u_closed = false; 2441: bool u_bounded = box.has_upper_bound(v_k, u_n, u_d, u_closed); 2441: 2441: 2441: if (l_bounded && u_bounded 2441: && l_closed && u_closed 2441: && l_n == u_n && l_d == u_d) { 2441: 2441: con_sys.insert(l_d * v_k == l_n); 2441: } 2441: else { 2441: 2441: if (l_bounded) { 2441: if (l_closed) { 2441: 2441: con_sys.insert(l_d * v_k >= l_n); 2441: } 2441: else { 2441: 2441: con_sys.insert(l_d * v_k > l_n); 2441: } 2441: } 2441: 2441: if (u_bounded) { 2441: if (u_closed) { 2441: 2441: con_sys.insert(u_d * v_k <= u_n); 2441: } 2441: else { 2441: 2441: con_sys.insert(u_d * v_k < u_n); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: con_sys.add_low_level_constraints(); 2441: 2441: 2441: set_constraints_up_to_date(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Polyhedron::map_space_dimensions(const Partial_Function& pfunc) { 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: if (pfunc.has_empty_codomain()) { 2441: 2441: if (marked_empty() 2441: || (has_pending_constraints() 2441: && !remove_pending_to_obtain_generators()) 2441: || (!generators_are_up_to_date() && !update_generators())) { 2441: 2441: space_dim = 0; 2441: con_sys.clear(); 2441: } 2441: else { 2441: 2441: set_zero_dim_univ(); 2441: } 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: const dimension_type new_space_dimension = pfunc.max_in_codomain() + 1; 2441: 2441: if (new_space_dimension == space_dim) { 2441: 2441: 2441: 2441: 2441: 2441: std::vector cycle; 2441: cycle.reserve(space_dim); 2441: 2441: 2441: std::deque visited(space_dim); 2441: 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: if (visited[i]) { 2441: continue; 2441: } 2441: 2441: dimension_type j = i; 2441: do { 2441: visited[j] = true; 2441: 2441: dimension_type k = 0; 2441: if (!pfunc.maps(j, k)) { 2441: throw_invalid_argument("map_space_dimensions(pfunc)", 2441: " pfunc is inconsistent"); 2441: } 2441: if (k == j) { 2441: break; 2441: } 2441: 2441: cycle.push_back(Variable(j)); 2441: 2441: j = k; 2441: } while (!visited[j]); 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (constraints_are_up_to_date()) { 2441: con_sys.permute_space_dimensions(cycle); 2441: } 2441: 2441: if (generators_are_up_to_date()) { 2441: gen_sys.permute_space_dimensions(cycle); 2441: } 2441: 2441: cycle.clear(); 2441: } 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const Generator_System& old_gensys = generators(); 2441: 2441: if (old_gensys.has_no_rows()) { 2441: 2441: Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY); 2441: m_swap(new_polyhedron); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: std::vector pfunc_maps(space_dim, not_a_dimension()); 2441: for (dimension_type j = space_dim; j-- > 0; ) { 2441: dimension_type pfunc_j; 2441: if (pfunc.maps(j, pfunc_j)) { 2441: pfunc_maps[j] = pfunc_j; 2441: } 2441: } 2441: 2441: Generator_System new_gensys; 2441: for (Generator_System::const_iterator i = old_gensys.begin(), 2441: old_gensys_end = old_gensys.end(); i != old_gensys_end; ++i) { 2441: const Generator& old_g = *i; 2441: const Generator::expr_type old_e = old_g.expression(); 2441: Linear_Expression expr; 2441: expr.set_space_dimension(new_space_dimension); 2441: bool all_zeroes = true; 2441: for (Generator::expr_type::const_iterator j = old_e.begin(), 2441: j_end = old_e.end(); j != j_end; ++j) { 2441: const dimension_type mapped_id = pfunc_maps[j.variable().id()]; 2441: if (mapped_id != not_a_dimension()) { 2441: add_mul_assign(expr, *j, Variable(mapped_id)); 2441: all_zeroes = false; 2441: } 2441: } 2441: switch (old_g.type()) { 2441: case Generator::LINE: 2441: if (!all_zeroes) { 2441: new_gensys.insert(line(expr)); 2441: } 2441: break; 2441: case Generator::RAY: 2441: if (!all_zeroes) { 2441: new_gensys.insert(ray(expr)); 2441: } 2441: break; 2441: case Generator::POINT: 2441: 2441: new_gensys.insert(point(expr, old_g.divisor())); 2441: break; 2441: case Generator::CLOSURE_POINT: 2441: 2441: new_gensys.insert(closure_point(expr, old_g.divisor())); 2441: break; 2441: } 2441: } 2441: Polyhedron new_polyhedron(topology(), new_gensys); 2441: m_swap(new_polyhedron); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Polyhedron::refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right, 2441: const bool is_strict) { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_308 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: 2441: 2441: const dimension_type left_space_dim = left.space_dimension(); 2441: if (space_dim < left_space_dim) { 2441: throw_dimension_incompatible( 2441: "refine_with_linear_form_inequality(l1, l2, s)", "l1", left); 2441: } 2441: 2441: const dimension_type right_space_dim = right.space_dimension(); 2441: if (space_dim < right_space_dim) { 2441: throw_dimension_incompatible( 2441: "refine_with_linear_form_inequality(l1, l2, s)", "l2", right); 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: typedef Interval FP_Interval_Type; 2441: typedef Linear_Form FP_Linear_Form; 2441: 2441: if (Floating_Point_Expression:: 2441: overflows(left)) { 2441: return; 2441: } 2441: 2441: if (Floating_Point_Expression:: 2441: overflows(right)) { 2441: return; 2441: } 2441: 2441: 2441: FP_Linear_Form left_minus_right(left); 2441: left_minus_right -= right; 2441: if (Floating_Point_Expression:: 2441: overflows(left_minus_right)) { 2441: return; 2441: } 2441: 2441: dimension_type lf_space_dim = left_minus_right.space_dimension(); 2441: FP_Linear_Form lf_approx; 2441: overapproximate_linear_form(left_minus_right, lf_space_dim, lf_approx); 2441: if (Floating_Point_Expression:: 2441: overflows(lf_approx)) { 2441: return; 2441: } 2441: 2441: 2441: Linear_Expression lf_approx_le; 2441: convert_to_integer_expression(lf_approx, lf_space_dim, lf_approx_le); 2441: 2441: 2441: if (!is_strict || is_necessarily_closed()) { 2441: refine_with_constraint(lf_approx_le <= 0); 2441: } 2441: else { 2441: refine_with_constraint(lf_approx_le < 0); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Polyhedron::affine_form_image(const Variable var, 2441: const Linear_Form >& lf) { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_378 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: 2441: const dimension_type lf_space_dim = lf.space_dimension(); 2441: if (space_dim < lf_space_dim) { 2441: throw_dimension_incompatible("affine_form_image(v, l, s)", "l", lf); 2441: } 2441: 2441: 2441: const dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("affine_form_image(v, l, s)", "v", var); 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: typedef Interval FP_Interval_Type; 2441: typedef Linear_Form FP_Linear_Form; 2441: 2441: if (Floating_Point_Expression:: 2441: overflows(lf)) { 2441: *this = Polyhedron(topology(), space_dim, UNIVERSE); 2441: return; 2441: } 2441: 2441: 2441: FP_Linear_Form lf_approx; 2441: overapproximate_linear_form(lf, lf_space_dim, lf_approx); 2441: 2441: if (Floating_Point_Expression:: 2441: overflows(lf_approx)) { 2441: *this = Polyhedron(topology(), space_dim, UNIVERSE); 2441: return; 2441: } 2441: 2441: 2441: Linear_Expression lf_approx_le; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lo_coeff; Parma_Polyhedra_Library::Coefficient& lo_coeff = holder_lo_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_hi_coeff; Parma_Polyhedra_Library::Coefficient& hi_coeff = holder_hi_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denominator; Parma_Polyhedra_Library::Coefficient& denominator = holder_denominator.item(); 2441: convert_to_integer_expressions(lf_approx, lf_space_dim, lf_approx_le, 2441: lo_coeff, hi_coeff, denominator); 2441: 2441: 2441: bounded_affine_image(var, lf_approx_le + lo_coeff, lf_approx_le + hi_coeff, 2441: denominator); 2441: } 2441: 2441: template 2441: void 2441: Polyhedron 2441: ::overapproximate_linear_form(const Linear_Form >& lf, 2441: const dimension_type lf_dimension, 2441: Linear_Form >& result) { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_438 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: typedef Interval FP_Interval_Type; 2441: typedef Linear_Form FP_Linear_Form; 2441: 2441: 2441: 2441: Box box(*this); 2441: 2441: result = FP_Linear_Form(lf.inhomogeneous_term()); 2441: 2441: const FP_Interval_Type aux_divisor1(static_cast(0.5)); 2441: FP_Interval_Type aux_divisor2(aux_divisor1); 2441: aux_divisor2.lower() = static_cast(-0.5); 2441: 2441: for (dimension_type i = 0; i < lf_dimension; ++i) { 2441: Variable curr_var(i); 2441: const FP_Interval_Type& curr_coeff = lf.coefficient(curr_var); 2441: ((void) 0); 2441: FP_Format curr_lb = curr_coeff.lower(); 2441: FP_Format curr_ub = curr_coeff.upper(); 2441: if (curr_lb != 0 || curr_ub != 0) { 2441: const FP_Interval_Type& curr_int = box.get_interval(curr_var); 2441: FP_Interval_Type curr_addend(curr_ub - curr_lb); 2441: curr_addend *= aux_divisor2; 2441: curr_addend *= curr_int; 2441: result += curr_addend; 2441: curr_addend = FP_Interval_Type(curr_lb + curr_ub); 2441: curr_addend *= aux_divisor1; 2441: FP_Linear_Form curr_addend_lf(curr_var); 2441: curr_addend_lf *= curr_addend; 2441: result += curr_addend_lf; 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Polyhedron::convert_to_integer_expression( 2441: const Linear_Form >& lf, 2441: const dimension_type lf_dimension, 2441: Linear_Expression& result) { 2441: result = Linear_Expression(); 2441: 2441: typedef Interval FP_Interval_Type; 2441: std::vector numerators(lf_dimension+1); 2441: std::vector denominators(lf_dimension+1); 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lcm; Parma_Polyhedra_Library::Coefficient& lcm = holder_lcm.item(); 2441: lcm = 1; 2441: const FP_Interval_Type& b = lf.inhomogeneous_term(); 2441: 2441: numer_denom(b.lower(), numerators[lf_dimension], 2441: denominators[lf_dimension]); 2441: if (numerators[lf_dimension] != 0) { 2441: lcm_assign(lcm, lcm, denominators[lf_dimension]); 2441: } 2441: 2441: for (dimension_type i = 0; i < lf_dimension; ++i) { 2441: const FP_Interval_Type& curr_int = lf.coefficient(Variable(i)); 2441: numer_denom(curr_int.lower(), numerators[i], denominators[i]); 2441: if (numerators[i] != 0) { 2441: lcm_assign(lcm, lcm, denominators[i]); 2441: } 2441: } 2441: 2441: for (dimension_type i = 0; i < lf_dimension; ++i) { 2441: if (numerators[i] != 0) { 2441: exact_div_assign(denominators[i], lcm, denominators[i]); 2441: numerators[i] *= denominators[i]; 2441: result += numerators[i] * Variable(i); 2441: } 2441: } 2441: 2441: if (numerators[lf_dimension] != 0) { 2441: exact_div_assign(denominators[lf_dimension], 2441: lcm, denominators[lf_dimension]); 2441: numerators[lf_dimension] *= denominators[lf_dimension]; 2441: result += numerators[lf_dimension]; 2441: } 2441: } 2441: 2441: template 2441: void 2441: Polyhedron::convert_to_integer_expressions( 2441: const Linear_Form >& lf, 2441: const dimension_type lf_dimension, Linear_Expression& res, 2441: Coefficient& res_low_coeff, Coefficient& res_hi_coeff, 2441: Coefficient& denominator) { 2441: res = Linear_Expression(); 2441: 2441: typedef Interval FP_Interval_Type; 2441: std::vector numerators(lf_dimension+2); 2441: std::vector denominators(lf_dimension+2); 2441: 2441: 2441: 2441: Coefficient& lcm = denominator; 2441: lcm = 1; 2441: const FP_Interval_Type& b = lf.inhomogeneous_term(); 2441: numer_denom(b.lower(), numerators[lf_dimension], denominators[lf_dimension]); 2441: 2441: if (numerators[lf_dimension] != 0) { 2441: lcm_assign(lcm, lcm, denominators[lf_dimension]); 2441: } 2441: 2441: numer_denom(b.upper(), numerators[lf_dimension+1], 2441: denominators[lf_dimension+1]); 2441: if (numerators[lf_dimension+1] != 0) { 2441: lcm_assign(lcm, lcm, denominators[lf_dimension+1]); 2441: } 2441: 2441: for (dimension_type i = 0; i < lf_dimension; ++i) { 2441: const FP_Interval_Type& curr_int = lf.coefficient(Variable(i)); 2441: numer_denom(curr_int.lower(), numerators[i], denominators[i]); 2441: if (numerators[i] != 0) { 2441: lcm_assign(lcm, lcm, denominators[i]); 2441: } 2441: } 2441: 2441: for (dimension_type i = 0; i < lf_dimension; ++i) { 2441: if (numerators[i] != 0) { 2441: exact_div_assign(denominators[i], lcm, denominators[i]); 2441: numerators[i] *= denominators[i]; 2441: res += numerators[i] * Variable(i); 2441: } 2441: } 2441: 2441: if (numerators[lf_dimension] != 0) { 2441: exact_div_assign(denominators[lf_dimension], 2441: lcm, denominators[lf_dimension]); 2441: numerators[lf_dimension] *= denominators[lf_dimension]; 2441: res_low_coeff = numerators[lf_dimension]; 2441: } 2441: else { 2441: res_low_coeff = 0; 2441: } 2441: 2441: if (numerators[lf_dimension+1] != 0) { 2441: exact_div_assign(denominators[lf_dimension+1], 2441: lcm, denominators[lf_dimension+1]); 2441: numerators[lf_dimension+1] *= denominators[lf_dimension+1]; 2441: res_hi_coeff = numerators[lf_dimension+1]; 2441: } 2441: else { 2441: res_hi_coeff = 0; 2441: } 2441: } 2441: 2441: template 2441: void 2441: Polyhedron::throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form& lf) const { 2441: throw_dimension_incompatible(method, lf_name, lf.space_dimension()); 2441: } 2441: 2441: template 2441: Input& 2441: Polyhedron::check_obj_space_dimension_overflow(Input& input, 2441: const Topology topol, 2441: const char* method, 2441: const char* reason) { 2441: check_space_dimension_overflow(input.space_dimension(), 2441: max_space_dimension(), 2441: topol, method, reason); 2441: return input; 2441: } 2441: 2441: } 2441: # 2858 "../../src/Polyhedron_defs.hh" 2 2441: # 1 "../../src/Polyhedron_chdims_templates.hh" 1 2441: # 28 "../../src/Polyhedron_chdims_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: void 2441: Polyhedron::add_space_dimensions(Linear_System1& sys1, 2441: Linear_System2& sys2, 2441: Bit_Matrix& sat1, 2441: Bit_Matrix& sat2, 2441: dimension_type add_dim) { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: sys1.set_space_dimension(sys1.space_dimension() + add_dim); 2441: sys2.add_universe_rows_and_space_dimensions(add_dim); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: sat1.resize(sat1.num_rows() + add_dim, sat1.num_columns()); 2441: 2441: for (dimension_type i = sat1.num_rows() - add_dim; i-- > 0; ) { 2441: swap(sat1[i], sat1[i+add_dim]); 2441: } 2441: 2441: sat2.transpose_assign(sat1); 2441: } 2441: 2441: } 2441: # 2859 "../../src/Polyhedron_defs.hh" 2 2441: # 1 "../../src/Polyhedron_conversion_templates.hh" 1 2441: # 29 "../../src/Polyhedron_conversion_templates.hh" 2441: # 1 "../../src/Polyhedron_defs.hh" 1 2441: # 30 "../../src/Polyhedron_conversion_templates.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: 2441: # 1 "/usr/include/c++/8/climits" 1 3 2441: # 39 "/usr/include/c++/8/climits" 3 2441: 2441: # 40 "/usr/include/c++/8/climits" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 43 "/usr/include/c++/8/climits" 2 3 2441: # 37 "../../src/Polyhedron_conversion_templates.hh" 2 2441: # 52 "../../src/Polyhedron_conversion_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 367 "../../src/Polyhedron_conversion_templates.hh" 2441: template 2441: dimension_type 2441: Polyhedron::conversion(Source_Linear_System& source, 2441: const dimension_type start, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat, 2441: dimension_type num_lines_or_equalities) { 2441: typedef typename Dest_Linear_System::row_type dest_row_type; 2441: typedef typename Source_Linear_System::row_type source_row_type; 2441: 2441: 2441: 2441: ((void) 0); 2441: const dimension_type source_space_dim = source.space_dimension(); 2441: const dimension_type source_num_rows = source.num_rows(); 2441: const dimension_type source_num_columns = source_space_dim 2441: + (source.is_necessarily_closed() ? 1U : 2U); 2441: 2441: 2441: dimension_type dest_num_rows = dest.num_rows(); 2441: 2441: 2441: std::vector recyclable_dest_rows; 2441: 2441: using std::swap; 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: ((void) 0); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_normalized_sp_i; Parma_Polyhedra_Library::Coefficient& normalized_sp_i = holder_normalized_sp_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_normalized_sp_o; Parma_Polyhedra_Library::Coefficient& normalized_sp_o = holder_normalized_sp_o.item(); 2441: 2441: bool dest_sorted = dest.is_sorted(); 2441: const dimension_type dest_first_pending_row = dest.first_pending_row(); 2441: 2441: 2441: std::vector redundant_source_rows; 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp > holder_sat_num_ones; std::vector& sat_num_ones = holder_sat_num_ones.item(); 2441: sat_num_ones.resize(dest_num_rows, 0); 2441: for (dimension_type i = dest_num_rows; i-- > 0; ) { 2441: sat_num_ones[i] = sat[i].count_ones(); 2441: } 2441: 2441: 2441: 2441: 2441: for (dimension_type k = start; k < source_num_rows; ++k) { 2441: const source_row_type& source_k = source[k]; 2441: # 437 "../../src/Polyhedron_conversion_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp > holder_scalar_prod; std::vector& scalar_prod = holder_scalar_prod.item(); 2441: if (dest_num_rows > scalar_prod.size()) { 2441: scalar_prod.insert(scalar_prod.end(), 2441: dest_num_rows - scalar_prod.size(), 2441: Coefficient_zero()); 2441: } 2441: 2441: 2441: dimension_type index_non_zero = 0; 2441: for ( ; index_non_zero < dest_num_rows; ++index_non_zero) { 2441: do { } while (false); 2441: Scalar_Products::assign(scalar_prod[index_non_zero], 2441: source_k, 2441: dest.sys.rows[index_non_zero]); 2441: do { Weightwatch_Traits::weight += (17)*(source_space_dim); } while (false); 2441: if (scalar_prod[index_non_zero] != 0) { 2441: 2441: break; 2441: } 2441: 2441: 2441: 2441: maybe_abandon(); 2441: } 2441: for (dimension_type i = index_non_zero + 1; i < dest_num_rows; ++i) { 2441: do { } while (false); 2441: Scalar_Products::assign(scalar_prod[i], source_k, dest.sys.rows[i]); 2441: do { Weightwatch_Traits::weight += (25)*(source_space_dim); } while (false); 2441: 2441: 2441: 2441: maybe_abandon(); 2441: } 2441: # 478 "../../src/Polyhedron_conversion_templates.hh" 2441: if (index_non_zero < num_lines_or_equalities) { 2441: 2441: 2441: 2441: 2441: dest.sys.rows[index_non_zero].set_is_ray_or_point_or_inequality(); 2441: 2441: 2441: 2441: if (scalar_prod[index_non_zero] < 0) { 2441: 2441: 2441: neg_assign(scalar_prod[index_non_zero]); 2441: neg_assign(dest.sys.rows[index_non_zero].expr); 2441: 2441: 2441: } 2441: 2441: 2441: 2441: dest_sorted = false; 2441: --num_lines_or_equalities; 2441: if (index_non_zero != num_lines_or_equalities) { 2441: swap(dest.sys.rows[index_non_zero], 2441: dest.sys.rows[num_lines_or_equalities]); 2441: swap(scalar_prod[index_non_zero], 2441: scalar_prod[num_lines_or_equalities]); 2441: } 2441: const dest_row_type& dest_nle = dest.sys.rows[num_lines_or_equalities]; 2441: # 523 "../../src/Polyhedron_conversion_templates.hh" 2441: Coefficient& scalar_prod_nle = scalar_prod[num_lines_or_equalities]; 2441: ((void) 0); 2441: for (dimension_type 2441: i = index_non_zero; i < num_lines_or_equalities; ++i) { 2441: if (scalar_prod[i] != 0) { 2441: # 540 "../../src/Polyhedron_conversion_templates.hh" 2441: normalize2(scalar_prod[i], 2441: scalar_prod_nle, 2441: normalized_sp_i, 2441: normalized_sp_o); 2441: dest_row_type& dest_i = dest.sys.rows[i]; 2441: neg_assign(normalized_sp_i); 2441: dest_i.expr.linear_combine(dest_nle.expr, 2441: normalized_sp_o, normalized_sp_i); 2441: dest_i.strong_normalize(); 2441: 2441: 2441: scalar_prod[i] = 0; 2441: 2441: } 2441: } 2441: # 563 "../../src/Polyhedron_conversion_templates.hh" 2441: for (dimension_type 2441: i = num_lines_or_equalities + 1; i < dest_num_rows; ++i) { 2441: if (scalar_prod[i] != 0) { 2441: # 578 "../../src/Polyhedron_conversion_templates.hh" 2441: normalize2(scalar_prod[i], 2441: scalar_prod_nle, 2441: normalized_sp_i, 2441: normalized_sp_o); 2441: dest_row_type& dest_i = dest.sys.rows[i]; 2441: do { } while (false); 2441: neg_assign(normalized_sp_i); 2441: dest_i.expr.linear_combine(dest_nle.expr, 2441: normalized_sp_o, normalized_sp_i); 2441: dest_i.strong_normalize(); 2441: 2441: 2441: scalar_prod[i] = 0; 2441: 2441: do { Weightwatch_Traits::weight += (41)*(source_space_dim); } while (false); 2441: } 2441: 2441: 2441: 2441: maybe_abandon(); 2441: } 2441: 2441: 2441: 2441: 2441: Bit_Row& sat_nle = sat[num_lines_or_equalities]; 2441: if (source_k.is_ray_or_point_or_inequality()) { 2441: sat_nle.set(k - redundant_source_rows.size()); 2441: 2441: ++sat_num_ones[num_lines_or_equalities]; 2441: 2441: } 2441: else { 2441: 2441: 2441: 2441: --dest_num_rows; 2441: swap(dest.sys.rows[num_lines_or_equalities], 2441: dest.sys.rows[dest_num_rows]); 2441: recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1); 2441: swap(dest.sys.rows.back(), recyclable_dest_rows.back()); 2441: dest.sys.rows.pop_back(); 2441: ((void) 0); 2441: 2441: swap(scalar_prod_nle, scalar_prod[dest_num_rows]); 2441: swap(sat_nle, sat[dest_num_rows]); 2441: 2441: swap(sat_num_ones[num_lines_or_equalities], 2441: sat_num_ones[dest_num_rows]); 2441: 2441: 2441: } 2441: 2441: 2441: continue; 2441: } 2441: 2441: 2441: ((void) 0); 2441: # 649 "../../src/Polyhedron_conversion_templates.hh" 2441: dimension_type lines_or_equal_bound = num_lines_or_equalities; 2441: dimension_type inf_bound = dest_num_rows; 2441: 2441: 2441: while (inf_bound > lines_or_equal_bound 2441: && scalar_prod[lines_or_equal_bound] == 0) { 2441: ++lines_or_equal_bound; 2441: } 2441: dimension_type sup_bound = lines_or_equal_bound; 2441: while (inf_bound > sup_bound) { 2441: const int sp_sign = sgn(scalar_prod[sup_bound]); 2441: if (sp_sign == 0) { 2441: 2441: swap(dest.sys.rows[sup_bound], dest.sys.rows[lines_or_equal_bound]); 2441: swap(scalar_prod[sup_bound], scalar_prod[lines_or_equal_bound]); 2441: swap(sat[sup_bound], sat[lines_or_equal_bound]); 2441: 2441: swap(sat_num_ones[sup_bound], sat_num_ones[lines_or_equal_bound]); 2441: 2441: ++lines_or_equal_bound; 2441: ++sup_bound; 2441: dest_sorted = false; 2441: } 2441: else if (sp_sign < 0) { 2441: 2441: --inf_bound; 2441: swap(dest.sys.rows[sup_bound], dest.sys.rows[inf_bound]); 2441: swap(sat[sup_bound], sat[inf_bound]); 2441: swap(scalar_prod[sup_bound], scalar_prod[inf_bound]); 2441: 2441: swap(sat_num_ones[sup_bound], sat_num_ones[inf_bound]); 2441: 2441: dest_sorted = false; 2441: } 2441: else { 2441: 2441: ++sup_bound; 2441: } 2441: } 2441: 2441: if (sup_bound == dest_num_rows) { 2441: 2441: 2441: 2441: 2441: 2441: if (source_k.is_ray_or_point_or_inequality()) { 2441: redundant_source_rows.push_back(k); 2441: } 2441: else { 2441: 2441: 2441: 2441: ((void) 0); 2441: while (dest_num_rows != lines_or_equal_bound) { 2441: recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1); 2441: swap(dest.sys.rows.back(), recyclable_dest_rows.back()); 2441: dest.sys.rows.pop_back(); 2441: --dest_num_rows; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: 2441: continue; 2441: } 2441: 2441: 2441: 2441: if (sup_bound == num_lines_or_equalities) { 2441: 2441: 2441: 2441: ((void) 0); 2441: while (dest_num_rows != sup_bound) { 2441: recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1); 2441: swap(dest.sys.rows.back(), recyclable_dest_rows.back()); 2441: dest.sys.rows.pop_back(); 2441: --dest_num_rows; 2441: } 2441: ((void) 0); 2441: 2441: 2441: continue; 2441: } 2441: # 744 "../../src/Polyhedron_conversion_templates.hh" 2441: const dimension_type bound = dest_num_rows; 2441: # 755 "../../src/Polyhedron_conversion_templates.hh" 2441: const dimension_type min_saturators 2441: = source_num_columns - num_lines_or_equalities - 2; 2441: 2441: const dimension_type max_saturators = k - redundant_source_rows.size(); 2441: 2441: 2441: 2441: 2441: 2441: for (dimension_type i = lines_or_equal_bound; i < sup_bound; ++i) { 2441: for (dimension_type j = sup_bound; j < bound; ++j) { 2441: 2441: 2441: 2441: 2441: 2441: ((void) 0) 2441: ; 2441: ((void) 0) 2441: ; 2441: 2441: 2441: 2441: 2441: 2441: Bit_Row new_satrow(sat[i], sat[j]); 2441: # 790 "../../src/Polyhedron_conversion_templates.hh" 2441: dimension_type new_satrow_ones = new_satrow.count_ones(); 2441: 2441: 2441: 2441: const dimension_type num_common_satur 2441: = max_saturators - new_satrow_ones; 2441: if (num_common_satur < min_saturators) { 2441: 2441: continue; 2441: } 2441: # 808 "../../src/Polyhedron_conversion_templates.hh" 2441: const dimension_type max_ones_i_j 2441: = std::max(sat_num_ones[i], sat_num_ones[j]); 2441: if (max_ones_i_j + 1 == new_satrow_ones) { 2441: 2441: goto are_adjacent; 2441: } 2441: 2441: 2441: 2441: { 2441: bool redundant = false; 2441: do { } while (false); 2441: for (dimension_type l = num_lines_or_equalities; l < bound; ++l) { 2441: if (l != i && l != j 2441: && subset_or_equal(sat[l], new_satrow)) { 2441: 2441: 2441: redundant = true; 2441: break; 2441: } 2441: } 2441: ((void) 0); 2441: do { Weightwatch_Traits::weight += (15)*(bound - num_lines_or_equalities); } while (false); 2441: if (redundant) { 2441: 2441: continue; 2441: } 2441: } 2441: 2441: 2441: are_adjacent: 2441: 2441: 2441: 2441: dest_row_type new_row; 2441: if (recyclable_dest_rows.empty()) { 2441: sat.add_recycled_row(new_satrow); 2441: 2441: sat_num_ones.push_back(new_satrow_ones); 2441: 2441: } 2441: else { 2441: swap(new_row, recyclable_dest_rows.back()); 2441: recyclable_dest_rows.pop_back(); 2441: new_row.set_space_dimension_no_ok(source_space_dim); 2441: swap(sat[dest_num_rows], new_satrow); 2441: 2441: swap(sat_num_ones[dest_num_rows], new_satrow_ones); 2441: 2441: } 2441: # 871 "../../src/Polyhedron_conversion_templates.hh" 2441: normalize2(scalar_prod[i], 2441: scalar_prod[j], 2441: normalized_sp_i, 2441: normalized_sp_o); 2441: do { } while (false); 2441: 2441: neg_assign(normalized_sp_o); 2441: new_row = dest.sys.rows[j]; 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: new_row.expr.linear_combine(dest.sys.rows[i].expr, 2441: normalized_sp_i, normalized_sp_o); 2441: 2441: do { Weightwatch_Traits::weight += (86)*(source_space_dim); } while (false); 2441: new_row.strong_normalize(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: if (scalar_prod.size() <= dest_num_rows) { 2441: scalar_prod.push_back(Coefficient_zero()); 2441: } 2441: else { 2441: scalar_prod[dest_num_rows] = Coefficient_zero(); 2441: } 2441: dest.sys.rows.resize(dest.sys.rows.size() + 1); 2441: swap(dest.sys.rows.back(), new_row); 2441: 2441: ++dest_num_rows; 2441: } 2441: 2441: 2441: 2441: maybe_abandon(); 2441: } 2441: 2441: 2441: dimension_type j; 2441: if (source_k.is_ray_or_point_or_inequality()) { 2441: 2441: 2441: j = sup_bound; 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type new_k = k - redundant_source_rows.size(); 2441: for (dimension_type l = lines_or_equal_bound; 2441: l < sup_bound; ++l) { 2441: sat[l].set(new_k); 2441: 2441: ++sat_num_ones[l]; 2441: 2441: } 2441: } 2441: else { 2441: 2441: 2441: j = lines_or_equal_bound; 2441: } 2441: 2441: 2441: 2441: 2441: dimension_type i = dest_num_rows; 2441: while (j < bound && i > bound) { 2441: --i; 2441: swap(dest.sys.rows[i], dest.sys.rows[j]); 2441: swap(scalar_prod[i], scalar_prod[j]); 2441: swap(sat[i], sat[j]); 2441: 2441: swap(sat_num_ones[i], sat_num_ones[j]); 2441: 2441: ++j; 2441: dest_sorted = false; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type new_num_rows = (j == bound) ? i : j; 2441: ((void) 0); 2441: while (dest_num_rows != new_num_rows) { 2441: recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1); 2441: swap(dest.sys.rows.back(), recyclable_dest_rows.back()); 2441: dest.sys.rows.pop_back(); 2441: --dest_num_rows; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: 2441: 2441: if (redundant_source_rows.size() > 0) { 2441: source.remove_rows(redundant_source_rows); 2441: sat.remove_trailing_columns(redundant_source_rows.size()); 2441: } 2441: # 985 "../../src/Polyhedron_conversion_templates.hh" 2441: if (start > 0 && start < source.num_rows()) { 2441: source.set_sorted(compare(source[start - 1], source[start]) <= 0); 2441: } 2441: 2441: source.unset_pending_rows(); 2441: 2441: 2441: 2441: if (!recyclable_dest_rows.empty()) { 2441: const dimension_type num_removed_rows = recyclable_dest_rows.size(); 2441: sat.remove_trailing_rows(num_removed_rows); 2441: } 2441: if (dest_sorted) { 2441: 2441: 2441: 2441: for (dimension_type i = dest_first_pending_row; 2441: i < dest_num_rows; ++i) { 2441: if (compare(dest.sys.rows[i - 1], dest.sys.rows[i]) > 0) { 2441: dest_sorted = false; 2441: break; 2441: } 2441: } 2441: } 2441: # 1017 "../../src/Polyhedron_conversion_templates.hh" 2441: dest.sys.index_first_pending = dest.num_rows(); 2441: dest.set_sorted(dest_sorted); 2441: ((void) 0); 2441: 2441: return num_lines_or_equalities; 2441: } 2441: 2441: } 2441: # 2860 "../../src/Polyhedron_defs.hh" 2 2441: # 1 "../../src/Polyhedron_minimize_templates.hh" 1 2441: # 31 "../../src/Polyhedron_minimize_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 69 "../../src/Polyhedron_minimize_templates.hh" 2441: template 2441: bool 2441: Polyhedron::minimize(const bool con_to_gen, 2441: Source_Linear_System& source, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat) { 2441: 2441: typedef typename Dest_Linear_System::row_type dest_row_type; 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: if (!source.is_sorted()) { 2441: source.sort_rows(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type dest_num_rows 2441: = source.topology() == NECESSARILY_CLOSED ? source.space_dimension() + 1 2441: : source.space_dimension() + 2; 2441: 2441: dest.clear(); 2441: dest.set_space_dimension(source.space_dimension()); 2441: 2441: 2441: for (dimension_type i = 0; i < dest_num_rows; ++i) { 2441: Linear_Expression expr; 2441: expr.set_space_dimension(dest_num_rows - 1); 2441: if (i == 0) { 2441: expr += 1; 2441: } 2441: else { 2441: expr += Variable(i - 1); 2441: } 2441: dest_row_type dest_i(expr, dest_row_type::LINE_OR_EQUALITY, NECESSARILY_CLOSED); 2441: if (dest.topology() == NOT_NECESSARILY_CLOSED) { 2441: dest_i.mark_as_not_necessarily_closed(); 2441: } 2441: dest.sys.insert_no_ok(dest_i, Recycle_Input()); 2441: } 2441: 2441: 2441: dest.set_sorted(false); 2441: # 141 "../../src/Polyhedron_minimize_templates.hh" 2441: Bit_Matrix tmp_sat(dest_num_rows, source.num_rows()); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type num_lines_or_equalities 2441: = conversion(source, 0U, dest, tmp_sat, dest_num_rows); 2441: 2441: dest_num_rows = dest.num_rows(); 2441: # 166 "../../src/Polyhedron_minimize_templates.hh" 2441: dimension_type first_point; 2441: if (dest.is_necessarily_closed()) { 2441: for (first_point = num_lines_or_equalities; 2441: first_point < dest_num_rows; 2441: ++first_point) { 2441: if (dest[first_point].expr.inhomogeneous_term() > 0) { 2441: break; 2441: } 2441: } 2441: } 2441: else { 2441: for (first_point = num_lines_or_equalities; 2441: first_point < dest_num_rows; 2441: ++first_point) { 2441: if (dest[first_point].expr.get(Variable(dest.space_dimension())) > 0) { 2441: break; 2441: } 2441: } 2441: } 2441: 2441: if (first_point == dest_num_rows) { 2441: if (con_to_gen) { 2441: 2441: return true; 2441: } 2441: else { 2441: # 200 "../../src/Polyhedron_minimize_templates.hh" 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: sat.transpose_assign(tmp_sat); 2441: simplify(source, sat); 2441: return false; 2441: } 2441: } 2441: # 264 "../../src/Polyhedron_minimize_templates.hh" 2441: template 2441: bool 2441: Polyhedron::add_and_minimize(const bool con_to_gen, 2441: Source_Linear_System1& source1, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat, 2441: const Source_Linear_System2& source2) { 2441: 2441: ((void) 0); 2441: 2441: 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: const dimension_type old_source1_num_rows = source1.num_rows(); 2441: 2441: dimension_type k1 = 0; 2441: dimension_type k2 = 0; 2441: dimension_type source2_num_rows = source2.num_rows(); 2441: while (k1 < old_source1_num_rows && k2 < source2_num_rows) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: const int cmp = compare(source1[k1], source2[k2]); 2441: if (cmp == 0) { 2441: 2441: ++k2; 2441: 2441: 2441: ++k1; 2441: } 2441: else if (cmp < 0) { 2441: 2441: ++k1; 2441: } 2441: else { 2441: 2441: 2441: 2441: source1.add_pending_row(source2[k2]); 2441: 2441: ++k2; 2441: } 2441: } 2441: 2441: if (k2 < source2_num_rows) { 2441: 2441: 2441: 2441: for ( ; k2 < source2_num_rows; ++k2) { 2441: source1.add_pending_row(source2[k2]); 2441: } 2441: } 2441: 2441: if (source1.num_pending_rows() == 0) { 2441: 2441: 2441: 2441: return false; 2441: } 2441: return add_and_minimize(con_to_gen, source1, dest, sat); 2441: } 2441: # 370 "../../src/Polyhedron_minimize_templates.hh" 2441: template 2441: bool 2441: Polyhedron::add_and_minimize(const bool con_to_gen, 2441: Source_Linear_System& source, 2441: Dest_Linear_System& dest, 2441: Bit_Matrix& sat) { 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: sat.resize(dest.num_rows(), source.num_rows()); 2441: 2441: 2441: 2441: const dimension_type num_lines_or_equalities 2441: = conversion(source, source.first_pending_row(), 2441: dest, sat, 2441: dest.num_lines_or_equalities()); 2441: 2441: 2441: const dimension_type dest_num_rows = dest.num_rows(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type first_point; 2441: if (dest.is_necessarily_closed()) { 2441: for (first_point = num_lines_or_equalities; 2441: first_point < dest_num_rows; 2441: ++first_point) { 2441: if (dest[first_point].expr.inhomogeneous_term() > 0) { 2441: break; 2441: } 2441: } 2441: } 2441: else { 2441: for (first_point = num_lines_or_equalities; 2441: first_point < dest_num_rows; 2441: ++first_point) { 2441: if (dest[first_point].expr.get(Variable(dest.space_dimension())) > 0) { 2441: break; 2441: } 2441: } 2441: } 2441: 2441: if (first_point == dest_num_rows) { 2441: if (con_to_gen) { 2441: 2441: return true; 2441: } 2441: else { 2441: # 434 "../../src/Polyhedron_minimize_templates.hh" 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: sat.transpose(); 2441: simplify(source, sat); 2441: 2441: sat.transpose(); 2441: return false; 2441: } 2441: } 2441: 2441: } 2441: # 2861 "../../src/Polyhedron_defs.hh" 2 2441: # 1 "../../src/Polyhedron_simplify_templates.hh" 1 2441: # 32 "../../src/Polyhedron_simplify_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: # 82 "../../src/Polyhedron_simplify_templates.hh" 2441: template 2441: dimension_type 2441: Polyhedron::simplify(Linear_System1& sys, Bit_Matrix& sat) { 2441: dimension_type num_rows = sys.num_rows(); 2441: const dimension_type num_cols_sat = sat.num_columns(); 2441: 2441: using std::swap; 2441: 2441: 2441: dimension_type num_lines_or_equalities = 0; 2441: while (num_lines_or_equalities < num_rows 2441: && sys[num_lines_or_equalities].is_line_or_equality()) { 2441: ++num_lines_or_equalities; 2441: } 2441g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -frounding-math -g -O2 -ffile-prefix-map=/build/ppl-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fpermissive -W -Wall -c -o powerset1.o powerset1.cc : 2441: 2441: 2441: if (num_rows > simplify_num_saturators_size) { 2441: delete [] simplify_num_saturators_p; 2441: simplify_num_saturators_p = 0; 2441: simplify_num_saturators_size = 0; 2441: const size_t max_size 2441: = std::numeric_limits::max() / sizeof(dimension_type); 2441: const size_t new_size = compute_capacity(num_rows, max_size); 2441: simplify_num_saturators_p = new dimension_type[new_size]; 2441: simplify_num_saturators_size = new_size; 2441: } 2441: dimension_type* const num_saturators = simplify_num_saturators_p; 2441: 2441: bool sys_sorted = sys.is_sorted(); 2441: 2441: 2441: 2441: 2441: for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i) { 2441: if (sat[i].empty()) { 2441: 2441: 2441: 2441: sys.sys.rows[i].set_is_line_or_equality(); 2441: 2441: sys.sys.rows[i].sign_normalize(); 2441: 2441: 2441: if (i != num_lines_or_equalities) { 2441: sys.sys.rows[i].m_swap(sys.sys.rows[num_lines_or_equalities]); 2441: swap(sat[i], sat[num_lines_or_equalities]); 2441: swap(num_saturators[i], num_saturators[num_lines_or_equalities]); 2441: } 2441: ++num_lines_or_equalities; 2441: 2441: sys_sorted = false; 2441: } 2441: else { 2441: 2441: 2441: 2441: num_saturators[i] = num_cols_sat - sat[i].count_ones(); 2441: } 2441: } 2441: 2441: sys.set_sorted(sys_sorted); 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type rank = sys.gauss(num_lines_or_equalities); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (rank < num_lines_or_equalities) { 2441: # 169 "../../src/Polyhedron_simplify_templates.hh" 2441: for (dimension_type redundant = rank, 2441: erasing = num_rows; 2441: redundant < num_lines_or_equalities 2441: && erasing > num_lines_or_equalities; 2441: ) { 2441: --erasing; 2441: sys.remove_row(redundant); 2441: swap(sat[redundant], sat[erasing]); 2441: swap(num_saturators[redundant], num_saturators[erasing]); 2441: ++redundant; 2441: } 2441: 2441: 2441: 2441: 2441: num_rows -= num_lines_or_equalities - rank; 2441: 2441: 2441: 2441: sys.remove_trailing_rows(sys.num_rows() - num_rows); 2441: 2441: ((void) 0); 2441: 2441: sat.remove_trailing_rows(num_lines_or_equalities - rank); 2441: 2441: 2441: num_lines_or_equalities = rank; 2441: } 2441: 2441: const dimension_type old_num_rows = sys.num_rows(); 2441: # 230 "../../src/Polyhedron_simplify_templates.hh" 2441: const dimension_type sys_num_columns 2441: = sys.topology() == NECESSARILY_CLOSED ? sys.space_dimension() + 1 2441: : sys.space_dimension() + 2; 2441: const dimension_type min_saturators 2441: = sys_num_columns - num_lines_or_equalities - 1; 2441: for (dimension_type i = num_lines_or_equalities; i < num_rows; ) { 2441: if (num_saturators[i] < min_saturators) { 2441: 2441: --num_rows; 2441: sys.remove_row(i); 2441: swap(sat[i], sat[num_rows]); 2441: swap(num_saturators[i], num_saturators[num_rows]); 2441: } 2441: else { 2441: ++i; 2441: } 2441: } 2441: 2441: 2441: for (dimension_type i = num_lines_or_equalities; i < num_rows; ) { 2441: bool redundant = false; 2441: 2441: 2441: 2441: 2441: 2441: 2441: for (dimension_type j = num_lines_or_equalities; j < num_rows; ) { 2441: if (i == j) { 2441: 2441: ++j; 2441: } 2441: else { 2441: # 271 "../../src/Polyhedron_simplify_templates.hh" 2441: bool strict_subset; 2441: if (subset_or_equal(sat[j], sat[i], strict_subset)) { 2441: if (strict_subset) { 2441: 2441: 2441: 2441: 2441: 2441: redundant = true; 2441: break; 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: --num_rows; 2441: sys.remove_row(j); 2441: ((void) 0); 2441: swap(sat[j], sat[num_rows]); 2441: swap(num_saturators[j], num_saturators[num_rows]); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: ++j; 2441: } 2441: } 2441: } 2441: if (redundant) { 2441: 2441: --num_rows; 2441: sys.remove_row(i); 2441: ((void) 0); 2441: swap(sat[i], sat[num_rows]); 2441: swap(num_saturators[i], num_saturators[num_rows]); 2441: } 2441: else { 2441: 2441: ++i; 2441: } 2441: } 2441: 2441: 2441: 2441: sat.remove_trailing_rows(old_num_rows - num_rows); 2441: # 335 "../../src/Polyhedron_simplify_templates.hh" 2441: sys.back_substitute(num_lines_or_equalities); 2441: 2441: 2441: 2441: 2441: return num_lines_or_equalities; 2441: } 2441: 2441: } 2441: # 2862 "../../src/Polyhedron_defs.hh" 2 2441: # 35 "../../src/Box_templates.hh" 2 2441: # 1 "../../src/Grid_defs.hh" 1 2441: # 37 "../../src/Grid_defs.hh" 2441: # 1 "../../src/Grid_Generator_System_defs.hh" 1 2441: # 36 "../../src/Grid_Generator_System_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: std::ostream& operator<<(std::ostream& s, const Grid_Generator_System& gs); 2441: 2441: } 2441: 2441: 2441: 2441: void swap(Grid_Generator_System& x, Grid_Generator_System& y); 2441: 2441: 2441: 2441: bool operator==(const Grid_Generator_System& x, 2441: const Grid_Generator_System& y); 2441: 2441: } 2441: # 175 "../../src/Grid_Generator_System_defs.hh" 2441: class Parma_Polyhedra_Library::Grid_Generator_System { 2441: public: 2441: typedef Grid_Generator row_type; 2441: 2441: static const Representation default_representation = SPARSE; 2441: 2441: 2441: explicit Grid_Generator_System(Representation r = default_representation); 2441: 2441: 2441: explicit Grid_Generator_System(const Grid_Generator& g, 2441: Representation r = default_representation); 2441: 2441: 2441: explicit Grid_Generator_System(dimension_type dim, 2441: Representation r = default_representation); 2441: 2441: 2441: 2441: Grid_Generator_System(const Grid_Generator_System& gs); 2441: 2441: 2441: Grid_Generator_System(const Grid_Generator_System& gs, Representation r); 2441: 2441: 2441: ~Grid_Generator_System(); 2441: 2441: 2441: Grid_Generator_System& operator=(const Grid_Generator_System& y); 2441: 2441: 2441: Representation representation() const; 2441: 2441: 2441: void set_representation(Representation r); 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: void clear(); 2441: # 231 "../../src/Grid_Generator_System_defs.hh" 2441: void insert(const Grid_Generator& g); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Grid_Generator& g, Recycle_Input); 2441: 2441: 2441: 2441: 2441: 2441: void insert(Grid_Generator_System& gs, Recycle_Input); 2441: 2441: 2441: static void initialize(); 2441: 2441: 2441: static void finalize(); 2441: 2441: 2441: 2441: 2441: 2441: static const Grid_Generator_System& zero_dim_univ(); 2441: # 278 "../../src/Grid_Generator_System_defs.hh" 2441: class const_iterator 2441: : public std::iterator { 2441: public: 2441: 2441: const_iterator(); 2441: 2441: 2441: const_iterator(const const_iterator& y); 2441: 2441: 2441: ~const_iterator(); 2441: 2441: 2441: const_iterator& operator=(const const_iterator& y); 2441: 2441: 2441: const Grid_Generator& operator*() const; 2441: 2441: 2441: const Grid_Generator* operator->() const; 2441: 2441: 2441: const_iterator& operator++(); 2441: 2441: 2441: const_iterator operator++(int); 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const const_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const const_iterator& y) const; 2441: 2441: private: 2441: friend class Grid_Generator_System; 2441: 2441: Linear_System::const_iterator i; 2441: 2441: 2441: const_iterator(const Linear_System::const_iterator& y); 2441: }; 2441: 2441: 2441: bool empty() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const_iterator end() const; 2441: 2441: 2441: dimension_type num_rows() const; 2441: 2441: 2441: dimension_type num_parameters() const; 2441: 2441: 2441: dimension_type num_lines() const; 2441: 2441: 2441: 2441: 2441: 2441: bool has_points() const; 2441: 2441: 2441: bool is_equal_to(const Grid_Generator_System& y) const; 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: # 375 "../../src/Grid_Generator_System_defs.hh" 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: void m_swap(Grid_Generator_System& y); 2441: 2441: private: 2441: 2441: const Grid_Generator& operator[](dimension_type k) const; 2441: # 419 "../../src/Grid_Generator_System_defs.hh" 2441: void affine_image(Variable v, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator); 2441: 2441: 2441: void set_sorted(bool b); 2441: # 441 "../../src/Grid_Generator_System_defs.hh" 2441: void add_universe_rows_and_columns(dimension_type dims); 2441: 2441: 2441: void set_space_dimension(dimension_type space_dim); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: 2441: 2441: 2441: void shift_space_dimensions(Variable v, dimension_type n); 2441: 2441: 2441: void unset_pending_rows(); 2441: # 473 "../../src/Grid_Generator_System_defs.hh" 2441: void permute_space_dimensions(const std::vector& cycle); 2441: 2441: bool has_no_rows() const; 2441: 2441: 2441: void remove_trailing_rows(dimension_type n); 2441: 2441: void insert_verbatim(const Grid_Generator& g); 2441: 2441: 2441: Topology topology() const; 2441: 2441: 2441: dimension_type first_pending_row() const; 2441: 2441: Linear_System sys; 2441: 2441: 2441: 2441: 2441: 2441: static const Grid_Generator_System* zero_dim_univ_p; 2441: 2441: friend bool 2441: operator==(const Grid_Generator_System& x, const Grid_Generator_System& y); 2441: 2441: 2441: void set_index_first_pending_row(dimension_type i); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void remove_invalid_lines_and_parameters(); 2441: 2441: friend class Polyhedron; 2441: friend class Grid; 2441: }; 2441: # 38 "../../src/Grid_defs.hh" 2 2441: # 1 "../../src/Grid_Generator_System_inlines.hh" 1 2441: # 29 "../../src/Grid_Generator_System_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline void 2441: Grid_Generator_System::set_sorted(bool b) { 2441: sys.set_sorted(b); 2441: } 2441: 2441: inline void 2441: Grid_Generator_System::unset_pending_rows() { 2441: sys.unset_pending_rows(); 2441: } 2441: 2441: inline void 2441: Grid_Generator_System::set_index_first_pending_row(const dimension_type i) { 2441: sys.set_index_first_pending_row(i); 2441: } 2441: 2441: inline void 2441: Grid_Generator_System 2441: ::permute_space_dimensions(const std::vector& cycle) { 2441: return sys.permute_space_dimensions(cycle); 2441: } 2441: 2441: inline bool 2441: Grid_Generator_System::is_equal_to(const Grid_Generator_System& y) const { 2441: return (sys == y.sys); 2441: } 2441: 2441: inline 2441: Grid_Generator_System::Grid_Generator_System(Representation r) 2441: : sys(NECESSARILY_CLOSED, r) { 2441: sys.set_sorted(false); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs) 2441: : sys(gs.sys) { 2441: } 2441: 2441: inline 2441: Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs, 2441: Representation r) 2441: : sys(gs.sys, r) { 2441: } 2441: 2441: inline 2441: Grid_Generator_System::Grid_Generator_System(dimension_type dim, 2441: Representation r) 2441: : sys(NECESSARILY_CLOSED, r) { 2441: sys.set_space_dimension(dim); 2441: sys.set_sorted(false); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid_Generator_System::Grid_Generator_System(const Grid_Generator& g, 2441: Representation r) 2441: : sys(NECESSARILY_CLOSED, r) { 2441: sys.insert(g); 2441: sys.set_sorted(false); 2441: } 2441: 2441: inline 2441: Grid_Generator_System::~Grid_Generator_System() { 2441: } 2441: 2441: inline Grid_Generator_System& 2441: Grid_Generator_System::operator=(const Grid_Generator_System& y) { 2441: Grid_Generator_System tmp = y; 2441: swap(*this, tmp); 2441: return *this; 2441: } 2441: 2441: inline Representation 2441: Grid_Generator_System::representation() const { 2441: return sys.representation(); 2441: } 2441: 2441: inline void 2441: Grid_Generator_System::set_representation(Representation r) { 2441: sys.set_representation(r); 2441: } 2441: 2441: inline dimension_type 2441: Grid_Generator_System::max_space_dimension() { 2441: 2441: return Linear_System::max_space_dimension() - 1; 2441: } 2441: 2441: inline dimension_type 2441: Grid_Generator_System::space_dimension() const { 2441: return sys.space_dimension(); 2441: } 2441: 2441: inline const Grid_Generator_System& 2441: Grid_Generator_System::zero_dim_univ() { 2441: ((void) 0); 2441: return *zero_dim_univ_p; 2441: } 2441: 2441: inline void 2441: Grid_Generator_System::clear() { 2441: sys.clear(); 2441: sys.set_sorted(false); 2441: sys.unset_pending_rows(); 2441: ((void) 0); 2441: } 2441: 2441: inline void 2441: Grid_Generator_System::m_swap(Grid_Generator_System& y) { 2441: swap(sys, y.sys); 2441: } 2441: 2441: inline memory_size_type 2441: Grid_Generator_System::external_memory_in_bytes() const { 2441: return sys.external_memory_in_bytes(); 2441: } 2441: 2441: inline memory_size_type 2441: Grid_Generator_System::total_memory_in_bytes() const { 2441: return external_memory_in_bytes() + sizeof(*this); 2441: } 2441: 2441: inline dimension_type 2441: Grid_Generator_System::num_rows() const { 2441: return sys.num_rows(); 2441: } 2441: 2441: inline 2441: Grid_Generator_System::const_iterator::const_iterator() 2441: : i() { 2441: } 2441: 2441: inline 2441: Grid_Generator_System::const_iterator::const_iterator(const const_iterator& y) 2441: : i(y.i) { 2441: } 2441: 2441: inline 2441: Grid_Generator_System::const_iterator::~const_iterator() { 2441: } 2441: 2441: inline Grid_Generator_System::const_iterator& 2441: Grid_Generator_System::const_iterator::operator=(const const_iterator& y) { 2441: i = y.i; 2441: return *this; 2441: } 2441: 2441: inline const Grid_Generator& 2441: Grid_Generator_System::const_iterator::operator*() const { 2441: return *i; 2441: } 2441: 2441: inline const Grid_Generator* 2441: Grid_Generator_System::const_iterator::operator->() const { 2441: return i.operator->(); 2441: } 2441: 2441: inline Grid_Generator_System::const_iterator& 2441: Grid_Generator_System::const_iterator::operator++() { 2441: ++i; 2441: return *this; 2441: } 2441: 2441: inline Grid_Generator_System::const_iterator 2441: Grid_Generator_System::const_iterator::operator++(int) { 2441: const const_iterator tmp = *this; 2441: operator++(); 2441: return tmp; 2441: } 2441: 2441: inline bool 2441: Grid_Generator_System 2441: ::const_iterator::operator==(const const_iterator& y) const { 2441: return i == y.i; 2441: } 2441: 2441: inline bool 2441: Grid_Generator_System 2441: ::const_iterator::operator!=(const const_iterator& y) const { 2441: return i != y.i; 2441: } 2441: 2441: inline bool 2441: Grid_Generator_System::empty() const { 2441: return sys.has_no_rows(); 2441: } 2441: 2441: inline 2441: Grid_Generator_System::const_iterator 2441: ::const_iterator(const Linear_System::const_iterator& y) 2441: : i(y) { 2441: } 2441: 2441: inline Grid_Generator_System::const_iterator 2441: Grid_Generator_System::begin() const { 2441: return static_cast(sys.begin()); 2441: } 2441: 2441: inline Grid_Generator_System::const_iterator 2441: Grid_Generator_System::end() const { 2441: return static_cast(sys.end()); 2441: } 2441: 2441: inline const Grid_Generator& 2441: Grid_Generator_System::operator[](const dimension_type k) const { 2441: return sys[k]; 2441: } 2441: 2441: inline bool 2441: Grid_Generator_System::has_no_rows() const { 2441: return sys.has_no_rows(); 2441: } 2441: 2441: inline void 2441: Grid_Generator_System::remove_trailing_rows(dimension_type n) { 2441: sys.remove_trailing_rows(n); 2441: } 2441: 2441: inline void 2441: Grid_Generator_System::insert_verbatim(const Grid_Generator& g) { 2441: sys.insert(g); 2441: } 2441: 2441: inline Topology 2441: Grid_Generator_System::topology() const { 2441: return sys.topology(); 2441: } 2441: 2441: inline dimension_type 2441: Grid_Generator_System::first_pending_row() const { 2441: return sys.first_pending_row(); 2441: } 2441: 2441: 2441: inline bool 2441: operator==(const Grid_Generator_System& x, 2441: const Grid_Generator_System& y) { 2441: return x.is_equal_to(y); 2441: } 2441: 2441: 2441: inline void 2441: swap(Grid_Generator_System& x, Grid_Generator_System& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 39 "../../src/Grid_defs.hh" 2 2441: 2441: 2441: 2441: # 1 "../../src/Grid_Certificate_types.hh" 1 2441: # 16 "../../src/Grid_Certificate_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class Grid_Certificate; 2441: 2441: } 2441: # 43 "../../src/Grid_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: # 63 "../../src/Grid_defs.hh" 2441: std::ostream& 2441: operator<<(std::ostream& s, const Grid& gr); 2441: 2441: } 2441: 2441: 2441: 2441: void swap(Grid& x, Grid& y); 2441: # 80 "../../src/Grid_defs.hh" 2441: bool operator==(const Grid& x, const Grid& y); 2441: # 90 "../../src/Grid_defs.hh" 2441: bool operator!=(const Grid& x, const Grid& y); 2441: 2441: } 2441: # 363 "../../src/Grid_defs.hh" 2441: class Parma_Polyhedra_Library::Grid { 2441: public: 2441: 2441: typedef Coefficient coefficient_type; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: 2441: 2441: 2441: static bool can_recycle_congruence_systems(); 2441: 2441: 2441: 2441: 2441: 2441: static bool can_recycle_constraint_systems(); 2441: # 395 "../../src/Grid_defs.hh" 2441: explicit Grid(dimension_type num_dimensions = 0, 2441: Degenerate_Element kind = UNIVERSE); 2441: # 409 "../../src/Grid_defs.hh" 2441: explicit Grid(const Congruence_System& cgs); 2441: # 427 "../../src/Grid_defs.hh" 2441: Grid(Congruence_System& cgs, Recycle_Input dummy); 2441: # 443 "../../src/Grid_defs.hh" 2441: explicit Grid(const Constraint_System& cs); 2441: # 464 "../../src/Grid_defs.hh" 2441: Grid(Constraint_System& cs, Recycle_Input dummy); 2441: # 480 "../../src/Grid_defs.hh" 2441: explicit Grid(const Grid_Generator_System& ggs); 2441: # 500 "../../src/Grid_defs.hh" 2441: Grid(Grid_Generator_System& ggs, Recycle_Input dummy); 2441: # 518 "../../src/Grid_defs.hh" 2441: template 2441: explicit Grid(const Box& box, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 538 "../../src/Grid_defs.hh" 2441: template 2441: explicit Grid(const BD_Shape& bd, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 558 "../../src/Grid_defs.hh" 2441: template 2441: explicit Grid(const Octagonal_Shape& os, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 580 "../../src/Grid_defs.hh" 2441: explicit Grid(const Polyhedron& ph, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: Grid(const Grid& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: Grid& operator=(const Grid& y); 2441: 2441: 2441: 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type affine_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: Constraint_System constraints() const; 2441: 2441: 2441: 2441: 2441: 2441: Constraint_System minimized_constraints() const; 2441: 2441: 2441: const Congruence_System& congruences() const; 2441: 2441: 2441: const Congruence_System& minimized_congruences() const; 2441: 2441: 2441: const Grid_Generator_System& grid_generators() const; 2441: 2441: 2441: const Grid_Generator_System& minimized_grid_generators() const; 2441: # 640 "../../src/Grid_defs.hh" 2441: Poly_Con_Relation relation_with(const Congruence& cg) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Gen_Relation 2441: relation_with(const Grid_Generator& g) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Gen_Relation 2441: relation_with(const Generator& g) const; 2441: # 668 "../../src/Grid_defs.hh" 2441: Poly_Con_Relation relation_with(const Constraint& c) const; 2441: 2441: 2441: bool is_empty() const; 2441: 2441: 2441: bool is_universe() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_topologically_closed() const; 2441: # 691 "../../src/Grid_defs.hh" 2441: bool is_disjoint_from(const Grid& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_discrete() const; 2441: 2441: 2441: bool is_bounded() const; 2441: 2441: 2441: 2441: 2441: 2441: bool contains_integer_point() const; 2441: # 717 "../../src/Grid_defs.hh" 2441: bool constrains(Variable var) const; 2441: # 726 "../../src/Grid_defs.hh" 2441: bool bounds_from_above(const Linear_Expression& expr) const; 2441: # 735 "../../src/Grid_defs.hh" 2441: bool bounds_from_below(const Linear_Expression& expr) const; 2441: # 764 "../../src/Grid_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const; 2441: # 798 "../../src/Grid_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& point) const; 2441: # 829 "../../src/Grid_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const; 2441: # 863 "../../src/Grid_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& point) const; 2441: # 897 "../../src/Grid_defs.hh" 2441: bool frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool contains(const Grid& y) const; 2441: # 915 "../../src/Grid_defs.hh" 2441: bool strictly_contains(const Grid& y) const; 2441: # 934 "../../src/Grid_defs.hh" 2441: bool OK(bool check_not_empty = false) const; 2441: # 947 "../../src/Grid_defs.hh" 2441: void add_congruence(const Congruence& cg); 2441: # 957 "../../src/Grid_defs.hh" 2441: void add_grid_generator(const Grid_Generator& g); 2441: # 968 "../../src/Grid_defs.hh" 2441: void add_congruences(const Congruence_System& cgs); 2441: # 983 "../../src/Grid_defs.hh" 2441: void add_recycled_congruences(Congruence_System& cgs); 2441: # 995 "../../src/Grid_defs.hh" 2441: void add_constraint(const Constraint& c); 2441: # 1008 "../../src/Grid_defs.hh" 2441: void add_constraints(const Constraint_System& cs); 2441: # 1025 "../../src/Grid_defs.hh" 2441: void add_recycled_constraints(Constraint_System& cs); 2441: # 1035 "../../src/Grid_defs.hh" 2441: void refine_with_congruence(const Congruence& cg); 2441: # 1045 "../../src/Grid_defs.hh" 2441: void refine_with_congruences(const Congruence_System& cgs); 2441: # 1056 "../../src/Grid_defs.hh" 2441: void refine_with_constraint(const Constraint& c); 2441: # 1066 "../../src/Grid_defs.hh" 2441: void refine_with_constraints(const Constraint_System& cs); 2441: # 1081 "../../src/Grid_defs.hh" 2441: void add_grid_generators(const Grid_Generator_System& gs); 2441: # 1098 "../../src/Grid_defs.hh" 2441: void add_recycled_grid_generators(Grid_Generator_System& gs); 2441: # 1110 "../../src/Grid_defs.hh" 2441: void unconstrain(Variable var); 2441: # 1124 "../../src/Grid_defs.hh" 2441: void unconstrain(const Variables_Set& vars); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void intersection_assign(const Grid& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void upper_bound_assign(const Grid& y); 2441: # 1150 "../../src/Grid_defs.hh" 2441: bool upper_bound_assign_if_exact(const Grid& y); 2441: # 1162 "../../src/Grid_defs.hh" 2441: void difference_assign(const Grid& y); 2441: # 1173 "../../src/Grid_defs.hh" 2441: bool simplify_using_context_assign(const Grid& y); 2441: # 1236 "../../src/Grid_defs.hh" 2441: void affine_image(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1300 "../../src/Grid_defs.hh" 2441: void affine_preimage(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1335 "../../src/Grid_defs.hh" 2441: void 2441: generalized_affine_image(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one(), 2441: Coefficient_traits::const_reference modulus 2441: = Coefficient_zero()); 2441: # 1374 "../../src/Grid_defs.hh" 2441: void 2441: generalized_affine_preimage(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one(), 2441: Coefficient_traits::const_reference modulus 2441: = Coefficient_zero()); 2441: # 1407 "../../src/Grid_defs.hh" 2441: void 2441: generalized_affine_image(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs, 2441: Coefficient_traits::const_reference modulus 2441: = Coefficient_zero()); 2441: # 1438 "../../src/Grid_defs.hh" 2441: void 2441: generalized_affine_preimage(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs, 2441: Coefficient_traits::const_reference modulus 2441: = Coefficient_zero()); 2441: # 1471 "../../src/Grid_defs.hh" 2441: void bounded_affine_image(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1503 "../../src/Grid_defs.hh" 2441: void bounded_affine_preimage(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1516 "../../src/Grid_defs.hh" 2441: void time_elapse_assign(const Grid& y); 2441: # 1563 "../../src/Grid_defs.hh" 2441: void wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p = 0, 2441: unsigned complexity_threshold = 16, 2441: bool wrap_individually = true); 2441: # 1579 "../../src/Grid_defs.hh" 2441: void drop_some_non_integer_points(Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: # 1594 "../../src/Grid_defs.hh" 2441: void drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: 2441: 2441: void topological_closure_assign(); 2441: # 1616 "../../src/Grid_defs.hh" 2441: void congruence_widening_assign(const Grid& y, unsigned* tp = 2441: # 1616 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 1616 "../../src/Grid_defs.hh" 2441: ); 2441: # 1633 "../../src/Grid_defs.hh" 2441: void generator_widening_assign(const Grid& y, unsigned* tp = 2441: # 1633 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 1633 "../../src/Grid_defs.hh" 2441: ); 2441: # 1654 "../../src/Grid_defs.hh" 2441: void widening_assign(const Grid& y, unsigned* tp = 2441: # 1654 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 1654 "../../src/Grid_defs.hh" 2441: ); 2441: # 1676 "../../src/Grid_defs.hh" 2441: void limited_congruence_extrapolation_assign(const Grid& y, 2441: const Congruence_System& cgs, 2441: unsigned* tp = 2441: # 1678 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 1678 "../../src/Grid_defs.hh" 2441: ); 2441: # 1700 "../../src/Grid_defs.hh" 2441: void limited_generator_extrapolation_assign(const Grid& y, 2441: const Congruence_System& cgs, 2441: unsigned* tp = 2441: # 1702 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 1702 "../../src/Grid_defs.hh" 2441: ); 2441: # 1723 "../../src/Grid_defs.hh" 2441: void limited_extrapolation_assign(const Grid& y, 2441: const Congruence_System& cgs, 2441: unsigned* tp = 2441: # 1725 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 1725 "../../src/Grid_defs.hh" 2441: ); 2441: # 1758 "../../src/Grid_defs.hh" 2441: void add_space_dimensions_and_embed(dimension_type m); 2441: # 1786 "../../src/Grid_defs.hh" 2441: void add_space_dimensions_and_project(dimension_type m); 2441: # 1796 "../../src/Grid_defs.hh" 2441: void concatenate_assign(const Grid& y); 2441: # 1808 "../../src/Grid_defs.hh" 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: # 1819 "../../src/Grid_defs.hh" 2441: void remove_higher_space_dimensions(dimension_type new_dimension); 2441: # 1868 "../../src/Grid_defs.hh" 2441: template 2441: void map_space_dimensions(const Partial_Function& pfunc); 2441: # 1894 "../../src/Grid_defs.hh" 2441: void expand_space_dimension(Variable var, dimension_type m); 2441: # 1920 "../../src/Grid_defs.hh" 2441: void fold_space_dimensions(const Variables_Set& vars, Variable dest); 2441: 2441: 2441: 2441: friend bool operator==(const Grid& x, const Grid& y); 2441: 2441: friend class Parma_Polyhedra_Library::Grid_Certificate; 2441: 2441: template friend class Parma_Polyhedra_Library::Box; 2441: 2441: 2441: 2441: 2441: 2441: ~Grid(); 2441: 2441: 2441: 2441: 2441: 2441: void m_swap(Grid& y); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: int32_t hash_code() const; 2441: 2441: 2441: 2441: private: 2441: 2441: 2441: Congruence_System con_sys; 2441: 2441: 2441: Grid_Generator_System gen_sys; 2441: 2441: 2441: # 1 "../../src/Grid_Status_idefs.hh" 1 2441: # 71 "../../src/Grid_Status_idefs.hh" 2441: class Status { 2441: public: 2441: 2441: Status(); 2441: 2441: 2441: 2441: bool test_zero_dim_univ() const; 2441: void reset_zero_dim_univ(); 2441: void set_zero_dim_univ(); 2441: 2441: bool test_empty() const; 2441: void reset_empty(); 2441: void set_empty(); 2441: 2441: bool test_c_up_to_date() const; 2441: void reset_c_up_to_date(); 2441: void set_c_up_to_date(); 2441: 2441: bool test_g_up_to_date() const; 2441: void reset_g_up_to_date(); 2441: void set_g_up_to_date(); 2441: 2441: bool test_c_minimized() const; 2441: void reset_c_minimized(); 2441: void set_c_minimized(); 2441: 2441: bool test_g_minimized() const; 2441: void reset_g_minimized(); 2441: void set_g_minimized(); 2441: 2441: bool test_sat_c_up_to_date() const; 2441: void reset_sat_c_up_to_date(); 2441: void set_sat_c_up_to_date(); 2441: 2441: bool test_sat_g_up_to_date() const; 2441: void reset_sat_g_up_to_date(); 2441: void set_sat_g_up_to_date(); 2441: 2441: bool test_c_pending() const; 2441: void reset_c_pending(); 2441: void set_c_pending(); 2441: 2441: bool test_g_pending() const; 2441: void reset_g_pending(); 2441: void set_g_pending(); 2441: 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: private: 2441: 2441: typedef unsigned int flags_t; 2441: 2441: 2441: 2441: static const flags_t ZERO_DIM_UNIV = 0U; 2441: static const flags_t EMPTY = 1U << 0; 2441: static const flags_t C_UP_TO_DATE = 1U << 1; 2441: static const flags_t G_UP_TO_DATE = 1U << 2; 2441: static const flags_t C_MINIMIZED = 1U << 3; 2441: static const flags_t G_MINIMIZED = 1U << 4; 2441: static const flags_t SAT_C_UP_TO_DATE = 1U << 5; 2441: static const flags_t SAT_G_UP_TO_DATE = 1U << 6; 2441: static const flags_t CS_PENDING = 1U << 7; 2441: static const flags_t GS_PENDING = 1U << 8; 2441: 2441: 2441: 2441: flags_t flags; 2441: 2441: 2441: Status(flags_t mask); 2441: 2441: 2441: bool test_all(flags_t mask) const; 2441: 2441: 2441: bool test_any(flags_t mask) const; 2441: 2441: 2441: void set(flags_t mask); 2441: 2441: 2441: void reset(flags_t mask); 2441: }; 2441: # 1977 "../../src/Grid_defs.hh" 2 2441: 2441: 2441: 2441: Status status; 2441: 2441: 2441: dimension_type space_dim; 2441: 2441: enum Dimension_Kind { 2441: PARAMETER = 0, 2441: LINE = 1, 2441: GEN_VIRTUAL = 2, 2441: PROPER_CONGRUENCE = PARAMETER, 2441: CON_VIRTUAL = LINE, 2441: EQUALITY = GEN_VIRTUAL 2441: }; 2441: 2441: typedef std::vector Dimension_Kinds; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Dimension_Kinds dim_kinds; 2441: # 2012 "../../src/Grid_defs.hh" 2441: void construct(dimension_type num_dimensions, Degenerate_Element kind); 2441: # 2022 "../../src/Grid_defs.hh" 2441: void construct(Congruence_System& cgs); 2441: # 2032 "../../src/Grid_defs.hh" 2441: void construct(Grid_Generator_System& ggs); 2441: # 2042 "../../src/Grid_defs.hh" 2441: bool marked_empty() const; 2441: 2441: 2441: bool congruences_are_up_to_date() const; 2441: 2441: 2441: bool generators_are_up_to_date() const; 2441: 2441: 2441: bool congruences_are_minimized() const; 2441: 2441: 2441: bool generators_are_minimized() const; 2441: # 2065 "../../src/Grid_defs.hh" 2441: void set_zero_dim_univ(); 2441: 2441: 2441: 2441: 2441: 2441: void set_empty(); 2441: 2441: 2441: void set_congruences_up_to_date(); 2441: 2441: 2441: void set_generators_up_to_date(); 2441: 2441: 2441: void set_congruences_minimized(); 2441: 2441: 2441: void set_generators_minimized(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void clear_empty(); 2441: 2441: 2441: void clear_congruences_up_to_date(); 2441: 2441: 2441: void clear_generators_up_to_date(); 2441: 2441: 2441: void clear_congruences_minimized(); 2441: 2441: 2441: void clear_generators_minimized(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void update_congruences() const; 2441: # 2122 "../../src/Grid_defs.hh" 2441: bool update_generators() const; 2441: # 2138 "../../src/Grid_defs.hh" 2441: bool minimize() const; 2441: 2441: 2441: 2441: enum Three_Valued_Boolean { 2441: TVB_TRUE, 2441: TVB_FALSE, 2441: TVB_DONT_KNOW 2441: }; 2441: 2441: 2441: Three_Valued_Boolean quick_equivalence_test(const Grid& y) const; 2441: 2441: 2441: bool is_included_in(const Grid& y) const; 2441: # 2172 "../../src/Grid_defs.hh" 2441: bool bounds(const Linear_Expression& expr, const char* method_call) const; 2441: # 2206 "../../src/Grid_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: const char* method_call, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included, 2441: Generator* point = 2441: # 2209 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 2209 "../../src/Grid_defs.hh" 2441: ) const; 2441: # 2243 "../../src/Grid_defs.hh" 2441: bool frequency_no_check(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const; 2441: # 2257 "../../src/Grid_defs.hh" 2441: bool bounds_no_check(const Linear_Expression& expr) const; 2441: # 2267 "../../src/Grid_defs.hh" 2441: void add_congruence_no_check(const Congruence& cg); 2441: # 2282 "../../src/Grid_defs.hh" 2441: void add_constraint_no_check(const Constraint& c); 2441: # 2295 "../../src/Grid_defs.hh" 2441: void refine_no_check(const Constraint& c); 2441: 2441: 2441: 2441: 2441: 2441: void select_wider_congruences(const Grid& y, 2441: Congruence_System& selected_cgs) const; 2441: 2441: 2441: void select_wider_generators(const Grid& y, 2441: Grid_Generator_System& widened_ggs) const; 2441: # 2324 "../../src/Grid_defs.hh" 2441: void add_space_dimensions(Congruence_System& cgs, 2441: Grid_Generator_System& gs, 2441: dimension_type dims); 2441: # 2342 "../../src/Grid_defs.hh" 2441: void add_space_dimensions(Grid_Generator_System& gs, 2441: Congruence_System& cgs, 2441: dimension_type dims); 2441: # 2367 "../../src/Grid_defs.hh" 2441: static void 2441: normalize_divisors(Grid_Generator_System& sys, 2441: Coefficient& divisor, 2441: const Grid_Generator* first_point = 2441: # 2370 "../../src/Grid_defs.hh" 3 4 2441: __null 2441: # 2370 "../../src/Grid_defs.hh" 2441: ); 2441: # 2381 "../../src/Grid_defs.hh" 2441: static void 2441: normalize_divisors(Grid_Generator_System& sys); 2441: # 2401 "../../src/Grid_defs.hh" 2441: static void normalize_divisors(Grid_Generator_System& sys, 2441: Grid_Generator_System& gen_sys); 2441: 2441: 2441: 2441: 2441: 2441: static void conversion(Congruence_System& source, 2441: Grid_Generator_System& dest, 2441: Dimension_Kinds& dim_kinds); 2441: 2441: 2441: 2441: 2441: 2441: static void conversion(Grid_Generator_System& source, 2441: Congruence_System& dest, 2441: Dimension_Kinds& dim_kinds); 2441: 2441: 2441: 2441: 2441: 2441: 2441: static bool simplify(Congruence_System& cgs, 2441: Dimension_Kinds& dim_kinds); 2441: 2441: 2441: 2441: 2441: 2441: static void simplify(Grid_Generator_System& ggs, 2441: Dimension_Kinds& dim_kinds); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void reduce_line_with_line(Grid_Generator& row, 2441: Grid_Generator& pivot, 2441: dimension_type column); 2441: # 2452 "../../src/Grid_defs.hh" 2441: static void reduce_equality_with_equality(Congruence& row, 2441: const Congruence& pivot, 2441: dimension_type column); 2441: # 2469 "../../src/Grid_defs.hh" 2441: template 2441: static void reduce_pc_with_pc(R& row, 2441: R& pivot, 2441: dimension_type column, 2441: dimension_type start, 2441: dimension_type end); 2441: # 2486 "../../src/Grid_defs.hh" 2441: static void reduce_parameter_with_line(Grid_Generator& row, 2441: const Grid_Generator& pivot, 2441: dimension_type column, 2441: Swapping_Vector& sys, 2441: dimension_type num_columns); 2441: # 2501 "../../src/Grid_defs.hh" 2441: static void reduce_congruence_with_equality(Congruence& row, 2441: const Congruence& pivot, 2441: dimension_type column, 2441: Swapping_Vector& sys); 2441: # 2539 "../../src/Grid_defs.hh" 2441: template 2441: 2441: 2441: 2441: 2441: static void reduce_reduced(Swapping_Vector& sys, 2441: dimension_type dim, 2441: dimension_type pivot_index, 2441: dimension_type start, dimension_type end, 2441: const Dimension_Kinds& sys_dim_kinds, 2441: bool generators = true); 2441: 2441: 2441: 2441: 2441: 2441: static void multiply_grid(const Coefficient& multiplier, 2441: Congruence& cg, 2441: Swapping_Vector& dest, 2441: dimension_type num_rows); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: static void multiply_grid(const Coefficient& multiplier, 2441: Grid_Generator& gen, 2441: Swapping_Vector& dest, 2441: dimension_type num_rows); 2441: 2441: 2441: 2441: 2441: 2441: static bool lower_triangular(const Congruence_System& sys, 2441: const Dimension_Kinds& dim_kinds); 2441: 2441: 2441: 2441: 2441: 2441: static bool upper_triangular(const Grid_Generator_System& sys, 2441: const Dimension_Kinds& dim_kinds); 2441: # 2608 "../../src/Grid_defs.hh" 2441: protected: 2441: void throw_dimension_incompatible(const char* method, 2441: const char* other_name, 2441: dimension_type other_dim) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* gr_name, 2441: const Grid& gr) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* cg_name, 2441: const Congruence& cg) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* c_name, 2441: const Constraint& c) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* g_name, 2441: const Grid_Generator& g) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* g_name, 2441: const Generator& g) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* cgs_name, 2441: const Congruence_System& cgs) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* cs_name, 2441: const Constraint_System& cs) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* gs_name, 2441: const Grid_Generator_System& gs) const; 2441: void throw_dimension_incompatible(const char* method, 2441: const char* var_name, 2441: Variable var) const; 2441: void throw_dimension_incompatible(const char* method, 2441: dimension_type required_space_dim) const; 2441: 2441: static void throw_invalid_argument(const char* method, 2441: const char* reason); 2441: static void throw_invalid_constraint(const char* method, 2441: const char* c_name); 2441: static void throw_invalid_constraints(const char* method, 2441: const char* cs_name); 2441: static void throw_invalid_generator(const char* method, 2441: const char* g_name); 2441: static void throw_invalid_generators(const char* method, 2441: const char* gs_name); 2441: 2441: 2441: 2441: 2441: }; 2441: 2441: # 1 "../../src/Grid_Status_inlines.hh" 1 2441: # 27 "../../src/Grid_Status_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: Grid::Status::Status(flags_t mask) 2441: : flags(mask) { 2441: } 2441: 2441: inline 2441: Grid::Status::Status() 2441: : flags(ZERO_DIM_UNIV) { 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_all(flags_t mask) const { 2441: return (flags & mask) == mask; 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_any(flags_t mask) const { 2441: return (flags & mask) != 0; 2441: } 2441: 2441: inline void 2441: Grid::Status::set(flags_t mask) { 2441: flags |= mask; 2441: } 2441: 2441: inline void 2441: Grid::Status::reset(flags_t mask) { 2441: flags &= ~mask; 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_zero_dim_univ() const { 2441: return flags == ZERO_DIM_UNIV; 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_zero_dim_univ() { 2441: 2441: if (flags == ZERO_DIM_UNIV) { 2441: 2441: flags = EMPTY; 2441: } 2441: } 2441: 2441: inline void 2441: Grid::Status::set_zero_dim_univ() { 2441: 2441: flags = ZERO_DIM_UNIV; 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_empty() const { 2441: return test_any(EMPTY); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_empty() { 2441: reset(EMPTY); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_empty() { 2441: flags = EMPTY; 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_c_up_to_date() const { 2441: return test_any(C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_c_up_to_date() { 2441: reset(C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_c_up_to_date() { 2441: set(C_UP_TO_DATE); 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_g_up_to_date() const { 2441: return test_any(G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_g_up_to_date() { 2441: reset(G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_g_up_to_date() { 2441: set(G_UP_TO_DATE); 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_c_minimized() const { 2441: return test_any(C_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_c_minimized() { 2441: reset(C_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_c_minimized() { 2441: set(C_MINIMIZED); 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_g_minimized() const { 2441: return test_any(G_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_g_minimized() { 2441: reset(G_MINIMIZED); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_g_minimized() { 2441: set(G_MINIMIZED); 2441: } 2441: 2441: 2441: inline bool 2441: Grid::Status::test_c_pending() const { 2441: return test_any(CS_PENDING); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_c_pending() { 2441: reset(CS_PENDING); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_c_pending() { 2441: set(CS_PENDING); 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_g_pending() const { 2441: return test_any(GS_PENDING); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_g_pending() { 2441: reset(GS_PENDING); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_g_pending() { 2441: set(GS_PENDING); 2441: } 2441: 2441: 2441: inline bool 2441: Grid::Status::test_sat_c_up_to_date() const { 2441: return test_any(SAT_C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_sat_c_up_to_date() { 2441: reset(SAT_C_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_sat_c_up_to_date() { 2441: set(SAT_C_UP_TO_DATE); 2441: } 2441: 2441: inline bool 2441: Grid::Status::test_sat_g_up_to_date() const { 2441: return test_any(SAT_G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::reset_sat_g_up_to_date() { 2441: reset(SAT_G_UP_TO_DATE); 2441: } 2441: 2441: inline void 2441: Grid::Status::set_sat_g_up_to_date() { 2441: set(SAT_G_UP_TO_DATE); 2441: } 2441: 2441: } 2441: # 2662 "../../src/Grid_defs.hh" 2 2441: # 1 "../../src/Grid_inlines.hh" 1 2441: # 32 "../../src/Grid_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline bool 2441: Grid::marked_empty() const { 2441: return status.test_empty(); 2441: } 2441: 2441: inline bool 2441: Grid::congruences_are_up_to_date() const { 2441: return status.test_c_up_to_date(); 2441: } 2441: 2441: inline bool 2441: Grid::generators_are_up_to_date() const { 2441: return status.test_g_up_to_date(); 2441: } 2441: 2441: inline bool 2441: Grid::congruences_are_minimized() const { 2441: return status.test_c_minimized(); 2441: } 2441: 2441: inline bool 2441: Grid::generators_are_minimized() const { 2441: return status.test_g_minimized(); 2441: } 2441: 2441: inline void 2441: Grid::set_generators_up_to_date() { 2441: status.set_g_up_to_date(); 2441: } 2441: 2441: inline void 2441: Grid::set_congruences_up_to_date() { 2441: status.set_c_up_to_date(); 2441: } 2441: 2441: inline void 2441: Grid::set_congruences_minimized() { 2441: set_congruences_up_to_date(); 2441: status.set_c_minimized(); 2441: } 2441: 2441: inline void 2441: Grid::set_generators_minimized() { 2441: set_generators_up_to_date(); 2441: status.set_g_minimized(); 2441: } 2441: 2441: inline void 2441: Grid::clear_empty() { 2441: status.reset_empty(); 2441: } 2441: 2441: inline void 2441: Grid::clear_congruences_minimized() { 2441: status.reset_c_minimized(); 2441: } 2441: 2441: inline void 2441: Grid::clear_generators_minimized() { 2441: status.reset_g_minimized(); 2441: } 2441: 2441: inline void 2441: Grid::clear_congruences_up_to_date() { 2441: clear_congruences_minimized(); 2441: status.reset_c_up_to_date(); 2441: 2441: } 2441: 2441: inline void 2441: Grid::clear_generators_up_to_date() { 2441: clear_generators_minimized(); 2441: status.reset_g_up_to_date(); 2441: 2441: } 2441: 2441: inline dimension_type 2441: Grid::max_space_dimension() { 2441: 2441: 2441: return std::min(std::numeric_limits::max() - 1, 2441: std::min(Congruence_System::max_space_dimension(), 2441: Grid_Generator_System::max_space_dimension() 2441: ) 2441: ); 2441: } 2441: 2441: inline 2441: Grid::Grid(dimension_type num_dimensions, 2441: const Degenerate_Element kind) 2441: : con_sys(), 2441: gen_sys(check_space_dimension_overflow(num_dimensions, 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(n, k)", 2441: "n exceeds the maximum " 2441: "allowed space dimension")) { 2441: construct(num_dimensions, kind); 2441: ((void) 0); 2441: } 2441: 2441: inline 2441: Grid::Grid(const Congruence_System& cgs) 2441: : con_sys(check_space_dimension_overflow(cgs.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(cgs)", 2441: "the space dimension of cgs " 2441: "exceeds the maximum allowed " 2441: "space dimension")), 2441: gen_sys(cgs.space_dimension()) { 2441: Congruence_System cgs_copy(cgs); 2441: construct(cgs_copy); 2441: } 2441: 2441: inline 2441: Grid::Grid(Congruence_System& cgs, Recycle_Input) 2441: : con_sys(check_space_dimension_overflow(cgs.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(cgs, recycle)", 2441: "the space dimension of cgs " 2441: "exceeds the maximum allowed " 2441: "space dimension")), 2441: gen_sys(cgs.space_dimension()) { 2441: construct(cgs); 2441: } 2441: 2441: inline 2441: Grid::Grid(const Grid_Generator_System& ggs) 2441: : con_sys(check_space_dimension_overflow(ggs.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(ggs)", 2441: "the space dimension of ggs " 2441: "exceeds the maximum allowed " 2441: "space dimension")), 2441: gen_sys(ggs.space_dimension()) { 2441: Grid_Generator_System ggs_copy(ggs); 2441: construct(ggs_copy); 2441: } 2441: 2441: inline 2441: Grid::Grid(Grid_Generator_System& ggs, Recycle_Input) 2441: : con_sys(check_space_dimension_overflow(ggs.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(ggs, recycle)", 2441: "the space dimension of ggs " 2441: "exceeds the maximum allowed " 2441: "space dimension")), 2441: gen_sys(ggs.space_dimension()) { 2441: construct(ggs); 2441: } 2441: 2441: template 2441: inline 2441: Grid::Grid(const BD_Shape& bd, Complexity_Class) 2441: : con_sys(check_space_dimension_overflow(bd.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(bd)", 2441: "the space dimension of bd " 2441: "exceeds the maximum allowed " 2441: "space dimension")), 2441: gen_sys(bd.space_dimension()) { 2441: Congruence_System cgs = bd.congruences(); 2441: construct(cgs); 2441: } 2441: 2441: template 2441: inline 2441: Grid::Grid(const Octagonal_Shape& os, Complexity_Class) 2441: : con_sys(check_space_dimension_overflow(os.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(os)", 2441: "the space dimension of os " 2441: "exceeds the maximum allowed " 2441: "space dimension")), 2441: gen_sys(os.space_dimension()) { 2441: Congruence_System cgs = os.congruences(); 2441: construct(cgs); 2441: } 2441: 2441: inline 2441: Grid::~Grid() { 2441: } 2441: 2441: inline dimension_type 2441: Grid::space_dimension() const { 2441: return space_dim; 2441: } 2441: 2441: inline memory_size_type 2441: Grid::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: inline int32_t 2441: Grid::hash_code() const { 2441: return hash_code_from_dimension(space_dimension()); 2441: } 2441: 2441: inline Constraint_System 2441: Grid::constraints() const { 2441: return Constraint_System(congruences()); 2441: } 2441: 2441: inline Constraint_System 2441: Grid::minimized_constraints() const { 2441: return Constraint_System(minimized_congruences()); 2441: } 2441: 2441: inline void 2441: Grid::m_swap(Grid& y) { 2441: using std::swap; 2441: swap(con_sys, y.con_sys); 2441: swap(gen_sys, y.gen_sys); 2441: swap(status, y.status); 2441: swap(space_dim, y.space_dim); 2441: swap(dim_kinds, y.dim_kinds); 2441: } 2441: 2441: inline void 2441: Grid::add_congruence(const Congruence& cg) { 2441: 2441: if (space_dim < cg.space_dimension()) { 2441: throw_dimension_incompatible("add_congruence(cg)", "cg", cg); 2441: } 2441: 2441: if (!marked_empty()) { 2441: add_congruence_no_check(cg); 2441: } 2441: } 2441: 2441: inline void 2441: Grid::add_congruences(const Congruence_System& cgs) { 2441: 2441: 2441: if (space_dim < cgs.space_dimension()) { 2441: throw_dimension_incompatible("add_congruences(cgs)", "cgs", cgs); 2441: } 2441: 2441: if (!marked_empty()) { 2441: Congruence_System cgs_copy = cgs; 2441: add_recycled_congruences(cgs_copy); 2441: } 2441: } 2441: 2441: inline void 2441: Grid::refine_with_congruence(const Congruence& cg) { 2441: add_congruence(cg); 2441: } 2441: 2441: inline void 2441: Grid::refine_with_congruences(const Congruence_System& cgs) { 2441: add_congruences(cgs); 2441: } 2441: 2441: inline bool 2441: Grid::can_recycle_constraint_systems() { 2441: return true; 2441: } 2441: 2441: inline bool 2441: Grid::can_recycle_congruence_systems() { 2441: return true; 2441: } 2441: 2441: inline void 2441: Grid::add_constraint(const Constraint& c) { 2441: 2441: if (space_dim < c.space_dimension()) { 2441: throw_dimension_incompatible("add_constraint(c)", "c", c); 2441: } 2441: if (!marked_empty()) { 2441: add_constraint_no_check(c); 2441: } 2441: } 2441: 2441: inline void 2441: Grid::add_recycled_constraints(Constraint_System& cs) { 2441: 2441: add_constraints(cs); 2441: } 2441: 2441: inline bool 2441: Grid::bounds_from_above(const Linear_Expression& expr) const { 2441: return bounds(expr, "bounds_from_above(e)"); 2441: } 2441: 2441: inline bool 2441: Grid::bounds_from_below(const Linear_Expression& expr) const { 2441: return bounds(expr, "bounds_from_below(e)"); 2441: } 2441: 2441: inline bool 2441: Grid::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const { 2441: return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum); 2441: } 2441: 2441: inline bool 2441: Grid::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& point) const { 2441: return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum, &point); 2441: } 2441: 2441: inline bool 2441: Grid::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const { 2441: return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum); 2441: } 2441: 2441: inline bool 2441: Grid::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& point) const { 2441: return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum, &point); 2441: } 2441: 2441: inline void 2441: Grid::normalize_divisors(Grid_Generator_System& sys) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_divisor; Parma_Polyhedra_Library::Coefficient& divisor = holder_divisor.item(); 2441: divisor = 1; 2441: normalize_divisors(sys, divisor); 2441: } 2441: 2441: 2441: inline bool 2441: operator!=(const Grid& x, const Grid& y) { 2441: return !(x == y); 2441: } 2441: 2441: inline bool 2441: Grid::strictly_contains(const Grid& y) const { 2441: const Grid& x = *this; 2441: return x.contains(y) && !y.contains(x); 2441: } 2441: 2441: inline void 2441: Grid::topological_closure_assign() { 2441: } 2441: 2441: 2441: inline void 2441: swap(Grid& x, Grid& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 2663 "../../src/Grid_defs.hh" 2 2441: # 1 "../../src/Grid_templates.hh" 1 2441: # 33 "../../src/Grid_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Grid::Grid(const Box& box, Complexity_Class) 2441: : con_sys(), 2441: gen_sys() { 2441: space_dim = check_space_dimension_overflow(box.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Grid::", 2441: "Grid(box, from_bounding_box)", 2441: "the space dimension of box " 2441: "exceeds the maximum allowed " 2441: "space dimension"); 2441: 2441: if (box.is_empty()) { 2441: 2441: set_empty(); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (space_dim == 0) { 2441: set_zero_dim_univ(); 2441: } 2441: else { 2441: 2441: con_sys.set_space_dimension(space_dim); 2441: gen_sys.set_space_dimension(space_dim); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_l_n; Parma_Polyhedra_Library::Coefficient& l_n = holder_l_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_l_d; Parma_Polyhedra_Library::Coefficient& l_d = holder_l_d.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_u_n; Parma_Polyhedra_Library::Coefficient& u_n = holder_u_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_u_d; Parma_Polyhedra_Library::Coefficient& u_d = holder_u_d.item(); 2441: gen_sys.insert(grid_point()); 2441: for (dimension_type k = space_dim; k-- > 0; ) { 2441: const Variable v_k = Variable(k); 2441: bool closed = false; 2441: 2441: if (box.has_lower_bound(v_k, l_n, l_d, closed)) { 2441: if (box.has_upper_bound(v_k, u_n, u_d, closed)) { 2441: if (l_n * u_d == u_n * l_d) { 2441: 2441: 2441: con_sys.insert(l_d * v_k == l_n); 2441: 2441: 2441: 2441: Grid_Generator& point = gen_sys.sys.rows[0]; 2441: 2441: 2441: 2441: const Coefficient& point_divisor = point.divisor(); 2441: gcd_assign(u_n, l_d, point_divisor); 2441: 2441: exact_div_assign(u_n, point_divisor, u_n); 2441: if (l_d < 0) { 2441: neg_assign(u_n); 2441: } 2441: 2441: point.scale_to_divisor(l_d * u_n); 2441: 2441: if (l_d < 0) { 2441: neg_assign(u_n); 2441: } 2441: 2441: point.expr.set(Variable(k), l_n * u_n); 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: 2441: continue; 2441: } 2441: } 2441: } 2441: 2441: gen_sys.insert(grid_line(v_k)); 2441: } 2441: set_congruences_up_to_date(); 2441: set_generators_up_to_date(); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Grid::map_space_dimensions(const Partial_Function& pfunc) { 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: if (pfunc.has_empty_codomain()) { 2441: 2441: if (marked_empty() 2441: || (!generators_are_up_to_date() && !update_generators())) { 2441: 2441: space_dim = 0; 2441: set_empty(); 2441: } 2441: else { 2441: 2441: set_zero_dim_univ(); 2441: } 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: dimension_type new_space_dimension = pfunc.max_in_codomain() + 1; 2441: 2441: if (new_space_dimension == space_dim) { 2441: 2441: 2441: 2441: 2441: 2441: std::vector cycle; 2441: cycle.reserve(space_dim); 2441: 2441: 2441: std::deque visited(space_dim); 2441: 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: if (!visited[i]) { 2441: dimension_type j = i; 2441: do { 2441: visited[j] = true; 2441: 2441: dimension_type k = 0; 2441: if (!pfunc.maps(j, k)) { 2441: throw_invalid_argument("map_space_dimensions(pfunc)", 2441: " pfunc is inconsistent"); 2441: } 2441: if (k == j) { 2441: break; 2441: } 2441: 2441: cycle.push_back(Variable(j)); 2441: 2441: j = k; 2441: } while (!visited[j]); 2441: 2441: 2441: 2441: 2441: 2441: if (cycle.size() >= 2) { 2441: 2441: if (congruences_are_up_to_date()) { 2441: con_sys.permute_space_dimensions(cycle); 2441: clear_congruences_minimized(); 2441: } 2441: 2441: if (generators_are_up_to_date()) { 2441: gen_sys.permute_space_dimensions(cycle); 2441: clear_generators_minimized(); 2441: } 2441: } 2441: 2441: cycle.clear(); 2441: } 2441: } 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: const Grid_Generator_System& old_gensys = grid_generators(); 2441: 2441: if (old_gensys.has_no_rows()) { 2441: 2441: Grid new_grid(new_space_dimension, EMPTY); 2441: m_swap(new_grid); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: std::vector pfunc_maps(space_dim, not_a_dimension()); 2441: for (dimension_type j = space_dim; j-- > 0; ) { 2441: dimension_type pfunc_j; 2441: if (pfunc.maps(j, pfunc_j)) { 2441: pfunc_maps[j] = pfunc_j; 2441: } 2441: } 2441: 2441: Grid_Generator_System new_gensys; 2441: 2441: new_gensys.set_sorted(false); 2441: 2441: Grid_Generator_System::const_iterator i; 2441: Grid_Generator_System::const_iterator old_gensys_end = old_gensys.end(); 2441: for (i = old_gensys.begin(); i != old_gensys_end; ++i) { 2441: if (i->is_point()) { 2441: break; 2441: } 2441: } 2441: ((void) 0); 2441: const Coefficient& system_divisor = i->divisor(); 2441: for (i = old_gensys.begin(); i != old_gensys_end; ++i) { 2441: const Grid_Generator& old_g = *i; 2441: const Grid_Generator::expr_type old_g_e = old_g.expression(); 2441: Linear_Expression expr; 2441: expr.set_space_dimension(new_space_dimension); 2441: bool all_zeroes = true; 2441: for (Grid_Generator::expr_type::const_iterator j = old_g_e.begin(), 2441: j_end = old_g_e.end(); j != j_end; ++j) { 2441: const dimension_type mapped_id = pfunc_maps[j.variable().id()]; 2441: if (mapped_id != not_a_dimension()) { 2441: add_mul_assign(expr, *j, Variable(mapped_id)); 2441: all_zeroes = false; 2441: } 2441: } 2441: switch (old_g.type()) { 2441: case Grid_Generator::LINE: 2441: if (!all_zeroes) { 2441: new_gensys.insert(grid_line(expr)); 2441: } 2441: break; 2441: case Grid_Generator::PARAMETER: 2441: if (!all_zeroes) { 2441: new_gensys.insert(parameter(expr, system_divisor)); 2441: } 2441: break; 2441: case Grid_Generator::POINT: 2441: new_gensys.insert(grid_point(expr, old_g.divisor())); 2441: break; 2441: } 2441: } 2441: 2441: Grid new_grid(new_gensys); 2441: m_swap(new_grid); 2441: 2441: ((void) 0); 2441: } 2441: 2441: 2441: 2441: template 2441: void 2441: Grid::reduce_reduced(Swapping_Vector& rows, 2441: const dimension_type dim, 2441: const dimension_type pivot_index, 2441: const dimension_type start, 2441: const dimension_type end, 2441: const Dimension_Kinds& sys_dim_kinds, 2441: const bool generators) { 2441: 2441: typedef typename M::row_type M_row_type; 2441: 2441: const M_row_type& pivot = rows[pivot_index]; 2441: const Coefficient& pivot_dim = pivot.expr.get(dim); 2441: 2441: if (pivot_dim == 0) { 2441: return; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_pivot_dim_half; Parma_Polyhedra_Library::Coefficient& pivot_dim_half = holder_pivot_dim_half.item(); 2441: pivot_dim_half = (pivot_dim + 1) / 2; 2441: const Dimension_Kind row_kind = sys_dim_kinds[dim]; 2441: const bool row_is_line_or_equality 2441: = (row_kind == (generators ? LINE : EQUALITY)); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_num_rows_to_subtract; Parma_Polyhedra_Library::Coefficient& num_rows_to_subtract = holder_num_rows_to_subtract.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_row_dim_remainder; Parma_Polyhedra_Library::Coefficient& row_dim_remainder = holder_row_dim_remainder.item(); 2441: for (dimension_type kinds_index = dim, 2441: row_index = pivot_index; row_index-- > 0; ) { 2441: if (generators) { 2441: --kinds_index; 2441: 2441: while (sys_dim_kinds[kinds_index] == GEN_VIRTUAL) { 2441: --kinds_index; 2441: } 2441: } 2441: else { 2441: ++kinds_index; 2441: 2441: while (sys_dim_kinds[kinds_index] == CON_VIRTUAL) { 2441: ++kinds_index; 2441: } 2441: } 2441: 2441: 2441: if (row_is_line_or_equality 2441: || (row_kind == PARAMETER 2441: && sys_dim_kinds[kinds_index] == PARAMETER)) { 2441: M_row_type& row = rows[row_index]; 2441: 2441: const Coefficient& row_dim = row.expr.get(dim); 2441: 2441: num_rows_to_subtract = row_dim / pivot_dim; 2441: 2441: 2441: 2441: 2441: 2441: row_dim_remainder = row_dim % pivot_dim; 2441: if (row_dim_remainder < 0) { 2441: if (row_dim_remainder <= -pivot_dim_half) { 2441: --num_rows_to_subtract; 2441: } 2441: } 2441: else if (row_dim_remainder > 0 && row_dim_remainder > pivot_dim_half) { 2441: ++num_rows_to_subtract; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: if (num_rows_to_subtract != 0) { 2441: row.expr.linear_combine(pivot.expr, 2441: Coefficient_one(), -num_rows_to_subtract, 2441: start, end + 1); 2441: } 2441: } 2441: } 2441: } 2441: 2441: } 2441: # 2664 "../../src/Grid_defs.hh" 2 2441: # 36 "../../src/Box_templates.hh" 2 2441: 2441: 2441: # 1 "../../src/BD_Shape_defs.hh" 1 2441: # 44 "../../src/BD_Shape_defs.hh" 2441: # 1 "../../src/DB_Matrix_defs.hh" 1 2441: # 27 "../../src/DB_Matrix_defs.hh" 2441: # 1 "../../src/DB_Matrix_types.hh" 1 2441: # 16 "../../src/DB_Matrix_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class DB_Matrix; 2441: 2441: } 2441: # 28 "../../src/DB_Matrix_defs.hh" 2 2441: 2441: # 1 "../../src/DB_Row_defs.hh" 1 2441: # 27 "../../src/DB_Row_defs.hh" 2441: # 1 "../../src/DB_Row_types.hh" 1 2441: # 16 "../../src/DB_Row_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class DB_Row_Impl_Handler; 2441: 2441: template 2441: class DB_Row; 2441: 2441: } 2441: # 28 "../../src/DB_Row_defs.hh" 2 2441: 2441: # 1 "../../src/Ptr_Iterator_defs.hh" 1 2441: # 27 "../../src/Ptr_Iterator_defs.hh" 2441: # 1 "../../src/Ptr_Iterator_types.hh" 1 2441: # 16 "../../src/Ptr_Iterator_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Implementation { 2441: 2441: template 2441: class Ptr_Iterator; 2441: 2441: } 2441: 2441: } 2441: # 28 "../../src/Ptr_Iterator_defs.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Implementation { 2441: 2441: template 2441: bool operator==(const Ptr_Iterator

& x, const Ptr_Iterator& y); 2441: 2441: template 2441: bool operator!=(const Ptr_Iterator

& x, const Ptr_Iterator& y); 2441: 2441: template 2441: bool operator<(const Ptr_Iterator

& x, const Ptr_Iterator& y); 2441: 2441: template 2441: bool operator<=(const Ptr_Iterator

& x, const Ptr_Iterator& y); 2441: 2441: template 2441: bool operator>(const Ptr_Iterator

& x, const Ptr_Iterator& y); 2441: 2441: template 2441: bool operator>=(const Ptr_Iterator

& x, const Ptr_Iterator& y); 2441: 2441: template 2441: typename Ptr_Iterator

::difference_type 2441: operator-(const Ptr_Iterator

& x, const Ptr_Iterator& y); 2441: 2441: template 2441: Ptr_Iterator

operator+(typename Ptr_Iterator

::difference_type m, 2441: const Ptr_Iterator

& y); 2441: 2441: } 2441: 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: class Parma_Polyhedra_Library::Implementation::Ptr_Iterator 2441: : public std::iterator::iterator_category, 2441: typename std::iterator_traits

::value_type, 2441: typename std::iterator_traits

::difference_type, 2441: typename std::iterator_traits

::pointer, 2441: typename std::iterator_traits

::reference> { 2441: public: 2441: typedef typename std::iterator_traits

::difference_type difference_type; 2441: typedef typename std::iterator_traits

::reference reference; 2441: typedef typename std::iterator_traits

::pointer pointer; 2441: 2441: 2441: Ptr_Iterator(); 2441: 2441: 2441: explicit Ptr_Iterator(const P& q); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: Ptr_Iterator(const Ptr_Iterator& q); 2441: 2441: 2441: reference operator*() const; 2441: 2441: 2441: pointer operator->() const; 2441: 2441: 2441: reference operator[](const difference_type m) const; 2441: 2441: 2441: Ptr_Iterator& operator++(); 2441: 2441: 2441: Ptr_Iterator operator++(int); 2441: 2441: 2441: Ptr_Iterator& operator--(); 2441: 2441: 2441: Ptr_Iterator operator--(int); 2441: 2441: 2441: Ptr_Iterator& operator+=(const difference_type m); 2441: 2441: 2441: Ptr_Iterator& operator-=(const difference_type m); 2441: 2441: 2441: difference_type operator-(const Ptr_Iterator& y) const; 2441: 2441: 2441: Ptr_Iterator operator+(const difference_type m) const; 2441: 2441: 2441: Ptr_Iterator operator-(const difference_type m) const; 2441: 2441: private: 2441: 2441: P p; 2441: 2441: 2441: const P& base() const; 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library::Implementation:: 2441: operator==(const Ptr_Iterator& x, const Ptr_Iterator& y); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library::Implementation:: 2441: operator!=(const Ptr_Iterator& x, const Ptr_Iterator& y); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library::Implementation:: 2441: operator<(const Ptr_Iterator& x, const Ptr_Iterator& y); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library::Implementation:: 2441: operator<=(const Ptr_Iterator& x, const Ptr_Iterator& y); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library::Implementation:: 2441: operator>(const Ptr_Iterator& x, const Ptr_Iterator& y); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library::Implementation:: 2441: operator>=(const Ptr_Iterator& x, const Ptr_Iterator& y); 2441: 2441: template 2441: friend typename Ptr_Iterator::difference_type 2441: Parma_Polyhedra_Library::Implementation:: 2441: operator-(const Ptr_Iterator& x, const Ptr_Iterator& y); 2441: 2441: friend Ptr_Iterator

2441: Parma_Polyhedra_Library::Implementation:: 2441: operator+<>(typename Ptr_Iterator

::difference_type m, 2441: const Ptr_Iterator

& y); 2441: }; 2441: 2441: # 1 "../../src/Ptr_Iterator_inlines.hh" 1 2441: # 27 "../../src/Ptr_Iterator_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Implementation { 2441: 2441: template 2441: inline const P& 2441: Ptr_Iterator

::base() const { 2441: return p; 2441: } 2441: 2441: template 2441: inline 2441: Ptr_Iterator

::Ptr_Iterator() 2441: : p(P()) { 2441: } 2441: 2441: template 2441: inline 2441: Ptr_Iterator

::Ptr_Iterator(const P& q) 2441: : p(q) { 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Ptr_Iterator

::Ptr_Iterator(const Ptr_Iterator& q) 2441: : p(q.base()) { 2441: } 2441: 2441: template 2441: inline typename Ptr_Iterator

::reference 2441: Ptr_Iterator

::operator*() const { 2441: return *p; 2441: } 2441: 2441: template 2441: inline typename Ptr_Iterator

::pointer 2441: Ptr_Iterator

::operator->() const { 2441: return p; 2441: } 2441: 2441: template 2441: inline typename Ptr_Iterator

::reference 2441: Ptr_Iterator

::operator[](const difference_type m) const { 2441: return p[m]; 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

& 2441: Ptr_Iterator

::operator++() { 2441: ++p; 2441: return *this; 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

2441: Ptr_Iterator

::operator++(int) { 2441: return Ptr_Iterator(p++); 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

& 2441: Ptr_Iterator

::operator--() { 2441: --p; 2441: return *this; 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

2441: Ptr_Iterator

::operator--(int) { 2441: return Ptr_Iterator(p--); 2441: } 2441: 2441: 2441: template 2441: inline Ptr_Iterator

& 2441: Ptr_Iterator

::operator+=(const difference_type m) { 2441: p += m; 2441: return *this; 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

& 2441: Ptr_Iterator

::operator-=(const difference_type m) { 2441: p -= m; 2441: return *this; 2441: } 2441: 2441: template 2441: inline typename Ptr_Iterator

::difference_type 2441: Ptr_Iterator

::operator-(const Ptr_Iterator& y) const { 2441: return p - y.p; 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

2441: Ptr_Iterator

::operator+(const difference_type m) const { 2441: return Ptr_Iterator(p + m); 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

2441: Ptr_Iterator

::operator-(const difference_type m) const { 2441: return Ptr_Iterator(p - m); 2441: } 2441: 2441: template 2441: inline bool 2441: operator==(const Ptr_Iterator

& x, const Ptr_Iterator& y) { 2441: return x.base() == y.base(); 2441: } 2441: 2441: template 2441: inline bool 2441: operator!=(const Ptr_Iterator

& x, const Ptr_Iterator& y) { 2441: return x.base() != y.base(); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<(const Ptr_Iterator

& x, const Ptr_Iterator& y) { 2441: return x.base() < y.base(); 2441: } 2441: 2441: template 2441: inline bool 2441: operator<=(const Ptr_Iterator

& x, const Ptr_Iterator& y) { 2441: return x.base() <= y.base(); 2441: } 2441: 2441: template 2441: inline bool 2441: operator>(const Ptr_Iterator

& x, const Ptr_Iterator& y) { 2441: return x.base() > y.base(); 2441: } 2441: 2441: template 2441: inline bool 2441: operator>=(const Ptr_Iterator

& x, const Ptr_Iterator& y) { 2441: return x.base() >= y.base(); 2441: } 2441: 2441: template 2441: inline typename Ptr_Iterator

::difference_type 2441: operator-(const Ptr_Iterator

& x, const Ptr_Iterator& y) { 2441: return x.base() - y.base(); 2441: } 2441: 2441: template 2441: inline Ptr_Iterator

2441: operator+(typename Ptr_Iterator

::difference_type m, 2441: const Ptr_Iterator

& y) { 2441: return Ptr_Iterator

(m + y.base()); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 171 "../../src/Ptr_Iterator_defs.hh" 2 2441: # 30 "../../src/DB_Row_defs.hh" 2 2441: # 57 "../../src/DB_Row_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::DB_Row_Impl_Handler { 2441: public: 2441: 2441: DB_Row_Impl_Handler(); 2441: 2441: 2441: ~DB_Row_Impl_Handler(); 2441: 2441: class Impl; 2441: 2441: 2441: Impl* impl; 2441: 2441: 2441: 2441: 2441: 2441: 2441: private: 2441: 2441: DB_Row_Impl_Handler(const DB_Row_Impl_Handler&); 2441: 2441: 2441: DB_Row_Impl_Handler& operator=(const DB_Row_Impl_Handler&); 2441: }; 2441: # 119 "../../src/DB_Row_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::DB_Row : private DB_Row_Impl_Handler { 2441: public: 2441: 2441: DB_Row(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void construct(dimension_type sz); 2441: # 145 "../../src/DB_Row_defs.hh" 2441: void construct(dimension_type sz, dimension_type capacity); 2441: # 159 "../../src/DB_Row_defs.hh" 2441: template 2441: void construct_upward_approximation(const DB_Row& y, 2441: dimension_type capacity); 2441: 2441: 2441: 2441: 2441: DB_Row(dimension_type sz); 2441: 2441: 2441: DB_Row(dimension_type sz, dimension_type capacity); 2441: 2441: 2441: DB_Row(const DB_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: DB_Row(const DB_Row& y, dimension_type capacity); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: DB_Row(const DB_Row& y, dimension_type sz, dimension_type capacity); 2441: 2441: 2441: ~DB_Row(); 2441: 2441: 2441: DB_Row& operator=(const DB_Row& y); 2441: 2441: 2441: void m_swap(DB_Row& y); 2441: 2441: 2441: void assign(DB_Row& y); 2441: # 208 "../../src/DB_Row_defs.hh" 2441: void allocate(dimension_type capacity); 2441: # 218 "../../src/DB_Row_defs.hh" 2441: void expand_within_capacity(dimension_type new_size); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void shrink(dimension_type new_size); 2441: 2441: 2441: static dimension_type max_size(); 2441: 2441: 2441: dimension_type size() const; 2441: 2441: 2441: 2441: 2441: T& operator[](dimension_type k); 2441: 2441: 2441: const T& operator[](dimension_type k) const; 2441: 2441: 2441: 2441: typedef Implementation::Ptr_Iterator iterator; 2441: 2441: 2441: typedef Implementation::Ptr_Iterator const_iterator; 2441: 2441: 2441: 2441: 2441: 2441: 2441: iterator begin(); 2441: 2441: 2441: iterator end(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const_iterator end() const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes(dimension_type capacity) const; 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type external_memory_in_bytes(dimension_type capacity) const; 2441: 2441: 2441: bool OK(dimension_type row_size, dimension_type row_capacity) const; 2441: 2441: private: 2441: template friend class Parma_Polyhedra_Library::DB_Row; 2441: 2441: 2441: void copy_construct_coefficients(const DB_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void swap(DB_Row& x, DB_Row& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void iter_swap(typename std::vector >::iterator x, 2441: typename std::vector >::iterator y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator==(const DB_Row& x, const DB_Row& y); 2441: 2441: 2441: template 2441: bool operator!=(const DB_Row& x, const DB_Row& y); 2441: 2441: 2441: 2441: 2441: } 2441: # 351 "../../src/DB_Row_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::DB_Row_Impl_Handler::Impl { 2441: public: 2441: # 362 "../../src/DB_Row_defs.hh" 2441: static void* operator new(size_t fixed_size, dimension_type capacity); 2441: 2441: 2441: static void operator delete(void* p); 2441: 2441: 2441: 2441: 2441: 2441: static void operator delete(void* p, dimension_type capacity); 2441: 2441: 2441: 2441: Impl(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: ~Impl(); 2441: 2441: 2441: 2441: 2441: 2441: void expand_within_capacity(dimension_type new_size); 2441: 2441: 2441: 2441: 2441: 2441: void shrink(dimension_type new_size); 2441: 2441: 2441: void copy_construct_coefficients(const Impl& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void construct_upward_approximation(const U& y); 2441: 2441: 2441: static dimension_type max_size(); 2441: 2441: 2441: 2441: 2441: dimension_type size() const; 2441: 2441: 2441: void set_size(dimension_type new_sz); 2441: 2441: 2441: void bump_size(); 2441: 2441: 2441: 2441: 2441: 2441: T& operator[](dimension_type k); 2441: 2441: 2441: const T& operator[](dimension_type k) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type total_memory_in_bytes(dimension_type capacity) const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: private: 2441: friend class DB_Row; 2441: 2441: 2441: dimension_type size_; 2441: 2441: 2441: T vec_[ 2441: 2441: 0 2441: 2441: 2441: 2441: ]; 2441: 2441: 2441: Impl(const Impl& y); 2441: 2441: 2441: Impl& operator=(const Impl&); 2441: 2441: 2441: void copy_construct(const Impl& y); 2441: }; 2441: 2441: # 1 "../../src/DB_Row_inlines.hh" 1 2441: # 34 "../../src/DB_Row_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline void* 2441: DB_Row_Impl_Handler::Impl::operator new(const size_t fixed_size, 2441: const dimension_type capacity) { 2441: 2441: return ::operator new(fixed_size + capacity*sizeof(T)); 2441: 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row_Impl_Handler::Impl::operator delete(void* p) { 2441: ::operator delete(p); 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) { 2441: ::operator delete(p); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: DB_Row_Impl_Handler::Impl 2441: ::total_memory_in_bytes(dimension_type capacity) const { 2441: return 2441: sizeof(*this) 2441: + capacity*sizeof(T) 2441: 2441: 2441: 2441: + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: DB_Row_Impl_Handler::Impl::total_memory_in_bytes() const { 2441: 2441: 2441: return total_memory_in_bytes(size_); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: DB_Row_Impl_Handler::Impl::max_size() { 2441: return std::numeric_limits::max() / sizeof(T); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: DB_Row_Impl_Handler::Impl::size() const { 2441: return size_; 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row_Impl_Handler::Impl::set_size(const dimension_type new_sz) { 2441: size_ = new_sz; 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row_Impl_Handler::Impl::bump_size() { 2441: ++size_; 2441: } 2441: 2441: template 2441: inline 2441: DB_Row_Impl_Handler::Impl::Impl() 2441: : size_(0) { 2441: } 2441: 2441: template 2441: inline 2441: DB_Row_Impl_Handler::Impl::~Impl() { 2441: shrink(0); 2441: } 2441: 2441: template 2441: inline 2441: DB_Row_Impl_Handler::DB_Row_Impl_Handler() 2441: : impl(0) { 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: inline 2441: DB_Row_Impl_Handler::~DB_Row_Impl_Handler() { 2441: delete impl; 2441: } 2441: 2441: template 2441: inline T& 2441: DB_Row_Impl_Handler::Impl::operator[](const dimension_type k) { 2441: ((void) 0); 2441: return vec_[k]; 2441: } 2441: 2441: template 2441: inline const T& 2441: DB_Row_Impl_Handler::Impl::operator[](const dimension_type k) const { 2441: ((void) 0); 2441: return vec_[k]; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: DB_Row::max_size() { 2441: return DB_Row_Impl_Handler::Impl::max_size(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: DB_Row::size() const { 2441: return this->impl->size(); 2441: } 2441: # 166 "../../src/DB_Row_inlines.hh" 2441: template 2441: inline 2441: DB_Row::DB_Row() 2441: : DB_Row_Impl_Handler() { 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::allocate( 2441: 2441: const 2441: 2441: dimension_type capacity) { 2441: DB_Row& x = *this; 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: x.impl = new(capacity) typename DB_Row_Impl_Handler::Impl(); 2441: 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::expand_within_capacity(const dimension_type new_size) { 2441: DB_Row& x = *this; 2441: ((void) 0); 2441: 2441: 2441: 2441: x.impl->expand_within_capacity(new_size); 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::copy_construct_coefficients(const DB_Row& y) { 2441: DB_Row& x = *this; 2441: ((void) 0); 2441: 2441: 2441: 2441: x.impl->copy_construct_coefficients(*(y.impl)); 2441: } 2441: 2441: template 2441: template 2441: inline void 2441: DB_Row::construct_upward_approximation(const DB_Row& y, 2441: const dimension_type capacity) { 2441: DB_Row& x = *this; 2441: ((void) 0); 2441: allocate(capacity); 2441: ((void) 0); 2441: x.impl->construct_upward_approximation(*(y.impl)); 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::construct(const dimension_type sz, 2441: const dimension_type capacity) { 2441: ((void) 0); 2441: allocate(capacity); 2441: expand_within_capacity(sz); 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::construct(const dimension_type sz) { 2441: construct(sz, sz); 2441: } 2441: 2441: template 2441: inline 2441: DB_Row::DB_Row(const dimension_type sz, 2441: const dimension_type capacity) 2441: : DB_Row_Impl_Handler() { 2441: construct(sz, capacity); 2441: } 2441: 2441: template 2441: inline 2441: DB_Row::DB_Row(const dimension_type sz) { 2441: construct(sz); 2441: } 2441: 2441: template 2441: inline 2441: DB_Row::DB_Row(const DB_Row& y) 2441: : DB_Row_Impl_Handler() { 2441: if (y.impl != 0) { 2441: allocate(compute_capacity(y.size(), max_size())); 2441: copy_construct_coefficients(y); 2441: } 2441: } 2441: 2441: template 2441: inline 2441: DB_Row::DB_Row(const DB_Row& y, 2441: const dimension_type capacity) 2441: : DB_Row_Impl_Handler() { 2441: ((void) 0); 2441: ((void) 0); 2441: allocate(capacity); 2441: copy_construct_coefficients(y); 2441: } 2441: 2441: template 2441: inline 2441: DB_Row::DB_Row(const DB_Row& y, 2441: const dimension_type sz, 2441: const dimension_type capacity) 2441: : DB_Row_Impl_Handler() { 2441: ((void) 0); 2441: ((void) 0); 2441: allocate(capacity); 2441: copy_construct_coefficients(y); 2441: expand_within_capacity(sz); 2441: } 2441: 2441: template 2441: inline 2441: DB_Row::~DB_Row() { 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::shrink(const dimension_type new_size) { 2441: DB_Row& x = *this; 2441: ((void) 0); 2441: x.impl->shrink(new_size); 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::m_swap(DB_Row& y) { 2441: using std::swap; 2441: DB_Row& x = *this; 2441: swap(x.impl, y.impl); 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: inline void 2441: DB_Row::assign(DB_Row& y) { 2441: DB_Row& x = *this; 2441: x.impl = y.impl; 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: inline DB_Row& 2441: DB_Row::operator=(const DB_Row& y) { 2441: DB_Row tmp(y); 2441: m_swap(tmp); 2441: return *this; 2441: } 2441: 2441: template 2441: inline T& 2441: DB_Row::operator[](const dimension_type k) { 2441: DB_Row& x = *this; 2441: return (*x.impl)[k]; 2441: } 2441: 2441: template 2441: inline const T& 2441: DB_Row::operator[](const dimension_type k) const { 2441: const DB_Row& x = *this; 2441: return (*x.impl)[k]; 2441: } 2441: 2441: template 2441: inline typename DB_Row::iterator 2441: DB_Row::begin() { 2441: DB_Row& x = *this; 2441: return iterator(x.impl->vec_); 2441: } 2441: 2441: template 2441: inline typename DB_Row::iterator 2441: DB_Row::end() { 2441: DB_Row& x = *this; 2441: return iterator(x.impl->vec_ + x.impl->size_); 2441: } 2441: 2441: template 2441: inline typename DB_Row::const_iterator 2441: DB_Row::begin() const { 2441: const DB_Row& x = *this; 2441: return const_iterator(x.impl->vec_); 2441: } 2441: 2441: template 2441: inline typename DB_Row::const_iterator 2441: DB_Row::end() const { 2441: const DB_Row& x = *this; 2441: return const_iterator(x.impl->vec_ + x.impl->size_); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: DB_Row::external_memory_in_bytes(dimension_type capacity) const { 2441: const DB_Row& x = *this; 2441: return x.impl->total_memory_in_bytes(capacity); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: DB_Row::total_memory_in_bytes(dimension_type capacity) const { 2441: return sizeof(*this) + external_memory_in_bytes(capacity); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: DB_Row::external_memory_in_bytes() const { 2441: const DB_Row& x = *this; 2441: 2441: 2441: 2441: return x.impl->total_memory_in_bytes(); 2441: 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: DB_Row::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const DB_Row& x, const DB_Row& y) { 2441: return !(x == y); 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(DB_Row& x, DB_Row& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: 2441: template 2441: inline void 2441: iter_swap(typename std::vector >::iterator x, 2441: typename std::vector >::iterator y) { 2441: swap(*x, *y); 2441: } 2441: 2441: } 2441: # 468 "../../src/DB_Row_defs.hh" 2 2441: # 1 "../../src/DB_Row_templates.hh" 1 2441: # 29 "../../src/DB_Row_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: template 2441: void 2441: DB_Row_Impl_Handler::Impl::construct_upward_approximation(const U& y) { 2441: const dimension_type y_size = y.size(); 2441: 2441: 2441: for (dimension_type i = 0; i < y_size; ++i) { 2441: construct(vec_[i], y[i], ROUND_UP); 2441: bump_size(); 2441: } 2441: # 53 "../../src/DB_Row_templates.hh" 2441: } 2441: 2441: template 2441: void 2441: DB_Row_Impl_Handler:: 2441: Impl::expand_within_capacity(const dimension_type new_size) { 2441: ((void) 0); 2441: # 68 "../../src/DB_Row_templates.hh" 2441: for (dimension_type i = size(); i < new_size; ++i) { 2441: new(&vec_[i]) T(PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: bump_size(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: DB_Row_Impl_Handler::Impl::shrink(dimension_type new_size) { 2441: const dimension_type old_size = size(); 2441: ((void) 0); 2441: 2441: set_size(new_size); 2441: # 89 "../../src/DB_Row_templates.hh" 2441: for (dimension_type i = old_size; i-- > new_size; ) { 2441: vec_[i].~T(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: DB_Row_Impl_Handler::Impl::copy_construct_coefficients(const Impl& y) { 2441: const dimension_type y_size = y.size(); 2441: 2441: 2441: for (dimension_type i = 0; i < y_size; ++i) { 2441: new(&vec_[i]) T(y.vec_[i]); 2441: bump_size(); 2441: } 2441: # 115 "../../src/DB_Row_templates.hh" 2441: } 2441: 2441: template 2441: memory_size_type 2441: DB_Row_Impl_Handler::Impl::external_memory_in_bytes() const { 2441: memory_size_type n = 0; 2441: for (dimension_type i = size(); i-- > 0; ) { 2441: n += Parma_Polyhedra_Library::external_memory_in_bytes(vec_[i]); 2441: } 2441: return n; 2441: } 2441: 2441: template 2441: bool 2441: DB_Row::OK(const dimension_type row_size, 2441: const dimension_type 2441: 2441: 2441: 2441: ) const { 2441: 2441: 2441: 2441: 2441: 2441: const DB_Row& x = *this; 2441: bool is_broken = false; 2441: # 163 "../../src/DB_Row_templates.hh" 2441: if (x.size() != row_size) { 2441: 2441: 2441: 2441: 2441: 2441: is_broken = true; 2441: } 2441: # 183 "../../src/DB_Row_templates.hh" 2441: for (dimension_type i = x.size(); i-- > 0; ) { 2441: const T& element = x[i]; 2441: 2441: if (!element.OK()) { 2441: is_broken = true; 2441: break; 2441: } 2441: 2441: if (is_not_a_number(element)) { 2441: 2441: 2441: 2441: 2441: is_broken = true; 2441: break; 2441: } 2441: } 2441: 2441: return !is_broken; 2441: } 2441: 2441: 2441: template 2441: bool 2441: operator==(const DB_Row& x, const DB_Row& y) { 2441: if (x.size() != y.size()) { 2441: return false; 2441: } 2441: for (dimension_type i = x.size(); i-- > 0; ) { 2441: if (x[i] != y[i]) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: } 2441: # 469 "../../src/DB_Row_defs.hh" 2 2441: # 30 "../../src/DB_Matrix_defs.hh" 2 2441: 2441: 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: std::ostream& 2441: operator<<(std::ostream& s, const DB_Matrix& c); 2441: 2441: } 2441: 2441: } 2441: # 61 "../../src/DB_Matrix_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::DB_Matrix { 2441: public: 2441: 2441: static dimension_type max_num_rows(); 2441: 2441: 2441: static dimension_type max_num_columns(); 2441: 2441: 2441: 2441: 2441: 2441: DB_Matrix(); 2441: 2441: 2441: explicit DB_Matrix(dimension_type n_rows); 2441: 2441: 2441: DB_Matrix(const DB_Matrix& y); 2441: 2441: 2441: template 2441: explicit DB_Matrix(const DB_Matrix& y); 2441: 2441: 2441: ~DB_Matrix(); 2441: 2441: 2441: DB_Matrix& operator=(const DB_Matrix& y); 2441: 2441: 2441: 2441: 2441: 2441: class const_iterator { 2441: private: 2441: typedef typename std::vector >::const_iterator Iter; 2441: 2441: Iter i; 2441: 2441: public: 2441: typedef std::forward_iterator_tag iterator_category; 2441: typedef typename std::iterator_traits::value_type value_type; 2441: typedef typename std::iterator_traits::difference_type 2441: difference_type; 2441: typedef typename std::iterator_traits::pointer pointer; 2441: typedef typename std::iterator_traits::reference reference; 2441: 2441: 2441: const_iterator(); 2441: 2441: 2441: 2441: 2441: 2441: explicit const_iterator(const Iter& b); 2441: 2441: 2441: const_iterator(const const_iterator& y); 2441: 2441: 2441: const_iterator& operator=(const const_iterator& y); 2441: 2441: 2441: reference operator*() const; 2441: 2441: 2441: pointer operator->() const; 2441: 2441: 2441: const_iterator& operator++(); 2441: 2441: 2441: const_iterator operator++(int); 2441: 2441: 2441: 2441: 2441: 2441: bool operator==(const const_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const const_iterator& y) const; 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_iterator begin() const; 2441: 2441: 2441: const_iterator end() const; 2441: 2441: private: 2441: template friend class DB_Matrix; 2441: 2441: 2441: std::vector > rows; 2441: 2441: 2441: dimension_type row_size; 2441: 2441: 2441: 2441: 2441: 2441: dimension_type row_capacity; 2441: 2441: public: 2441: 2441: void m_swap(DB_Matrix& y); 2441: # 188 "../../src/DB_Matrix_defs.hh" 2441: void grow(dimension_type new_n_rows); 2441: # 198 "../../src/DB_Matrix_defs.hh" 2441: void resize_no_copy(dimension_type new_n_rows); 2441: 2441: 2441: dimension_type num_rows() const; 2441: 2441: 2441: 2441: 2441: DB_Row& operator[](dimension_type k); 2441: 2441: 2441: const DB_Row& operator[](dimension_type k) const; 2441: 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: bool OK() const; 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void swap(DB_Matrix& x, DB_Matrix& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator==(const DB_Matrix& x, const DB_Matrix& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator!=(const DB_Matrix& x, const DB_Matrix& y); 2441: # 267 "../../src/DB_Matrix_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const DB_Matrix& x, 2441: const DB_Matrix& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 289 "../../src/DB_Matrix_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const DB_Matrix& x, 2441: const DB_Matrix& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 311 "../../src/DB_Matrix_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const DB_Matrix& x, 2441: const DB_Matrix& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: 2441: } 2441: 2441: # 1 "../../src/DB_Matrix_inlines.hh" 1 2441: # 33 "../../src/DB_Matrix_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline void 2441: DB_Matrix::m_swap(DB_Matrix& y) { 2441: using std::swap; 2441: swap(rows, y.rows); 2441: swap(row_size, y.row_size); 2441: swap(row_capacity, y.row_capacity); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: DB_Matrix::max_num_rows() { 2441: return std::vector >().max_size(); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: DB_Matrix::max_num_columns() { 2441: return DB_Row::max_size(); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: DB_Matrix::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline 2441: DB_Matrix::const_iterator::const_iterator() 2441: : i(Iter()) { 2441: } 2441: 2441: template 2441: inline 2441: DB_Matrix::const_iterator::const_iterator(const Iter& b) 2441: : i(b) { 2441: } 2441: 2441: template 2441: inline 2441: DB_Matrix::const_iterator::const_iterator(const const_iterator& y) 2441: : i(y.i) { 2441: } 2441: 2441: template 2441: inline typename DB_Matrix::const_iterator& 2441: DB_Matrix::const_iterator::operator=(const const_iterator& y) { 2441: i = y.i; 2441: return *this; 2441: } 2441: 2441: template 2441: inline typename DB_Matrix::const_iterator::reference 2441: DB_Matrix::const_iterator::operator*() const { 2441: return *i; 2441: } 2441: 2441: template 2441: inline typename DB_Matrix::const_iterator::pointer 2441: DB_Matrix::const_iterator::operator->() const { 2441: return &*i; 2441: } 2441: 2441: template 2441: inline typename DB_Matrix::const_iterator& 2441: DB_Matrix::const_iterator::operator++() { 2441: ++i; 2441: return *this; 2441: } 2441: 2441: template 2441: inline typename DB_Matrix::const_iterator 2441: DB_Matrix::const_iterator::operator++(int) { 2441: return const_iterator(i++); 2441: } 2441: 2441: template 2441: inline bool 2441: DB_Matrix::const_iterator::operator==(const const_iterator& y) const { 2441: return i == y.i; 2441: } 2441: 2441: template 2441: inline bool 2441: DB_Matrix::const_iterator::operator!=(const const_iterator& y) const { 2441: return !operator==(y); 2441: } 2441: 2441: template 2441: inline typename DB_Matrix::const_iterator 2441: DB_Matrix::begin() const { 2441: return const_iterator(rows.begin()); 2441: } 2441: 2441: template 2441: inline typename DB_Matrix::const_iterator 2441: DB_Matrix::end() const { 2441: return const_iterator(rows.end()); 2441: } 2441: 2441: template 2441: inline 2441: DB_Matrix::DB_Matrix() 2441: : rows(), 2441: row_size(0), 2441: row_capacity(0) { 2441: } 2441: 2441: template 2441: inline 2441: DB_Matrix::~DB_Matrix() { 2441: } 2441: 2441: template 2441: inline DB_Row& 2441: DB_Matrix::operator[](const dimension_type k) { 2441: ((void) 0); 2441: return rows[k]; 2441: } 2441: 2441: template 2441: inline const DB_Row& 2441: DB_Matrix::operator[](const dimension_type k) const { 2441: ((void) 0); 2441: return rows[k]; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: DB_Matrix::num_rows() const { 2441: return rows.size(); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const DB_Matrix& x, const DB_Matrix& y) { 2441: return !(x == y); 2441: } 2441: 2441: template 2441: inline 2441: DB_Matrix::DB_Matrix(const DB_Matrix& y) 2441: : rows(y.rows), 2441: row_size(y.row_size), 2441: row_capacity(compute_capacity(y.row_size, max_num_columns())) { 2441: } 2441: 2441: template 2441: inline DB_Matrix& 2441: DB_Matrix::operator=(const DB_Matrix& y) { 2441: 2441: 2441: 2441: 2441: if (this != &y) { 2441: 2441: rows = y.rows; 2441: row_size = y.row_size; 2441: 2441: 2441: row_capacity = compute_capacity(y.row_size, max_num_columns()); 2441: } 2441: return *this; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: l_m_distance_assign(Checked_Number& r, 2441: const DB_Matrix& x, 2441: const DB_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: const dimension_type x_num_rows = x.num_rows(); 2441: if (x_num_rows != y.num_rows()) { 2441: return false; 2441: } 2441: assign_r(tmp0, 0, ROUND_NOT_NEEDED); 2441: for (dimension_type i = x_num_rows; i-- > 0; ) { 2441: const DB_Row& x_i = x[i]; 2441: const DB_Row& y_i = y[i]; 2441: for (dimension_type j = x_num_rows; j-- > 0; ) { 2441: const T& x_i_j = x_i[j]; 2441: const T& y_i_j = y_i[j]; 2441: if (is_plus_infinity(x_i_j)) { 2441: if (is_plus_infinity(y_i_j)) { 2441: continue; 2441: } 2441: else { 2441: pinf: 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: return true; 2441: } 2441: } 2441: else if (is_plus_infinity(y_i_j)) { 2441: goto pinf; 2441: } 2441: const Temp* tmp1p; 2441: const Temp* tmp2p; 2441: if (x_i_j > y_i_j) { 2441: maybe_assign(tmp1p, tmp1, x_i_j, dir); 2441: maybe_assign(tmp2p, tmp2, y_i_j, inverse(dir)); 2441: } 2441: else { 2441: maybe_assign(tmp1p, tmp1, y_i_j, dir); 2441: maybe_assign(tmp2p, tmp2, x_i_j, inverse(dir)); 2441: } 2441: sub_assign_r(tmp1, *tmp1p, *tmp2p, dir); 2441: ((void) 0); 2441: Specialization::combine(tmp0, tmp1, dir); 2441: } 2441: } 2441: Specialization::finalize(tmp0, dir); 2441: assign_r(r, tmp0, dir); 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const DB_Matrix& x, 2441: const DB_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return 2441: l_m_distance_assign >(r, x, y, 2441: dir, 2441: tmp0, 2441: tmp1, 2441: tmp2); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const DB_Matrix& x, 2441: const DB_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return 2441: l_m_distance_assign >(r, x, y, 2441: dir, 2441: tmp0, 2441: tmp1, 2441: tmp2); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const DB_Matrix& x, 2441: const DB_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return 2441: l_m_distance_assign >(r, x, y, 2441: dir, 2441: tmp0, 2441: tmp1, 2441: tmp2); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline void 2441: swap(DB_Matrix& x, DB_Matrix& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 323 "../../src/DB_Matrix_defs.hh" 2 2441: # 1 "../../src/DB_Matrix_templates.hh" 1 2441: # 27 "../../src/DB_Matrix_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: DB_Matrix::DB_Matrix(const dimension_type n_rows) 2441: : rows(n_rows), 2441: row_size(n_rows), 2441: row_capacity(compute_capacity(n_rows, max_num_columns())) { 2441: 2441: for (dimension_type i = 0; i < n_rows; ++i) { 2441: rows[i].construct(n_rows, row_capacity); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: DB_Matrix::DB_Matrix(const DB_Matrix& y) 2441: : rows(y.rows.size()), 2441: row_size(y.row_size), 2441: row_capacity(compute_capacity(y.row_size, max_num_columns())) { 2441: 2441: for (dimension_type i = 0, n_rows = rows.size(); i < n_rows; ++i) { 2441: rows[i].construct_upward_approximation(y[i], row_capacity); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: DB_Matrix::grow(const dimension_type new_n_rows) { 2441: const dimension_type old_n_rows = rows.size(); 2441: ((void) 0); 2441: 2441: if (new_n_rows > old_n_rows) { 2441: if (new_n_rows <= row_capacity) { 2441: 2441: if (rows.capacity() < new_n_rows) { 2441: 2441: std::vector > new_rows; 2441: new_rows.reserve(compute_capacity(new_n_rows, max_num_rows())); 2441: new_rows.insert(new_rows.end(), new_n_rows, DB_Row()); 2441: 2441: dimension_type i = new_n_rows; 2441: while (i-- > old_n_rows) { 2441: new_rows[i].construct(new_n_rows, row_capacity); 2441: } 2441: 2441: ++i; 2441: while (i-- > 0) { 2441: swap(new_rows[i], rows[i]); 2441: } 2441: 2441: using std::swap; 2441: swap(rows, new_rows); 2441: } 2441: else { 2441: 2441: rows.insert(rows.end(), new_n_rows - old_n_rows, DB_Row()); 2441: for (dimension_type i = new_n_rows; i-- > old_n_rows; ) { 2441: rows[i].construct(new_n_rows, row_capacity); 2441: } 2441: } 2441: } 2441: else { 2441: 2441: DB_Matrix new_matrix; 2441: new_matrix.rows.reserve(compute_capacity(new_n_rows, max_num_rows())); 2441: new_matrix.rows.insert(new_matrix.rows.end(), new_n_rows, DB_Row()); 2441: 2441: new_matrix.row_size = new_n_rows; 2441: new_matrix.row_capacity = compute_capacity(new_n_rows, 2441: max_num_columns()); 2441: dimension_type i = new_n_rows; 2441: while (i-- > old_n_rows) { 2441: new_matrix.rows[i].construct(new_matrix.row_size, 2441: new_matrix.row_capacity); 2441: } 2441: 2441: ++i; 2441: while (i-- > 0) { 2441: 2441: DB_Row new_row(rows[i], 2441: new_matrix.row_size, 2441: new_matrix.row_capacity); 2441: swap(new_matrix.rows[i], new_row); 2441: } 2441: 2441: m_swap(new_matrix); 2441: return; 2441: } 2441: } 2441: 2441: if (new_n_rows > row_size) { 2441: 2441: if (new_n_rows <= row_capacity) { 2441: 2441: for (dimension_type i = old_n_rows; i-- > 0; ) { 2441: rows[i].expand_within_capacity(new_n_rows); 2441: } 2441: } 2441: else { 2441: 2441: 2441: const dimension_type new_row_capacity 2441: = compute_capacity(new_n_rows, max_num_columns()); 2441: for (dimension_type i = old_n_rows; i-- > 0; ) { 2441: 2441: DB_Row new_row(rows[i], new_n_rows, new_row_capacity); 2441: swap(rows[i], new_row); 2441: } 2441: row_capacity = new_row_capacity; 2441: } 2441: 2441: row_size = new_n_rows; 2441: } 2441: } 2441: 2441: template 2441: void 2441: DB_Matrix::resize_no_copy(const dimension_type new_n_rows) { 2441: dimension_type old_n_rows = rows.size(); 2441: 2441: if (new_n_rows > old_n_rows) { 2441: 2441: if (new_n_rows <= row_capacity) { 2441: 2441: if (rows.capacity() < new_n_rows) { 2441: 2441: std::vector > new_rows; 2441: new_rows.reserve(compute_capacity(new_n_rows, max_num_rows())); 2441: new_rows.insert(new_rows.end(), new_n_rows, DB_Row()); 2441: 2441: 2441: dimension_type i = new_n_rows; 2441: while (i-- > old_n_rows) { 2441: new_rows[i].construct(new_n_rows, row_capacity); 2441: 2441: } 2441: ++i; 2441: while (i-- > 0) { 2441: swap(new_rows[i], rows[i]); 2441: } 2441: 2441: using std::swap; 2441: swap(rows, new_rows); 2441: } 2441: else { 2441: 2441: rows.insert(rows.end(), new_n_rows - old_n_rows, DB_Row()); 2441: 2441: 2441: for (dimension_type i = new_n_rows; i-- > old_n_rows; ) { 2441: rows[i].construct(new_n_rows, row_capacity); 2441: } 2441: } 2441: } 2441: else { 2441: 2441: DB_Matrix new_matrix(new_n_rows); 2441: m_swap(new_matrix); 2441: return; 2441: } 2441: } 2441: else if (new_n_rows < old_n_rows) { 2441: 2441: rows.resize(new_n_rows); 2441: 2441: for (dimension_type i = new_n_rows; i-- > 0; ) { 2441: rows[i].shrink(new_n_rows); 2441: } 2441: old_n_rows = new_n_rows; 2441: } 2441: 2441: if (new_n_rows > row_size) { 2441: 2441: if (new_n_rows <= row_capacity) { 2441: 2441: for (dimension_type i = old_n_rows; i-- > 0; ) { 2441: rows[i].expand_within_capacity(new_n_rows); 2441: } 2441: } 2441: else { 2441: 2441: 2441: const dimension_type new_row_capacity 2441: = compute_capacity(new_n_rows, max_num_columns()); 2441: for (dimension_type i = old_n_rows; i-- > 0; ) { 2441: DB_Row new_row(new_n_rows, new_row_capacity); 2441: swap(rows[i], new_row); 2441: } 2441: row_capacity = new_row_capacity; 2441: } 2441: } 2441: 2441: row_size = new_n_rows; 2441: } 2441: 2441: template 2441: void 2441: DB_Matrix::ascii_dump(std::ostream& s) const { 2441: const DB_Matrix& x = *this; 2441: const char separator = ' '; 2441: const dimension_type nrows = x.num_rows(); 2441: s << nrows << separator << "\n"; 2441: for (dimension_type i = 0; i < nrows; ++i) { 2441: for (dimension_type j = 0; j < nrows; ++j) { 2441: using namespace IO_Operators; 2441: s << x[i][j] << separator; 2441: } 2441: s << "\n"; 2441: } 2441: } 2441: 2441: template void DB_Matrix::ascii_dump() const { ascii_dump(std::cerr); } template void DB_Matrix::print() const { using IO_Operators::operator<<; std::cerr << *this; } 2441: 2441: template 2441: bool 2441: DB_Matrix::ascii_load(std::istream& s) { 2441: dimension_type nrows; 2441: if (!(s >> nrows)) { 2441: return false; 2441: } 2441: resize_no_copy(nrows); 2441: DB_Matrix& x = *this; 2441: for (dimension_type i = 0; i < nrows; ++i) { 2441: for (dimension_type j = 0; j < nrows; ++j) { 2441: Result r = input(x[i][j], s, ROUND_CHECK); 2441: if (result_relation(r) != VR_EQ || is_minus_infinity(x[i][j])) { 2441: return false; 2441: } 2441: } 2441: } 2441: 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: bool 2441: operator==(const DB_Matrix& x, const DB_Matrix& y) { 2441: const dimension_type x_num_rows = x.num_rows(); 2441: if (x_num_rows != y.num_rows()) { 2441: return false; 2441: } 2441: for (dimension_type i = x_num_rows; i-- > 0; ) { 2441: if (x[i] != y[i]) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: memory_size_type 2441: DB_Matrix::external_memory_in_bytes() const { 2441: memory_size_type n = rows.capacity() * sizeof(DB_Row); 2441: for (dimension_type i = num_rows(); i-- > 0; ) { 2441: n += rows[i].external_memory_in_bytes(row_capacity); 2441: } 2441: return n; 2441: } 2441: 2441: template 2441: bool 2441: DB_Matrix::OK() const { 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (num_rows() != row_size) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: const DB_Matrix& x = *this; 2441: const dimension_type n_rows = x.num_rows(); 2441: for (dimension_type i = 0; i < n_rows; ++i) { 2441: if (!x[i].OK(row_size, row_capacity)) { 2441: return false; 2441: } 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: std::ostream& 2441: IO_Operators::operator<<(std::ostream& s, const DB_Matrix& c) { 2441: const dimension_type n = c.num_rows(); 2441: for (dimension_type i = 0; i < n; ++i) { 2441: for (dimension_type j = 0; j < n; ++j) { 2441: s << c[i][j] << " "; 2441: } 2441: s << "\n"; 2441: } 2441: return s; 2441: } 2441: 2441: } 2441: # 324 "../../src/DB_Matrix_defs.hh" 2 2441: # 45 "../../src/BD_Shape_defs.hh" 2 2441: 2441: 2441: # 1 "../../src/WRD_coefficient_types_defs.hh" 1 2441: # 29 "../../src/WRD_coefficient_types_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct WRD_Extended_Number_Policy { 2441: 2441: enum const_bool_value_check_overflow { check_overflow = (true) }; 2441: 2441: 2441: enum const_bool_value_check_inf_add_inf { check_inf_add_inf = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_sub_inf { check_inf_sub_inf = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_mul_zero { check_inf_mul_zero = (false) }; 2441: 2441: 2441: enum const_bool_value_check_div_zero { check_div_zero = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_div_inf { check_inf_div_inf = (false) }; 2441: 2441: 2441: enum const_bool_value_check_inf_mod { check_inf_mod = (false) }; 2441: 2441: 2441: enum const_bool_value_check_sqrt_neg { check_sqrt_neg = (false) }; 2441: 2441: 2441: enum const_bool_value_has_nan { has_nan = (true) }; 2441: 2441: 2441: enum const_bool_value_has_infinity { has_infinity = (true) }; 2441: 2441: 2441: 2441: 2441: 2441: enum const_bool_value_fpu_check_inexact { fpu_check_inexact = (true) }; 2441: 2441: 2441: enum const_bool_value_fpu_check_nan_result { fpu_check_nan_result = (false) }; 2441: # 87 "../../src/WRD_coefficient_types_defs.hh" 2441: static void handle_result(Result r); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: struct Debug_WRD_Extended_Number_Policy { 2441: 2441: enum const_bool_value_check_overflow { check_overflow = (true) }; 2441: 2441: 2441: enum const_bool_value_check_inf_add_inf { check_inf_add_inf = (true) }; 2441: 2441: 2441: enum const_bool_value_check_inf_sub_inf { check_inf_sub_inf = (true) }; 2441: 2441: 2441: enum const_bool_value_check_inf_mul_zero { check_inf_mul_zero = (true) }; 2441: 2441: 2441: enum const_bool_value_check_div_zero { check_div_zero = (true) }; 2441: 2441: 2441: enum const_bool_value_check_inf_div_inf { check_inf_div_inf = (true) }; 2441: 2441: 2441: enum const_bool_value_check_inf_mod { check_inf_mod = (true) }; 2441: 2441: 2441: enum const_bool_value_check_sqrt_neg { check_sqrt_neg = (true) }; 2441: 2441: 2441: enum const_bool_value_has_nan { has_nan = (true) }; 2441: 2441: 2441: enum const_bool_value_has_infinity { has_infinity = (true) }; 2441: 2441: 2441: 2441: 2441: 2441: enum const_bool_value_fpu_check_inexact { fpu_check_inexact = (true) }; 2441: 2441: 2441: enum const_bool_value_fpu_check_nan_result { fpu_check_nan_result = (true) }; 2441: # 146 "../../src/WRD_coefficient_types_defs.hh" 2441: static void handle_result(Result r); 2441: }; 2441: 2441: } 2441: 2441: # 1 "../../src/WRD_coefficient_types_inlines.hh" 1 2441: # 27 "../../src/WRD_coefficient_types_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline void 2441: WRD_Extended_Number_Policy::handle_result(Result r) { 2441: if (result_class(r) == VC_NAN) { 2441: throw_result_exception(r); 2441: } 2441: } 2441: 2441: inline void 2441: Debug_WRD_Extended_Number_Policy::handle_result(Result r) { 2441: if (result_class(r) == VC_NAN) { 2441: throw_result_exception(r); 2441: } 2441: } 2441: 2441: } 2441: # 152 "../../src/WRD_coefficient_types_defs.hh" 2 2441: # 48 "../../src/BD_Shape_defs.hh" 2 2441: # 56 "../../src/BD_Shape_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: # 68 "../../src/BD_Shape_defs.hh" 2441: template 2441: std::ostream& 2441: operator<<(std::ostream& s, const BD_Shape& bds); 2441: 2441: } 2441: 2441: 2441: 2441: template 2441: void swap(BD_Shape& x, BD_Shape& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator==(const BD_Shape& x, const BD_Shape& y); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator!=(const BD_Shape& x, const BD_Shape& y); 2441: # 106 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir); 2441: # 123 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir); 2441: # 140 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 160 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir); 2441: # 177 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir); 2441: # 194 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 214 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir); 2441: # 231 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir); 2441: # 248 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: 2441: 2441: 2441: class BD_Shape_Helpers { 2441: public: 2441: # 294 "../../src/BD_Shape_defs.hh" 2441: static bool extract_bounded_difference(const Constraint& c, 2441: dimension_type& c_num_vars, 2441: dimension_type& c_first_var, 2441: dimension_type& c_second_var, 2441: Coefficient& c_coeff); 2441: }; 2441: 2441: 2441: 2441: 2441: 2441: void compute_leader_indices(const std::vector& predecessor, 2441: std::vector& indices); 2441: 2441: } 2441: # 411 "../../src/BD_Shape_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::BD_Shape { 2441: private: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef Checked_Number N; 2441: 2441: 2441: public: 2441: 2441: typedef T coefficient_type_base; 2441: 2441: 2441: 2441: 2441: 2441: typedef N coefficient_type; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: 2441: 2441: static bool can_recycle_constraint_systems(); 2441: 2441: 2441: 2441: 2441: static bool can_recycle_congruence_systems(); 2441: # 458 "../../src/BD_Shape_defs.hh" 2441: explicit BD_Shape(dimension_type num_dimensions = 0, 2441: Degenerate_Element kind = UNIVERSE); 2441: 2441: 2441: 2441: 2441: 2441: BD_Shape(const BD_Shape& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: explicit BD_Shape(const BD_Shape& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 487 "../../src/BD_Shape_defs.hh" 2441: explicit BD_Shape(const Constraint_System& cs); 2441: # 500 "../../src/BD_Shape_defs.hh" 2441: explicit BD_Shape(const Congruence_System& cgs); 2441: # 510 "../../src/BD_Shape_defs.hh" 2441: explicit BD_Shape(const Generator_System& gs); 2441: # 519 "../../src/BD_Shape_defs.hh" 2441: explicit BD_Shape(const Polyhedron& ph, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 538 "../../src/BD_Shape_defs.hh" 2441: template 2441: explicit BD_Shape(const Box& box, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 558 "../../src/BD_Shape_defs.hh" 2441: explicit BD_Shape(const Grid& grid, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 577 "../../src/BD_Shape_defs.hh" 2441: template 2441: explicit BD_Shape(const Octagonal_Shape& os, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: BD_Shape& operator=(const BD_Shape& y); 2441: 2441: 2441: 2441: 2441: 2441: void m_swap(BD_Shape& y); 2441: 2441: 2441: ~BD_Shape(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type affine_dimension() const; 2441: 2441: 2441: Constraint_System constraints() const; 2441: 2441: 2441: Constraint_System minimized_constraints() const; 2441: 2441: 2441: Congruence_System congruences() const; 2441: 2441: 2441: 2441: 2441: 2441: Congruence_System minimized_congruences() const; 2441: # 633 "../../src/BD_Shape_defs.hh" 2441: bool bounds_from_above(const Linear_Expression& expr) const; 2441: # 642 "../../src/BD_Shape_defs.hh" 2441: bool bounds_from_below(const Linear_Expression& expr) const; 2441: # 668 "../../src/BD_Shape_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const; 2441: # 699 "../../src/BD_Shape_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& g) const; 2441: # 727 "../../src/BD_Shape_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const; 2441: # 758 "../../src/BD_Shape_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& g) const; 2441: # 790 "../../src/BD_Shape_defs.hh" 2441: bool frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool contains(const BD_Shape& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool strictly_contains(const BD_Shape& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_disjoint_from(const BD_Shape& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Con_Relation relation_with(const Constraint& c) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Con_Relation relation_with(const Congruence& cg) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Gen_Relation relation_with(const Generator& g) const; 2441: 2441: 2441: bool is_empty() const; 2441: 2441: 2441: bool is_universe() const; 2441: 2441: 2441: bool is_discrete() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_topologically_closed() const; 2441: 2441: 2441: bool is_bounded() const; 2441: 2441: 2441: 2441: 2441: 2441: bool contains_integer_point() const; 2441: # 868 "../../src/BD_Shape_defs.hh" 2441: bool constrains(Variable var) const; 2441: 2441: 2441: 2441: 2441: 2441: bool OK() const; 2441: # 892 "../../src/BD_Shape_defs.hh" 2441: void add_constraint(const Constraint& c); 2441: # 904 "../../src/BD_Shape_defs.hh" 2441: void add_congruence(const Congruence& cg); 2441: # 918 "../../src/BD_Shape_defs.hh" 2441: void add_constraints(const Constraint_System& cs); 2441: # 937 "../../src/BD_Shape_defs.hh" 2441: void add_recycled_constraints(Constraint_System& cs); 2441: # 951 "../../src/BD_Shape_defs.hh" 2441: void add_congruences(const Congruence_System& cgs); 2441: # 969 "../../src/BD_Shape_defs.hh" 2441: void add_recycled_congruences(Congruence_System& cgs); 2441: # 981 "../../src/BD_Shape_defs.hh" 2441: void refine_with_constraint(const Constraint& c); 2441: # 994 "../../src/BD_Shape_defs.hh" 2441: void refine_with_congruence(const Congruence& cg); 2441: # 1007 "../../src/BD_Shape_defs.hh" 2441: void refine_with_constraints(const Constraint_System& cs); 2441: # 1020 "../../src/BD_Shape_defs.hh" 2441: void refine_with_congruences(const Congruence_System& cgs); 2441: # 1043 "../../src/BD_Shape_defs.hh" 2441: template 2441: void refine_with_linear_form_inequality( 2441: const Linear_Form >& left, 2441: const Linear_Form >& right); 2441: # 1076 "../../src/BD_Shape_defs.hh" 2441: template 2441: void generalized_refine_with_linear_form_inequality( 2441: const Linear_Form >& left, 2441: const Linear_Form >& right, 2441: Relation_Symbol relsym); 2441: # 1112 "../../src/BD_Shape_defs.hh" 2441: template 2441: void export_interval_constraints(U& dest) const; 2441: # 1125 "../../src/BD_Shape_defs.hh" 2441: void unconstrain(Variable var); 2441: # 1139 "../../src/BD_Shape_defs.hh" 2441: void unconstrain(const Variables_Set& vars); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void intersection_assign(const BD_Shape& y); 2441: # 1155 "../../src/BD_Shape_defs.hh" 2441: void upper_bound_assign(const BD_Shape& y); 2441: # 1165 "../../src/BD_Shape_defs.hh" 2441: bool upper_bound_assign_if_exact(const BD_Shape& y); 2441: # 1181 "../../src/BD_Shape_defs.hh" 2441: bool integer_upper_bound_assign_if_exact(const BD_Shape& y); 2441: # 1190 "../../src/BD_Shape_defs.hh" 2441: void difference_assign(const BD_Shape& y); 2441: # 1201 "../../src/BD_Shape_defs.hh" 2441: bool simplify_using_context_assign(const BD_Shape& y); 2441: # 1222 "../../src/BD_Shape_defs.hh" 2441: void affine_image(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1244 "../../src/BD_Shape_defs.hh" 2441: template 2441: void affine_form_image(Variable var, 2441: const Linear_Form >& lf); 2441: # 1267 "../../src/BD_Shape_defs.hh" 2441: void affine_preimage(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1296 "../../src/BD_Shape_defs.hh" 2441: void generalized_affine_image(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1321 "../../src/BD_Shape_defs.hh" 2441: void generalized_affine_image(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1349 "../../src/BD_Shape_defs.hh" 2441: void generalized_affine_preimage(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator = Coefficient_one()); 2441: # 1374 "../../src/BD_Shape_defs.hh" 2441: void generalized_affine_preimage(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1404 "../../src/BD_Shape_defs.hh" 2441: void bounded_affine_image(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1436 "../../src/BD_Shape_defs.hh" 2441: void bounded_affine_preimage(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void time_elapse_assign(const BD_Shape& y); 2441: # 1496 "../../src/BD_Shape_defs.hh" 2441: void wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p = 0, 2441: unsigned complexity_threshold = 16, 2441: bool wrap_individually = true); 2441: # 1515 "../../src/BD_Shape_defs.hh" 2441: void drop_some_non_integer_points(Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: # 1533 "../../src/BD_Shape_defs.hh" 2441: void drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: 2441: 2441: void topological_closure_assign(); 2441: # 1555 "../../src/BD_Shape_defs.hh" 2441: void CC76_extrapolation_assign(const BD_Shape& y, unsigned* tp = 0); 2441: # 1578 "../../src/BD_Shape_defs.hh" 2441: template 2441: void CC76_extrapolation_assign(const BD_Shape& y, 2441: Iterator first, Iterator last, 2441: unsigned* tp = 0); 2441: # 1598 "../../src/BD_Shape_defs.hh" 2441: void BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp = 0); 2441: # 1620 "../../src/BD_Shape_defs.hh" 2441: void limited_BHMZ05_extrapolation_assign(const BD_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1643 "../../src/BD_Shape_defs.hh" 2441: void CC76_narrowing_assign(const BD_Shape& y); 2441: # 1665 "../../src/BD_Shape_defs.hh" 2441: void limited_CC76_extrapolation_assign(const BD_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1684 "../../src/BD_Shape_defs.hh" 2441: void H79_widening_assign(const BD_Shape& y, unsigned* tp = 0); 2441: 2441: 2441: void widening_assign(const BD_Shape& y, unsigned* tp = 0); 2441: # 1708 "../../src/BD_Shape_defs.hh" 2441: void limited_H79_extrapolation_assign(const BD_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1735 "../../src/BD_Shape_defs.hh" 2441: void add_space_dimensions_and_embed(dimension_type m); 2441: # 1758 "../../src/BD_Shape_defs.hh" 2441: void add_space_dimensions_and_project(dimension_type m); 2441: # 1768 "../../src/BD_Shape_defs.hh" 2441: void concatenate_assign(const BD_Shape& y); 2441: # 1779 "../../src/BD_Shape_defs.hh" 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: # 1789 "../../src/BD_Shape_defs.hh" 2441: void remove_higher_space_dimensions(dimension_type new_dimension); 2441: # 1828 "../../src/BD_Shape_defs.hh" 2441: template 2441: void map_space_dimensions(const Partial_Function& pfunc); 2441: # 1852 "../../src/BD_Shape_defs.hh" 2441: void expand_space_dimension(Variable var, dimension_type m); 2441: # 1877 "../../src/BD_Shape_defs.hh" 2441: void fold_space_dimensions(const Variables_Set& vars, Variable dest); 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void refine_fp_interval_abstract_store(Box >& 2441: store) const; 2441: 2441: 2441: 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: int32_t hash_code() const; 2441: 2441: friend bool operator==(const BD_Shape& x, const BD_Shape& y); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library 2441: ::rectilinear_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, const BD_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: template 2441: friend bool Parma_Polyhedra_Library 2441: ::euclidean_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, const BD_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: template 2441: friend bool Parma_Polyhedra_Library 2441: ::l_infinity_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, const BD_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: 2441: private: 2441: template friend class Parma_Polyhedra_Library::BD_Shape; 2441: template friend class Parma_Polyhedra_Library::Box; 2441: 2441: 2441: DB_Matrix dbm; 2441: 2441: 2441: # 1 "../../src/BDS_Status_idefs.hh" 1 2441: # 50 "../../src/BDS_Status_idefs.hh" 2441: class Status { 2441: public: 2441: 2441: Status(); 2441: 2441: 2441: 2441: bool test_zero_dim_univ() const; 2441: void reset_zero_dim_univ(); 2441: void set_zero_dim_univ(); 2441: 2441: bool test_empty() const; 2441: void reset_empty(); 2441: void set_empty(); 2441: 2441: bool test_shortest_path_closed() const; 2441: void reset_shortest_path_closed(); 2441: void set_shortest_path_closed(); 2441: 2441: bool test_shortest_path_reduced() const; 2441: void reset_shortest_path_reduced(); 2441: void set_shortest_path_reduced(); 2441: 2441: 2441: 2441: bool OK() const; 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: private: 2441: 2441: typedef unsigned int flags_t; 2441: 2441: 2441: 2441: static const flags_t ZERO_DIM_UNIV = 0U; 2441: static const flags_t EMPTY = 1U << 0; 2441: static const flags_t SHORTEST_PATH_CLOSED = 1U << 1; 2441: static const flags_t SHORTEST_PATH_REDUCED = 1U << 2; 2441: 2441: 2441: 2441: flags_t flags; 2441: 2441: 2441: Status(flags_t mask); 2441: 2441: 2441: bool test_all(flags_t mask) const; 2441: 2441: 2441: bool test_any(flags_t mask) const; 2441: 2441: 2441: void set(flags_t mask); 2441: 2441: 2441: void reset(flags_t mask); 2441: }; 2441: # 1944 "../../src/BD_Shape_defs.hh" 2 2441: 2441: 2441: 2441: Status status; 2441: 2441: 2441: Bit_Matrix redundancy_dbm; 2441: 2441: 2441: bool marked_zero_dim_univ() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool marked_empty() const; 2441: # 1970 "../../src/BD_Shape_defs.hh" 2441: bool marked_shortest_path_closed() const; 2441: # 1979 "../../src/BD_Shape_defs.hh" 2441: bool marked_shortest_path_reduced() const; 2441: 2441: 2441: void set_empty(); 2441: 2441: 2441: void set_zero_dim_univ(); 2441: 2441: 2441: void set_shortest_path_closed(); 2441: 2441: 2441: void set_shortest_path_reduced(); 2441: 2441: 2441: void reset_shortest_path_closed(); 2441: 2441: 2441: void reset_shortest_path_reduced(); 2441: 2441: 2441: void shortest_path_closure_assign() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: void shortest_path_reduction_assign() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_shortest_path_reduced() const; 2441: # 2027 "../../src/BD_Shape_defs.hh" 2441: void incremental_shortest_path_closure_assign(Variable var) const; 2441: # 2046 "../../src/BD_Shape_defs.hh" 2441: bool bounds(const Linear_Expression& expr, bool from_above) const; 2441: # 2079 "../../src/BD_Shape_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included, 2441: Generator& g) const; 2441: # 2110 "../../src/BD_Shape_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included) const; 2441: # 2128 "../../src/BD_Shape_defs.hh" 2441: bool BFT00_upper_bound_assign_if_exact(const BD_Shape& y); 2441: # 2146 "../../src/BD_Shape_defs.hh" 2441: template 2441: bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y); 2441: # 2159 "../../src/BD_Shape_defs.hh" 2441: void refine_no_check(const Constraint& c); 2441: # 2173 "../../src/BD_Shape_defs.hh" 2441: void refine_no_check(const Congruence& cg); 2441: 2441: 2441: void add_dbm_constraint(dimension_type i, dimension_type j, const N& k); 2441: 2441: 2441: void add_dbm_constraint(dimension_type i, dimension_type j, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void refine(Variable var, Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: 2441: 2441: void forget_all_dbm_constraints(dimension_type v); 2441: 2441: void forget_binary_dbm_constraints(dimension_type v); 2441: # 2214 "../../src/BD_Shape_defs.hh" 2441: void deduce_v_minus_u_bounds(dimension_type v, 2441: dimension_type last_v, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& ub_v); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void inhomogeneous_affine_form_image(const dimension_type& var_id, 2441: const Interval& b); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: one_variable_affine_form_image(const dimension_type& var_id, 2441: const Interval& b, 2441: const Interval& w_coeff, 2441: const dimension_type& w_id, 2441: const dimension_type& space_dim); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: two_variables_affine_form_image(const dimension_type& var_id, 2441: const Linear_Form >& lf, 2441: const dimension_type& space_dim); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: left_inhomogeneous_refine(const dimension_type& right_t, 2441: const dimension_type& right_w_id, 2441: const Linear_Form >& left, 2441: const Linear_Form >& right); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void 2441: left_one_var_refine(const dimension_type& left_w_id, 2441: const dimension_type& right_t, 2441: const dimension_type& right_w_id, 2441: const Linear_Form >& left, 2441: const Linear_Form >& right); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void general_refine(const dimension_type& left_w_id, 2441: const dimension_type& right_w_id, 2441: const Linear_Form >& left, 2441: const Linear_Form >& right); 2441: 2441: template 2441: void linear_form_upper_bound(const Linear_Form >& 2441: lf, 2441: N& result) const; 2441: # 2304 "../../src/BD_Shape_defs.hh" 2441: void deduce_u_minus_v_bounds(dimension_type v, 2441: dimension_type last_v, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& minus_lb_v); 2441: 2441: 2441: 2441: 2441: 2441: void get_limiting_shape(const Constraint_System& cs, 2441: BD_Shape& limiting_shape) const; 2441: 2441: 2441: 2441: 2441: 2441: void compute_predecessors(std::vector& predecessor) const; 2441: 2441: 2441: 2441: 2441: 2441: void compute_leaders(std::vector& leaders) const; 2441: 2441: void drop_some_non_integer_points_helper(N& elem); 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library::IO_Operators 2441: ::operator<<<>(std::ostream& s, const BD_Shape& c); 2441: 2441: 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const BD_Shape& y) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: dimension_type required_dim) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Constraint& c) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Congruence& cg) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Generator& g) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const; 2441: 2441: template 2441: void 2441: throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form >& 2441: lf) const; 2441: 2441: static void throw_expression_too_complex(const char* method, 2441: const Linear_Expression& le); 2441: 2441: static void throw_invalid_argument(const char* method, const char* reason); 2441: 2441: }; 2441: 2441: # 1 "../../src/BDS_Status_inlines.hh" 1 2441: # 27 "../../src/BDS_Status_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: BD_Shape::Status::Status(flags_t mask) 2441: : flags(mask) { 2441: } 2441: 2441: template 2441: inline 2441: BD_Shape::Status::Status() 2441: : flags(ZERO_DIM_UNIV) { 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::Status::test_all(flags_t mask) const { 2441: return (flags & mask) == mask; 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::Status::test_any(flags_t mask) const { 2441: return (flags & mask) != 0; 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::set(flags_t mask) { 2441: flags |= mask; 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::reset(flags_t mask) { 2441: flags &= ~mask; 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::Status::test_zero_dim_univ() const { 2441: return flags == ZERO_DIM_UNIV; 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::reset_zero_dim_univ() { 2441: 2441: if (flags == ZERO_DIM_UNIV) { 2441: 2441: flags = EMPTY; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::set_zero_dim_univ() { 2441: 2441: flags = ZERO_DIM_UNIV; 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::Status::test_empty() const { 2441: return test_any(EMPTY); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::reset_empty() { 2441: reset(EMPTY); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::set_empty() { 2441: flags = EMPTY; 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::Status::test_shortest_path_closed() const { 2441: return test_any(SHORTEST_PATH_CLOSED); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::reset_shortest_path_closed() { 2441: 2441: reset(SHORTEST_PATH_CLOSED | SHORTEST_PATH_REDUCED); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::set_shortest_path_closed() { 2441: set(SHORTEST_PATH_CLOSED); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::Status::test_shortest_path_reduced() const { 2441: return test_any(SHORTEST_PATH_REDUCED); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::reset_shortest_path_reduced() { 2441: reset(SHORTEST_PATH_REDUCED); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::Status::set_shortest_path_reduced() { 2441: ((void) 0); 2441: set(SHORTEST_PATH_REDUCED); 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::Status::OK() const { 2441: if (test_zero_dim_univ()) { 2441: 2441: return true; 2441: } 2441: 2441: if (test_empty()) { 2441: Status copy = *this; 2441: copy.reset_empty(); 2441: if (copy.test_zero_dim_univ()) { 2441: return true; 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: if (test_shortest_path_reduced()) { 2441: if (test_shortest_path_closed()) { 2441: return true; 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: 2441: namespace Implementation { 2441: 2441: namespace BD_Shapes { 2441: 2441: 2441: extern const char* zero_dim_univ; 2441: extern const char* empty; 2441: extern const char* sp_closed; 2441: extern const char* sp_reduced; 2441: const char yes = '+'; 2441: const char no = '-'; 2441: const char separator = ' '; 2441: # 207 "../../src/BDS_Status_inlines.hh" 2441: inline bool 2441: get_field(std::istream& s, const char* keyword, bool& positive) { 2441: std::string str; 2441: if (!(s >> str) 2441: || (str[0] != yes && str[0] != no) 2441: || str.substr(1) != keyword) { 2441: return false; 2441: } 2441: positive = (str[0] == yes); 2441: return true; 2441: } 2441: 2441: } 2441: 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::Status::ascii_dump(std::ostream& s) const { 2441: using namespace Implementation::BD_Shapes; 2441: s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ << separator 2441: << (test_empty() ? yes : no) << empty << separator 2441: << separator 2441: << (test_shortest_path_closed() ? yes : no) << sp_closed << separator 2441: << (test_shortest_path_reduced() ? yes : no) << sp_reduced << separator; 2441: } 2441: 2441: template void BD_Shape::Status::ascii_dump() const { ascii_dump(std::cerr); } template void BD_Shape::Status::print() const { std::cerr << "No user level output operator defined " << "for " "BD_Shape::Status" << "." << std::endl; } 2441: 2441: template 2441: bool 2441: BD_Shape::Status::ascii_load(std::istream& s) { 2441: using namespace Implementation::BD_Shapes; 2441: bool positive = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: if (!get_field(s, zero_dim_univ, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_zero_dim_univ(); 2441: } 2441: 2441: if (!get_field(s, empty, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_empty(); 2441: } 2441: 2441: if (!get_field(s, sp_closed, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_shortest_path_closed(); 2441: } 2441: else { 2441: reset_shortest_path_closed(); 2441: } 2441: 2441: if (!get_field(s, sp_reduced, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_shortest_path_reduced(); 2441: } 2441: else { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: } 2441: # 2371 "../../src/BD_Shape_defs.hh" 2 2441: # 1 "../../src/BD_Shape_inlines.hh" 1 2441: # 29 "../../src/BD_Shape_inlines.hh" 2441: # 1 "../../src/C_Polyhedron_defs.hh" 1 2441: # 27 "../../src/C_Polyhedron_defs.hh" 2441: # 1 "../../src/C_Polyhedron_types.hh" 1 2441: # 16 "../../src/C_Polyhedron_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class C_Polyhedron; 2441: 2441: } 2441: # 28 "../../src/C_Polyhedron_defs.hh" 2 2441: # 1 "../../src/NNC_Polyhedron_types.hh" 1 2441: # 16 "../../src/NNC_Polyhedron_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: class NNC_Polyhedron; 2441: 2441: } 2441: # 29 "../../src/C_Polyhedron_defs.hh" 2 2441: # 59 "../../src/C_Polyhedron_defs.hh" 2441: class Parma_Polyhedra_Library::C_Polyhedron : public Polyhedron { 2441: public: 2441: # 75 "../../src/C_Polyhedron_defs.hh" 2441: explicit C_Polyhedron(dimension_type num_dimensions = 0, 2441: Degenerate_Element kind = UNIVERSE); 2441: # 88 "../../src/C_Polyhedron_defs.hh" 2441: explicit C_Polyhedron(const Constraint_System& cs); 2441: # 106 "../../src/C_Polyhedron_defs.hh" 2441: C_Polyhedron(Constraint_System& cs, Recycle_Input dummy); 2441: # 119 "../../src/C_Polyhedron_defs.hh" 2441: explicit C_Polyhedron(const Generator_System& gs); 2441: # 138 "../../src/C_Polyhedron_defs.hh" 2441: C_Polyhedron(Generator_System& gs, Recycle_Input dummy); 2441: # 147 "../../src/C_Polyhedron_defs.hh" 2441: explicit C_Polyhedron(const Congruence_System& cgs); 2441: # 163 "../../src/C_Polyhedron_defs.hh" 2441: C_Polyhedron(Congruence_System& cgs, Recycle_Input dummy); 2441: # 175 "../../src/C_Polyhedron_defs.hh" 2441: explicit C_Polyhedron(const NNC_Polyhedron& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 194 "../../src/C_Polyhedron_defs.hh" 2441: template 2441: explicit C_Polyhedron(const Box& box, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 210 "../../src/C_Polyhedron_defs.hh" 2441: template 2441: explicit C_Polyhedron(const BD_Shape& bd, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 226 "../../src/C_Polyhedron_defs.hh" 2441: template 2441: explicit C_Polyhedron(const Octagonal_Shape& os, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 242 "../../src/C_Polyhedron_defs.hh" 2441: explicit C_Polyhedron(const Grid& grid, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: C_Polyhedron(const C_Polyhedron& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: C_Polyhedron& operator=(const C_Polyhedron& y); 2441: 2441: 2441: C_Polyhedron& operator=(const NNC_Polyhedron& y); 2441: 2441: 2441: ~C_Polyhedron(); 2441: # 272 "../../src/C_Polyhedron_defs.hh" 2441: bool poly_hull_assign_if_exact(const C_Polyhedron& y); 2441: 2441: 2441: bool upper_bound_assign_if_exact(const C_Polyhedron& y); 2441: # 286 "../../src/C_Polyhedron_defs.hh" 2441: void positive_time_elapse_assign(const Polyhedron& y); 2441: }; 2441: 2441: # 1 "../../src/C_Polyhedron_inlines.hh" 1 2441: # 30 "../../src/C_Polyhedron_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: inline 2441: C_Polyhedron::~C_Polyhedron() { 2441: } 2441: 2441: inline 2441: C_Polyhedron::C_Polyhedron(dimension_type num_dimensions, 2441: Degenerate_Element kind) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_space_dimension_overflow(num_dimensions, 2441: NECESSARILY_CLOSED, 2441: "C_Polyhedron(n, k)", 2441: "n exceeds the maximum " 2441: "allowed space dimension"), 2441: kind) { 2441: } 2441: 2441: inline 2441: C_Polyhedron::C_Polyhedron(const Constraint_System& cs) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_obj_space_dimension_overflow(cs, NECESSARILY_CLOSED, 2441: "C_Polyhedron(cs)", 2441: "the space dimension of cs " 2441: "exceeds the maximum allowed " 2441: "space dimension")) { 2441: } 2441: 2441: inline 2441: C_Polyhedron::C_Polyhedron(Constraint_System& cs, Recycle_Input) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_obj_space_dimension_overflow(cs, NECESSARILY_CLOSED, 2441: "C_Polyhedron(cs, recycle)", 2441: "the space dimension of cs " 2441: "exceeds the maximum allowed " 2441: "space dimension"), 2441: Recycle_Input()) { 2441: } 2441: 2441: inline 2441: C_Polyhedron::C_Polyhedron(const Generator_System& gs) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_obj_space_dimension_overflow(gs, NECESSARILY_CLOSED, 2441: "C_Polyhedron(gs)", 2441: "the space dimension of gs " 2441: "exceeds the maximum allowed " 2441: "space dimension")) { 2441: } 2441: 2441: inline 2441: C_Polyhedron::C_Polyhedron(Generator_System& gs, Recycle_Input) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_obj_space_dimension_overflow(gs, NECESSARILY_CLOSED, 2441: "C_Polyhedron(gs, recycle)", 2441: "the space dimension of gs " 2441: "exceeds the maximum allowed " 2441: "space dimension"), 2441: Recycle_Input()) { 2441: } 2441: 2441: template 2441: inline 2441: C_Polyhedron::C_Polyhedron(const Box& box, Complexity_Class) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_obj_space_dimension_overflow(box, NECESSARILY_CLOSED, 2441: "C_Polyhedron(box)", 2441: "the space dimension of box " 2441: "exceeds the maximum allowed " 2441: "space dimension")) { 2441: } 2441: 2441: template 2441: inline 2441: C_Polyhedron::C_Polyhedron(const BD_Shape& bd, Complexity_Class) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_space_dimension_overflow(bd.space_dimension(), 2441: NECESSARILY_CLOSED, 2441: "C_Polyhedron(bd)", 2441: "the space dimension of bd " 2441: "exceeds the maximum allowed " 2441: "space dimension"), 2441: UNIVERSE) { 2441: add_constraints(bd.constraints()); 2441: } 2441: 2441: template 2441: inline 2441: C_Polyhedron::C_Polyhedron(const Octagonal_Shape& os, Complexity_Class) 2441: : Polyhedron(NECESSARILY_CLOSED, 2441: check_space_dimension_overflow(os.space_dimension(), 2441: NECESSARILY_CLOSED, 2441: "C_Polyhedron(os)", 2441: "the space dimension of os " 2441: "exceeds the maximum allowed " 2441: "space dimension"), 2441: UNIVERSE) { 2441: add_constraints(os.constraints()); 2441: } 2441: 2441: inline 2441: C_Polyhedron::C_Polyhedron(const C_Polyhedron& y, Complexity_Class) 2441: : Polyhedron(y) { 2441: } 2441: 2441: inline C_Polyhedron& 2441: C_Polyhedron::operator=(const C_Polyhedron& y) { 2441: Polyhedron::operator=(y); 2441: return *this; 2441: } 2441: 2441: inline C_Polyhedron& 2441: C_Polyhedron::operator=(const NNC_Polyhedron& y) { 2441: C_Polyhedron c_y(y); 2441: m_swap(c_y); 2441: return *this; 2441: } 2441: 2441: inline bool 2441: C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron& y) { 2441: return poly_hull_assign_if_exact(y); 2441: } 2441: 2441: } 2441: # 290 "../../src/C_Polyhedron_defs.hh" 2 2441: # 30 "../../src/BD_Shape_inlines.hh" 2 2441: 2441: # 1 "../../src/Octagonal_Shape_defs.hh" 1 2441: # 36 "../../src/Octagonal_Shape_defs.hh" 2441: # 1 "../../src/OR_Matrix_defs.hh" 1 2441: # 27 "../../src/OR_Matrix_defs.hh" 2441: # 1 "../../src/OR_Matrix_types.hh" 1 2441: # 16 "../../src/OR_Matrix_types.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: class OR_Matrix; 2441: 2441: } 2441: # 28 "../../src/OR_Matrix_defs.hh" 2 2441: # 50 "../../src/OR_Matrix_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator==(const OR_Matrix& x, const OR_Matrix& y); 2441: 2441: namespace IO_Operators { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: std::ostream& 2441: operator<<(std::ostream& s, const OR_Matrix& m); 2441: 2441: } 2441: 2441: } 2441: # 104 "../../src/OR_Matrix_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::OR_Matrix { 2441: private: 2441: 2441: 2441: 2441: 2441: template 2441: class Pseudo_Row { 2441: public: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: Pseudo_Row(const Pseudo_Row& y); 2441: 2441: 2441: ~Pseudo_Row(); 2441: 2441: 2441: U& operator[](dimension_type k) const; 2441: 2441: 2441: Pseudo_Row(); 2441: 2441: 2441: Pseudo_Row& operator=(const Pseudo_Row& y); 2441: 2441: 2441: private: 2441: # 149 "../../src/OR_Matrix_defs.hh" 2441: explicit Pseudo_Row(U& y); 2441: 2441: 2441: 2441: 2441: U* first; 2441: # 181 "../../src/OR_Matrix_defs.hh" 2441: template friend class Pseudo_Row; 2441: template friend class any_row_iterator; 2441: 2441: 2441: friend class OR_Matrix; 2441: }; 2441: 2441: public: 2441: 2441: typedef Pseudo_Row row_reference_type; 2441: 2441: 2441: typedef Pseudo_Row const_row_reference_type; 2441: 2441: private: 2441: 2441: 2441: 2441: 2441: template 2441: class any_row_iterator { 2441: public: 2441: typedef std::random_access_iterator_tag iterator_category; 2441: typedef Pseudo_Row value_type; 2441: typedef long difference_type; 2441: typedef const Pseudo_Row* pointer; 2441: typedef const Pseudo_Row& reference; 2441: 2441: 2441: any_row_iterator(dimension_type n_rows); 2441: 2441: 2441: 2441: 2441: 2441: explicit any_row_iterator(U& base); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: any_row_iterator(const any_row_iterator& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: any_row_iterator& operator=(const any_row_iterator& y); 2441: 2441: 2441: reference operator*() const; 2441: 2441: 2441: pointer operator->() const; 2441: 2441: 2441: any_row_iterator& operator++(); 2441: 2441: 2441: any_row_iterator operator++(int); 2441: 2441: 2441: any_row_iterator& operator--(); 2441: 2441: 2441: any_row_iterator operator--(int); 2441: 2441: 2441: reference operator[](difference_type m) const; 2441: 2441: 2441: any_row_iterator& operator+=(difference_type m); 2441: 2441: 2441: template 2441: typename Enable_If<(static_cast(-1) > 0), any_row_iterator&>::type 2441: operator+=(Unsigned m); 2441: 2441: 2441: any_row_iterator& operator-=(difference_type m); 2441: 2441: 2441: difference_type operator-(const any_row_iterator& y) const; 2441: 2441: 2441: any_row_iterator operator+(difference_type m) const; 2441: 2441: 2441: template 2441: typename Enable_If<(static_cast(-1) > 0), any_row_iterator>::type 2441: operator+(Unsigned m) const; 2441: 2441: 2441: any_row_iterator operator-(difference_type m) const; 2441: 2441: 2441: bool operator==(const any_row_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator!=(const any_row_iterator& y) const; 2441: 2441: 2441: bool operator<(const any_row_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator<=(const any_row_iterator& y) const; 2441: 2441: 2441: bool operator>(const any_row_iterator& y) const; 2441: 2441: 2441: 2441: 2441: 2441: bool operator>=(const any_row_iterator& y) const; 2441: 2441: dimension_type row_size() const; 2441: 2441: dimension_type index() const; 2441: 2441: private: 2441: 2441: Pseudo_Row value; 2441: 2441: 2441: dimension_type e; 2441: 2441: 2441: dimension_type i; 2441: # 326 "../../src/OR_Matrix_defs.hh" 2441: template friend class any_row_iterator; 2441: 2441: }; 2441: 2441: public: 2441: 2441: typedef any_row_iterator row_iterator; 2441: 2441: 2441: typedef any_row_iterator const_row_iterator; 2441: 2441: 2441: typedef typename DB_Row::iterator element_iterator; 2441: 2441: 2441: typedef typename DB_Row::const_iterator const_element_iterator; 2441: 2441: public: 2441: 2441: static dimension_type max_num_rows(); 2441: # 355 "../../src/OR_Matrix_defs.hh" 2441: OR_Matrix(dimension_type num_dimensions); 2441: 2441: 2441: OR_Matrix(const OR_Matrix& y); 2441: 2441: 2441: template 2441: explicit OR_Matrix(const OR_Matrix& y); 2441: 2441: 2441: ~OR_Matrix(); 2441: 2441: 2441: OR_Matrix& operator=(const OR_Matrix& y); 2441: 2441: private: 2441: template friend class OR_Matrix; 2441: # 381 "../../src/OR_Matrix_defs.hh" 2441: DB_Row vec; 2441: 2441: 2441: dimension_type space_dim; 2441: 2441: 2441: dimension_type vec_capacity; 2441: 2441: 2441: OR_Matrix(); 2441: 2441: 2441: 2441: 2441: 2441: static dimension_type row_first_element_index(dimension_type k); 2441: 2441: public: 2441: 2441: static dimension_type row_size(dimension_type k); 2441: 2441: 2441: void m_swap(OR_Matrix& y); 2441: # 417 "../../src/OR_Matrix_defs.hh" 2441: void grow(dimension_type new_dim); 2441: # 427 "../../src/OR_Matrix_defs.hh" 2441: void shrink(dimension_type new_dim); 2441: # 441 "../../src/OR_Matrix_defs.hh" 2441: void resize_no_copy(dimension_type new_dim); 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: dimension_type num_rows() const; 2441: 2441: 2441: 2441: 2441: row_reference_type operator[](dimension_type k); 2441: 2441: 2441: const_row_reference_type operator[](dimension_type k) const; 2441: # 464 "../../src/OR_Matrix_defs.hh" 2441: row_iterator row_begin(); 2441: 2441: 2441: row_iterator row_end(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_row_iterator row_begin() const; 2441: 2441: 2441: const_row_iterator row_end() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: element_iterator element_begin(); 2441: 2441: 2441: element_iterator element_end(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: const_element_iterator element_begin() const; 2441: 2441: 2441: const_element_iterator element_end() const; 2441: 2441: 2441: void clear(); 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: friend bool operator==(const OR_Matrix& x, const OR_Matrix& y); 2441: 2441: 2441: bool OK() const; 2441: }; 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void swap(OR_Matrix& x, OR_Matrix& y); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: bool operator!=(const OR_Matrix& x, const OR_Matrix& y); 2441: # 552 "../../src/OR_Matrix_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const OR_Matrix& x, 2441: const OR_Matrix& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 574 "../../src/OR_Matrix_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const OR_Matrix& x, 2441: const OR_Matrix& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 596 "../../src/OR_Matrix_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const OR_Matrix& x, 2441: const OR_Matrix& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: 2441: } 2441: 2441: # 1 "../../src/OR_Matrix_inlines.hh" 1 2441: # 35 "../../src/OR_Matrix_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline dimension_type 2441: OR_Matrix::row_first_element_index(const dimension_type k) { 2441: return ((k + 1)*(k + 1))/2; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: OR_Matrix::row_size(const dimension_type k) { 2441: return k + 2 - k % 2; 2441: } 2441: # 60 "../../src/OR_Matrix_inlines.hh" 2441: template 2441: template 2441: inline 2441: OR_Matrix::Pseudo_Row::Pseudo_Row() 2441: : first(0) 2441: 2441: 2441: 2441: { 2441: } 2441: 2441: template 2441: template 2441: inline 2441: OR_Matrix::Pseudo_Row::Pseudo_Row(U& y 2441: 2441: 2441: 2441: ) 2441: : first(&y) 2441: 2441: 2441: 2441: { 2441: } 2441: 2441: template 2441: template 2441: template 2441: inline 2441: OR_Matrix::Pseudo_Row::Pseudo_Row(const Pseudo_Row& y) 2441: : first(y.first) 2441: 2441: 2441: 2441: { 2441: } 2441: 2441: template 2441: template 2441: inline OR_Matrix::Pseudo_Row& 2441: OR_Matrix::Pseudo_Row::operator=(const Pseudo_Row& y) { 2441: first = y.first; 2441: 2441: 2441: 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: inline 2441: OR_Matrix::Pseudo_Row::~Pseudo_Row() { 2441: } 2441: 2441: template 2441: template 2441: inline U& 2441: OR_Matrix::Pseudo_Row::operator[](const dimension_type k) const { 2441: 2441: 2441: 2441: return *(first + k); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: OR_Matrix::any_row_iterator 2441: ::any_row_iterator(const dimension_type n_rows) 2441: : value(), 2441: e(n_rows) 2441: 2441: { 2441: 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: template 2441: inline 2441: OR_Matrix::any_row_iterator::any_row_iterator(U& base) 2441: : value(base 2441: 2441: 2441: 2441: ), 2441: e(0), 2441: i(0) { 2441: } 2441: 2441: template 2441: template 2441: template 2441: inline 2441: OR_Matrix::any_row_iterator 2441: ::any_row_iterator(const any_row_iterator& y) 2441: : value(y.value), 2441: e(y.e), 2441: i(y.i) { 2441: } 2441: 2441: template 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator& 2441: OR_Matrix::any_row_iterator::operator=(const any_row_iterator& y) { 2441: value = y.value; 2441: e = y.e; 2441: i = y.i; 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator::reference 2441: OR_Matrix::any_row_iterator::operator*() const { 2441: return value; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator::pointer 2441: OR_Matrix::any_row_iterator::operator->() const { 2441: return &value; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator& 2441: OR_Matrix::any_row_iterator::operator++() { 2441: ++e; 2441: dimension_type increment = e; 2441: if (e % 2 != 0) { 2441: ++increment; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: i += increment; 2441: value.first += increment; 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator 2441: OR_Matrix::any_row_iterator::operator++(int) { 2441: any_row_iterator old = *this; 2441: ++(*this); 2441: return old; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator& 2441: OR_Matrix::any_row_iterator::operator--() { 2441: dimension_type decrement = e + 1; 2441: --e; 2441: if (e % 2 != 0) { 2441: ++decrement; 2441: 2441: 2441: 2441: } 2441: i -= decrement; 2441: value.first -= decrement; 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator 2441: OR_Matrix::any_row_iterator::operator--(int) { 2441: any_row_iterator old = *this; 2441: --(*this); 2441: return old; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator& 2441: OR_Matrix::any_row_iterator::operator+=(const difference_type m) { 2441: difference_type e_dt = static_cast(e); 2441: difference_type i_dt = static_cast(i); 2441: difference_type increment = m + (m * m) / 2 + m * e_dt; 2441: if (e_dt % 2 == 0 && m % 2 != 0) { 2441: ++increment; 2441: } 2441: e_dt += m; 2441: i_dt += increment; 2441: e = static_cast(e_dt); 2441: i = static_cast(i_dt); 2441: value.first += increment; 2441: 2441: 2441: 2441: 2441: 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: template 2441: inline typename 2441: Enable_If<(static_cast(-1) > 0), 2441: typename OR_Matrix::template any_row_iterator& >::type 2441: OR_Matrix::any_row_iterator::operator+=(Unsigned m) { 2441: dimension_type n = m; 2441: dimension_type increment = n + (n*n)/2 + n*e; 2441: if (e % 2 == 0 && n % 2 != 0) { 2441: ++increment; 2441: } 2441: e += n; 2441: i += increment; 2441: value.first += increment; 2441: 2441: 2441: 2441: return *this; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator& 2441: OR_Matrix::any_row_iterator::operator-=(difference_type m) { 2441: return *this += -m; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator::difference_type 2441: OR_Matrix::any_row_iterator::operator-(const any_row_iterator& y) const { 2441: return e - y.e; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator 2441: OR_Matrix::any_row_iterator::operator+(difference_type m) const { 2441: any_row_iterator r = *this; 2441: r += m; 2441: return r; 2441: } 2441: 2441: template 2441: template 2441: template 2441: inline typename 2441: Enable_If<(static_cast(-1) > 0), 2441: typename OR_Matrix::template any_row_iterator >::type 2441: OR_Matrix::any_row_iterator::operator+(Unsigned m) const { 2441: any_row_iterator r = *this; 2441: r += m; 2441: return r; 2441: } 2441: 2441: template 2441: template 2441: inline typename OR_Matrix::template any_row_iterator 2441: OR_Matrix::any_row_iterator::operator-(const difference_type m) const { 2441: any_row_iterator r = *this; 2441: r -= m; 2441: return r; 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: OR_Matrix::any_row_iterator 2441: ::operator==(const any_row_iterator& y) const { 2441: return e == y.e; 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: OR_Matrix::any_row_iterator 2441: ::operator!=(const any_row_iterator& y) const { 2441: return e != y.e; 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: OR_Matrix::any_row_iterator::operator<(const any_row_iterator& y) const { 2441: return e < y.e; 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: OR_Matrix::any_row_iterator 2441: ::operator<=(const any_row_iterator& y) const { 2441: return e <= y.e; 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: OR_Matrix::any_row_iterator::operator>(const any_row_iterator& y) const { 2441: return e > y.e; 2441: } 2441: 2441: template 2441: template 2441: inline bool 2441: OR_Matrix::any_row_iterator 2441: ::operator>=(const any_row_iterator& y) const { 2441: return e >= y.e; 2441: } 2441: 2441: template 2441: template 2441: inline dimension_type 2441: OR_Matrix::any_row_iterator::row_size() const { 2441: return OR_Matrix::row_size(e); 2441: } 2441: 2441: template 2441: template 2441: inline dimension_type 2441: OR_Matrix::any_row_iterator::index() const { 2441: return e; 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::row_iterator 2441: OR_Matrix::row_begin() { 2441: return num_rows() == 0 ? row_iterator(0) : row_iterator(vec[0]); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::row_iterator 2441: OR_Matrix::row_end() { 2441: return row_iterator(num_rows()); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::const_row_iterator 2441: OR_Matrix::row_begin() const { 2441: return num_rows() == 0 ? const_row_iterator(0) : const_row_iterator(vec[0]); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::const_row_iterator 2441: OR_Matrix::row_end() const { 2441: return const_row_iterator(num_rows()); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::element_iterator 2441: OR_Matrix::element_begin() { 2441: return vec.begin(); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::element_iterator 2441: OR_Matrix::element_end() { 2441: return vec.end(); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::const_element_iterator 2441: OR_Matrix::element_begin() const { 2441: return vec.begin(); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::const_element_iterator 2441: OR_Matrix::element_end() const { 2441: return vec.end(); 2441: } 2441: 2441: template 2441: inline void 2441: OR_Matrix::m_swap(OR_Matrix& y) { 2441: using std::swap; 2441: swap(vec, y.vec); 2441: swap(space_dim, y.space_dim); 2441: swap(vec_capacity, y.vec_capacity); 2441: } 2441: 2441: 2441: 2441: 2441: inline dimension_type 2441: isqrt(dimension_type x) { 2441: dimension_type r = 0; 2441: const dimension_type FIRST_BIT_MASK = 0x40000000U; 2441: for (dimension_type t = FIRST_BIT_MASK; t != 0; t >>= 2) { 2441: const dimension_type s = r + t; 2441: if (s <= x) { 2441: x -= s; 2441: r = s + t; 2441: } 2441: r >>= 1; 2441: } 2441: return r; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: OR_Matrix::max_num_rows() { 2441: 2441: 2441: const dimension_type k = isqrt(2*DB_Row::max_size() + 1); 2441: return (k - 1) - (k - 1) % 2; 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: OR_Matrix::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline 2441: OR_Matrix::OR_Matrix(const dimension_type num_dimensions) 2441: : vec(2*num_dimensions*(num_dimensions + 1)), 2441: space_dim(num_dimensions), 2441: vec_capacity(vec.size()) { 2441: } 2441: 2441: template 2441: inline 2441: OR_Matrix::~OR_Matrix() { 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::row_reference_type 2441: OR_Matrix::operator[](dimension_type k) { 2441: return row_reference_type(vec[row_first_element_index(k)] 2441: 2441: 2441: 2441: ); 2441: } 2441: 2441: template 2441: inline typename OR_Matrix::const_row_reference_type 2441: OR_Matrix::operator[](dimension_type k) const { 2441: return const_row_reference_type(vec[row_first_element_index(k)] 2441: 2441: 2441: 2441: ); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: OR_Matrix::space_dimension() const { 2441: return space_dim; 2441: } 2441: 2441: template 2441: inline dimension_type 2441: OR_Matrix::num_rows() const { 2441: return 2*space_dimension(); 2441: } 2441: 2441: template 2441: inline void 2441: OR_Matrix::clear() { 2441: OR_Matrix(0).m_swap(*this); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const OR_Matrix& x, const OR_Matrix& y) { 2441: return x.space_dim == y.space_dim && x.vec == y.vec; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const OR_Matrix& x, const OR_Matrix& y) { 2441: return !(x == y); 2441: } 2441: 2441: template 2441: inline 2441: OR_Matrix::OR_Matrix(const OR_Matrix& y) 2441: : vec(y.vec), 2441: space_dim(y.space_dim), 2441: vec_capacity(compute_capacity(y.vec.size(), 2441: DB_Row::max_size())) { 2441: } 2441: 2441: template 2441: template 2441: inline 2441: OR_Matrix::OR_Matrix(const OR_Matrix& y) 2441: : vec(), 2441: space_dim(y.space_dim), 2441: vec_capacity(compute_capacity(y.vec.size(), 2441: DB_Row::max_size())) { 2441: vec.construct_upward_approximation(y.vec, vec_capacity); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline OR_Matrix& 2441: OR_Matrix::operator=(const OR_Matrix& y) { 2441: vec = y.vec; 2441: space_dim = y.space_dim; 2441: vec_capacity = compute_capacity(y.vec.size(), DB_Row::max_size()); 2441: return *this; 2441: } 2441: 2441: template 2441: inline void 2441: OR_Matrix::grow(const dimension_type new_dim) { 2441: ((void) 0); 2441: if (new_dim > space_dim) { 2441: const dimension_type new_size = 2*new_dim*(new_dim + 1); 2441: if (new_size <= vec_capacity) { 2441: 2441: vec.expand_within_capacity(new_size); 2441: space_dim = new_dim; 2441: } 2441: else { 2441: 2441: OR_Matrix new_matrix(new_dim); 2441: element_iterator j = new_matrix.element_begin(); 2441: for (element_iterator i = element_begin(), 2441: mend = element_end(); i != mend; ++i, ++j) { 2441: assign_or_swap(*j, *i); 2441: } 2441: m_swap(new_matrix); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: OR_Matrix::shrink(const dimension_type new_dim) { 2441: ((void) 0); 2441: const dimension_type new_size = 2*new_dim*(new_dim + 1); 2441: vec.shrink(new_size); 2441: space_dim = new_dim; 2441: } 2441: 2441: template 2441: inline void 2441: OR_Matrix::resize_no_copy(const dimension_type new_dim) { 2441: if (new_dim > space_dim) { 2441: const dimension_type new_size = 2*new_dim*(new_dim + 1); 2441: if (new_size <= vec_capacity) { 2441: 2441: vec.expand_within_capacity(new_size); 2441: space_dim = new_dim; 2441: } 2441: else { 2441: 2441: OR_Matrix new_matrix(new_dim); 2441: m_swap(new_matrix); 2441: } 2441: } 2441: else if (new_dim < space_dim) { 2441: shrink(new_dim); 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: l_m_distance_assign(Checked_Number& r, 2441: const OR_Matrix& x, 2441: const OR_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: if (x.num_rows() != y.num_rows()) { 2441: return false; 2441: } 2441: assign_r(tmp0, 0, ROUND_NOT_NEEDED); 2441: for (typename OR_Matrix::const_element_iterator 2441: i = x.element_begin(), j = y.element_begin(), 2441: mat_end = x.element_end(); i != mat_end; ++i, ++j) { 2441: const T& x_i = *i; 2441: const T& y_i = *j; 2441: if (is_plus_infinity(x_i)) { 2441: if (is_plus_infinity(y_i)) { 2441: continue; 2441: } 2441: else { 2441: pinf: 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: return true; 2441: } 2441: } 2441: else if (is_plus_infinity(y_i)) { 2441: goto pinf; 2441: } 2441: const Temp* tmp1p; 2441: const Temp* tmp2p; 2441: if (x_i > y_i) { 2441: maybe_assign(tmp1p, tmp1, x_i, dir); 2441: maybe_assign(tmp2p, tmp2, y_i, inverse(dir)); 2441: } 2441: else { 2441: maybe_assign(tmp1p, tmp1, y_i, dir); 2441: maybe_assign(tmp2p, tmp2, x_i, inverse(dir)); 2441: } 2441: sub_assign_r(tmp1, *tmp1p, *tmp2p, dir); 2441: ((void) 0); 2441: Specialization::combine(tmp0, tmp1, dir); 2441: } 2441: 2441: Specialization::finalize(tmp0, dir); 2441: assign_r(r, tmp0, dir); 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const OR_Matrix& x, 2441: const OR_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return 2441: l_m_distance_assign >(r, x, y, 2441: dir, 2441: tmp0, 2441: tmp1, 2441: tmp2); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const OR_Matrix& x, 2441: const OR_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return 2441: l_m_distance_assign >(r, x, y, 2441: dir, 2441: tmp0, 2441: tmp1, 2441: tmp2); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const OR_Matrix& x, 2441: const OR_Matrix& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: return 2441: l_m_distance_assign >(r, x, y, 2441: dir, 2441: tmp0, 2441: tmp1, 2441: tmp2); 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(OR_Matrix& x, OR_Matrix& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 608 "../../src/OR_Matrix_defs.hh" 2 2441: # 1 "../../src/OR_Matrix_templates.hh" 1 2441: # 29 "../../src/OR_Matrix_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: memory_size_type 2441: OR_Matrix::external_memory_in_bytes() const{ 2441: return vec.external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: bool 2441: OR_Matrix::OK() const { 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type dim = space_dimension(); 2441: if (vec.size() != 2*dim*(dim + 1)) { 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: 2441: 2441: if (!vec.OK(vec.size(), vec_capacity)) { 2441: return false; 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: OR_Matrix::ascii_dump(std::ostream& s) const { 2441: const OR_Matrix& x = *this; 2441: const char separator = ' '; 2441: dimension_type space = x.space_dimension(); 2441: s << space << separator << "\n"; 2441: for (const_row_iterator i = x.row_begin(), 2441: x_row_end = x.row_end(); i != x_row_end; ++i) { 2441: const_row_reference_type r = *i; 2441: dimension_type rs = i.row_size(); 2441: for (dimension_type j = 0; j < rs; ++j) { 2441: using namespace IO_Operators; 2441: s << r[j] << separator; 2441: } 2441: s << "\n"; 2441: } 2441: } 2441: 2441: template void OR_Matrix::ascii_dump() const { ascii_dump(std::cerr); } template void OR_Matrix::print() const { using IO_Operators::operator<<; std::cerr << *this; } 2441: 2441: template 2441: bool 2441: OR_Matrix::ascii_load(std::istream& s) { 2441: dimension_type space; 2441: if (!(s >> space)) { 2441: return false; 2441: } 2441: resize_no_copy(space); 2441: for (row_iterator i = row_begin(), 2441: this_row_end = row_end(); i != this_row_end; ++i) { 2441: row_reference_type r_i = *i; 2441: const dimension_type rs = i.row_size(); 2441: for (dimension_type j = 0; j < rs; ++j) { 2441: Result r = input(r_i[j], s, ROUND_CHECK); 2441: if (result_relation(r) != VR_EQ || is_minus_infinity(r_i[j])) { 2441: return false; 2441: } 2441: } 2441: } 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: std::ostream& 2441: IO_Operators::operator<<(std::ostream& s, const OR_Matrix& m) { 2441: for (typename OR_Matrix::const_row_iterator m_iter = m.row_begin(), 2441: m_end = m.row_end(); m_iter != m_end; ++m_iter) { 2441: typename OR_Matrix::const_row_reference_type r_m = *m_iter; 2441: const dimension_type mr_size = m_iter.row_size(); 2441: for (dimension_type j = 0; j < mr_size; ++j) { 2441: s << r_m[j] << " "; 2441: } 2441: s << "\n"; 2441: } 2441: return s; 2441: } 2441: 2441: } 2441: # 609 "../../src/OR_Matrix_defs.hh" 2 2441: # 37 "../../src/Octagonal_Shape_defs.hh" 2 2441: # 52 "../../src/Octagonal_Shape_defs.hh" 2441: # 1 "/usr/include/c++/8/climits" 1 3 2441: # 39 "/usr/include/c++/8/climits" 3 2441: 2441: # 40 "/usr/include/c++/8/climits" 3 2441: 2441: 2441: # 1 "/usr/lib/gcc/i686-linux-gnu/8/include-fixed/limits.h" 1 3 4 2441: # 43 "/usr/include/c++/8/climits" 2 3 2441: # 53 "../../src/Octagonal_Shape_defs.hh" 2 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace IO_Operators { 2441: # 67 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: std::ostream& 2441: operator<<(std::ostream& s, const Octagonal_Shape& oct); 2441: 2441: } 2441: 2441: 2441: 2441: template 2441: void swap(Octagonal_Shape& x, Octagonal_Shape& y); 2441: # 85 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool operator==(const Octagonal_Shape& x, const Octagonal_Shape& y); 2441: # 95 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool operator!=(const Octagonal_Shape& x, const Octagonal_Shape& y); 2441: # 109 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir); 2441: # 126 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir); 2441: # 143 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool rectilinear_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 163 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir); 2441: # 180 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir); 2441: # 197 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool euclidean_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: # 217 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir); 2441: # 234 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir); 2441: # 251 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: bool l_infinity_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2); 2441: 2441: 2441: 2441: class Octagonal_Shape_Helper { 2441: public: 2441: # 304 "../../src/Octagonal_Shape_defs.hh" 2441: static bool extract_octagonal_difference(const Constraint& c, 2441: dimension_type c_space_dim, 2441: dimension_type& c_num_vars, 2441: dimension_type& c_first_var, 2441: dimension_type& c_second_var, 2441: Coefficient& c_coeff, 2441: Coefficient& c_term); 2441: }; 2441: 2441: } 2441: # 419 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: class Parma_Polyhedra_Library::Octagonal_Shape { 2441: private: 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef Checked_Number N; 2441: 2441: 2441: public: 2441: 2441: 2441: typedef T coefficient_type_base; 2441: 2441: 2441: 2441: 2441: 2441: typedef N coefficient_type; 2441: 2441: 2441: static dimension_type max_space_dimension(); 2441: 2441: 2441: 2441: 2441: static bool can_recycle_constraint_systems(); 2441: 2441: 2441: 2441: 2441: static bool can_recycle_congruence_systems(); 2441: # 467 "../../src/Octagonal_Shape_defs.hh" 2441: explicit Octagonal_Shape(dimension_type num_dimensions = 0, 2441: Degenerate_Element kind = UNIVERSE); 2441: 2441: 2441: 2441: 2441: 2441: Octagonal_Shape(const Octagonal_Shape& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: template 2441: explicit Octagonal_Shape(const Octagonal_Shape& y, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 496 "../../src/Octagonal_Shape_defs.hh" 2441: explicit Octagonal_Shape(const Constraint_System& cs); 2441: # 509 "../../src/Octagonal_Shape_defs.hh" 2441: explicit Octagonal_Shape(const Congruence_System& cgs); 2441: # 519 "../../src/Octagonal_Shape_defs.hh" 2441: explicit Octagonal_Shape(const Generator_System& gs); 2441: # 528 "../../src/Octagonal_Shape_defs.hh" 2441: explicit Octagonal_Shape(const Polyhedron& ph, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 547 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: explicit Octagonal_Shape(const Box& box, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 567 "../../src/Octagonal_Shape_defs.hh" 2441: explicit Octagonal_Shape(const Grid& grid, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: # 586 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: explicit Octagonal_Shape(const BD_Shape& bd, 2441: Complexity_Class complexity = ANY_COMPLEXITY); 2441: 2441: 2441: 2441: 2441: 2441: Octagonal_Shape& operator=(const Octagonal_Shape& y); 2441: 2441: 2441: 2441: 2441: 2441: void m_swap(Octagonal_Shape& y); 2441: 2441: 2441: ~Octagonal_Shape(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type space_dimension() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: dimension_type affine_dimension() const; 2441: 2441: 2441: Constraint_System constraints() const; 2441: 2441: 2441: Constraint_System minimized_constraints() const; 2441: 2441: 2441: Congruence_System congruences() const; 2441: 2441: 2441: 2441: 2441: 2441: Congruence_System minimized_congruences() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool contains(const Octagonal_Shape& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool strictly_contains(const Octagonal_Shape& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool is_disjoint_from(const Octagonal_Shape& y) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Con_Relation relation_with(const Constraint& c) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Con_Relation relation_with(const Congruence& cg) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Poly_Gen_Relation relation_with(const Generator& g) const; 2441: 2441: 2441: bool is_empty() const; 2441: 2441: 2441: bool is_universe() const; 2441: 2441: 2441: bool is_discrete() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_bounded() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_topologically_closed() const; 2441: 2441: 2441: 2441: 2441: 2441: bool contains_integer_point() const; 2441: # 715 "../../src/Octagonal_Shape_defs.hh" 2441: bool constrains(Variable var) const; 2441: # 724 "../../src/Octagonal_Shape_defs.hh" 2441: bool bounds_from_above(const Linear_Expression& expr) const; 2441: # 733 "../../src/Octagonal_Shape_defs.hh" 2441: bool bounds_from_below(const Linear_Expression& expr) const; 2441: # 759 "../../src/Octagonal_Shape_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const; 2441: # 790 "../../src/Octagonal_Shape_defs.hh" 2441: bool maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& g) const; 2441: # 818 "../../src/Octagonal_Shape_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const; 2441: # 849 "../../src/Octagonal_Shape_defs.hh" 2441: bool minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& g) const; 2441: # 881 "../../src/Octagonal_Shape_defs.hh" 2441: bool frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const; 2441: 2441: 2441: bool OK() const; 2441: # 904 "../../src/Octagonal_Shape_defs.hh" 2441: void add_constraint(const Constraint& c); 2441: # 918 "../../src/Octagonal_Shape_defs.hh" 2441: void add_constraints(const Constraint_System& cs); 2441: # 937 "../../src/Octagonal_Shape_defs.hh" 2441: void add_recycled_constraints(Constraint_System& cs); 2441: # 949 "../../src/Octagonal_Shape_defs.hh" 2441: void add_congruence(const Congruence& cg); 2441: # 962 "../../src/Octagonal_Shape_defs.hh" 2441: void add_congruences(const Congruence_System& cgs); 2441: # 980 "../../src/Octagonal_Shape_defs.hh" 2441: void add_recycled_congruences(Congruence_System& cgs); 2441: # 992 "../../src/Octagonal_Shape_defs.hh" 2441: void refine_with_constraint(const Constraint& c); 2441: # 1005 "../../src/Octagonal_Shape_defs.hh" 2441: void refine_with_congruence(const Congruence& cg); 2441: # 1018 "../../src/Octagonal_Shape_defs.hh" 2441: void refine_with_constraints(const Constraint_System& cs); 2441: # 1031 "../../src/Octagonal_Shape_defs.hh" 2441: void refine_with_congruences(const Congruence_System& cgs); 2441: # 1054 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: void refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right); 2441: # 1087 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: void generalized_refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right, 2441: Relation_Symbol relsym); 2441: # 1103 "../../src/Octagonal_Shape_defs.hh" 2441: void unconstrain(Variable var); 2441: # 1117 "../../src/Octagonal_Shape_defs.hh" 2441: void unconstrain(const Variables_Set& vars); 2441: 2441: 2441: 2441: 2441: 2441: 2441: void intersection_assign(const Octagonal_Shape& y); 2441: # 1133 "../../src/Octagonal_Shape_defs.hh" 2441: void upper_bound_assign(const Octagonal_Shape& y); 2441: # 1145 "../../src/Octagonal_Shape_defs.hh" 2441: bool upper_bound_assign_if_exact(const Octagonal_Shape& y); 2441: # 1168 "../../src/Octagonal_Shape_defs.hh" 2441: bool integer_upper_bound_assign_if_exact(const Octagonal_Shape& y); 2441: # 1177 "../../src/Octagonal_Shape_defs.hh" 2441: void difference_assign(const Octagonal_Shape& y); 2441: # 1188 "../../src/Octagonal_Shape_defs.hh" 2441: bool simplify_using_context_assign(const Octagonal_Shape& y); 2441: # 1208 "../../src/Octagonal_Shape_defs.hh" 2441: void affine_image(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1234 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: void affine_form_image(Variable var, 2441: const Linear_Form< Interval >& lf); 2441: # 1256 "../../src/Octagonal_Shape_defs.hh" 2441: void affine_preimage(Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1285 "../../src/Octagonal_Shape_defs.hh" 2441: void generalized_affine_image(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1310 "../../src/Octagonal_Shape_defs.hh" 2441: void generalized_affine_image(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1340 "../../src/Octagonal_Shape_defs.hh" 2441: void bounded_affine_image(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1370 "../../src/Octagonal_Shape_defs.hh" 2441: void generalized_affine_preimage(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator = Coefficient_one()); 2441: # 1395 "../../src/Octagonal_Shape_defs.hh" 2441: void generalized_affine_preimage(const Linear_Expression& lhs, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& rhs); 2441: # 1425 "../../src/Octagonal_Shape_defs.hh" 2441: void bounded_affine_preimage(Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: # 1438 "../../src/Octagonal_Shape_defs.hh" 2441: void time_elapse_assign(const Octagonal_Shape& y); 2441: # 1486 "../../src/Octagonal_Shape_defs.hh" 2441: void wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p = 0, 2441: unsigned complexity_threshold = 16, 2441: bool wrap_individually = true); 2441: # 1505 "../../src/Octagonal_Shape_defs.hh" 2441: void drop_some_non_integer_points(Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: # 1523 "../../src/Octagonal_Shape_defs.hh" 2441: void drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class complexity 2441: = ANY_COMPLEXITY); 2441: 2441: 2441: void topological_closure_assign(); 2441: # 1545 "../../src/Octagonal_Shape_defs.hh" 2441: void CC76_extrapolation_assign(const Octagonal_Shape& y, unsigned* tp = 0); 2441: # 1568 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: void CC76_extrapolation_assign(const Octagonal_Shape& y, 2441: Iterator first, Iterator last, 2441: unsigned* tp = 0); 2441: # 1588 "../../src/Octagonal_Shape_defs.hh" 2441: void BHMZ05_widening_assign(const Octagonal_Shape& y, unsigned* tp = 0); 2441: 2441: 2441: void widening_assign(const Octagonal_Shape& y, unsigned* tp = 0); 2441: # 1613 "../../src/Octagonal_Shape_defs.hh" 2441: void limited_BHMZ05_extrapolation_assign(const Octagonal_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1627 "../../src/Octagonal_Shape_defs.hh" 2441: void CC76_narrowing_assign(const Octagonal_Shape& y); 2441: # 1649 "../../src/Octagonal_Shape_defs.hh" 2441: void limited_CC76_extrapolation_assign(const Octagonal_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp = 0); 2441: # 1676 "../../src/Octagonal_Shape_defs.hh" 2441: void add_space_dimensions_and_embed(dimension_type m); 2441: # 1699 "../../src/Octagonal_Shape_defs.hh" 2441: void add_space_dimensions_and_project(dimension_type m); 2441: # 1709 "../../src/Octagonal_Shape_defs.hh" 2441: void concatenate_assign(const Octagonal_Shape& y); 2441: # 1720 "../../src/Octagonal_Shape_defs.hh" 2441: void remove_space_dimensions(const Variables_Set& vars); 2441: # 1730 "../../src/Octagonal_Shape_defs.hh" 2441: void remove_higher_space_dimensions(dimension_type new_dimension); 2441: # 1768 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: void map_space_dimensions(const Partial_Function& pfunc); 2441: # 1792 "../../src/Octagonal_Shape_defs.hh" 2441: void expand_space_dimension(Variable var, dimension_type m); 2441: # 1817 "../../src/Octagonal_Shape_defs.hh" 2441: void fold_space_dimensions(const Variables_Set& vars, Variable dest); 2441: # 1849 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: void export_interval_constraints(U& dest) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: template 2441: void refine_fp_interval_abstract_store( 2441: Box< Interval >& store) const; 2441: 2441: 2441: 2441: void ascii_dump() const; void ascii_dump(std::ostream& s) const; void print() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: 2441: memory_size_type total_memory_in_bytes() const; 2441: 2441: 2441: memory_size_type external_memory_in_bytes() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: int32_t hash_code() const; 2441: 2441: friend bool 2441: operator==(const Octagonal_Shape& x, const Octagonal_Shape& y); 2441: 2441: template 2441: friend bool Parma_Polyhedra_Library 2441: ::rectilinear_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: template 2441: friend bool Parma_Polyhedra_Library 2441: ::euclidean_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: template 2441: friend bool Parma_Polyhedra_Library 2441: ::l_infinity_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2); 2441: 2441: private: 2441: template friend class Parma_Polyhedra_Library::Octagonal_Shape; 2441: template friend class Parma_Polyhedra_Library::Box; 2441: 2441: 2441: OR_Matrix matrix; 2441: 2441: 2441: dimension_type space_dim; 2441: # 1928 "../../src/Octagonal_Shape_defs.hh" 2441: # 1 "../../src/Og_Status_idefs.hh" 1 2441: # 45 "../../src/Og_Status_idefs.hh" 2441: class Status { 2441: public: 2441: 2441: Status(); 2441: 2441: 2441: 2441: bool test_zero_dim_univ() const; 2441: void reset_zero_dim_univ(); 2441: void set_zero_dim_univ(); 2441: 2441: bool test_empty() const; 2441: void reset_empty(); 2441: void set_empty(); 2441: 2441: bool test_strongly_closed() const; 2441: void reset_strongly_closed(); 2441: void set_strongly_closed(); 2441: 2441: 2441: 2441: bool OK() const; 2441: 2441: 2441: 2441: 2441: 2441: void ascii_dump(std::ostream& s) const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool ascii_load(std::istream& s); 2441: 2441: private: 2441: 2441: typedef unsigned int flags_t; 2441: 2441: 2441: 2441: static const flags_t ZERO_DIM_UNIV = 0U; 2441: static const flags_t EMPTY = 1U << 0; 2441: static const flags_t STRONGLY_CLOSED = 1U << 1; 2441: 2441: 2441: 2441: flags_t flags; 2441: 2441: 2441: Status(flags_t mask); 2441: 2441: 2441: bool test_all(flags_t mask) const; 2441: 2441: 2441: bool test_any(flags_t mask) const; 2441: 2441: 2441: void set(flags_t mask); 2441: 2441: 2441: void reset(flags_t mask); 2441: 2441: }; 2441: # 1929 "../../src/Octagonal_Shape_defs.hh" 2 2441: 2441: 2441: 2441: Status status; 2441: 2441: 2441: bool marked_zero_dim_univ() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: bool marked_empty() const; 2441: # 1951 "../../src/Octagonal_Shape_defs.hh" 2441: bool marked_strongly_closed() const; 2441: 2441: 2441: void set_zero_dim_univ(); 2441: 2441: 2441: void set_empty(); 2441: 2441: 2441: void set_strongly_closed(); 2441: 2441: 2441: void reset_strongly_closed(); 2441: 2441: N& matrix_at(dimension_type i, dimension_type j); 2441: const N& matrix_at(dimension_type i, dimension_type j) const; 2441: # 1978 "../../src/Octagonal_Shape_defs.hh" 2441: template 2441: void linear_form_upper_bound( 2441: const Linear_Form< Interval >& lf, 2441: N& result) const; 2441: 2441: 2441: static void interval_coefficient_upper_bound(const N& var_ub, 2441: const N& minus_var_ub, 2441: const N& int_ub, const N& int_lb, 2441: N& result); 2441: # 1999 "../../src/Octagonal_Shape_defs.hh" 2441: void refine_no_check(const Constraint& c); 2441: # 2013 "../../src/Octagonal_Shape_defs.hh" 2441: void refine_no_check(const Congruence& cg); 2441: 2441: 2441: void add_octagonal_constraint(dimension_type i, 2441: dimension_type j, 2441: const N& k); 2441: 2441: 2441: void add_octagonal_constraint(dimension_type i, 2441: dimension_type j, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: void refine(Variable var, 2441: Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator 2441: = Coefficient_one()); 2441: 2441: 2441: void forget_all_octagonal_constraints(dimension_type v_id); 2441: 2441: 2441: void forget_binary_octagonal_constraints(dimension_type v_id); 2441: # 2071 "../../src/Octagonal_Shape_defs.hh" 2441: void deduce_v_pm_u_bounds(dimension_type v_id, 2441: dimension_type last_id, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& ub_v); 2441: # 2105 "../../src/Octagonal_Shape_defs.hh" 2441: void deduce_minus_v_pm_u_bounds(dimension_type v_id, 2441: dimension_type last_id, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& minus_lb_v); 2441: 2441: 2441: 2441: 2441: 2441: void get_limiting_octagon(const Constraint_System& cs, 2441: Octagonal_Shape& limiting_octagon) const; 2441: 2441: 2441: 2441: 2441: void compute_successors(std::vector& successor) const; 2441: 2441: 2441: 2441: 2441: 2441: void compute_leaders(std::vector& successor, 2441: std::vector& no_sing_leaders, 2441: bool& exist_sing_class, 2441: dimension_type& sing_leader) const; 2441: 2441: 2441: 2441: 2441: 2441: void compute_leaders(std::vector& leaders) const; 2441: # 2146 "../../src/Octagonal_Shape_defs.hh" 2441: void non_redundant_matrix_entries(std::vector& non_redundant) const; 2441: 2441: 2441: void strong_reduction_assign() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_strongly_reduced() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_strong_coherent() const; 2441: 2441: bool tight_coherence_would_make_empty() const; 2441: # 2172 "../../src/Octagonal_Shape_defs.hh" 2441: void strong_closure_assign() const; 2441: 2441: 2441: void strong_coherence_assign(); 2441: # 2185 "../../src/Octagonal_Shape_defs.hh" 2441: void tight_closure_assign(); 2441: # 2198 "../../src/Octagonal_Shape_defs.hh" 2441: void incremental_strong_closure_assign(Variable var) const; 2441: # 2217 "../../src/Octagonal_Shape_defs.hh" 2441: bool bounds(const Linear_Expression& expr, bool from_above) const; 2441: # 2245 "../../src/Octagonal_Shape_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included) const; 2441: # 2280 "../../src/Octagonal_Shape_defs.hh" 2441: bool max_min(const Linear_Expression& expr, 2441: bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, bool& included, 2441: Generator& g) const; 2441: 2441: void drop_some_non_integer_points_helper(N& elem); 2441: 2441: friend std::ostream& 2441: Parma_Polyhedra_Library::IO_Operators 2441: ::operator<<<>(std::ostream& s, const Octagonal_Shape& c); 2441: 2441: 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Octagonal_Shape& y) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: dimension_type required_dim) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Constraint& c) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Congruence& cg) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const Generator& g) const; 2441: 2441: void throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const; 2441: 2441: template 2441: void throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form& lf) const; 2441: 2441: static void throw_constraint_incompatible(const char* method); 2441: 2441: static void throw_expression_too_complex(const char* method, 2441: const Linear_Expression& le); 2441: 2441: static void throw_invalid_argument(const char* method, const char* reason); 2441: 2441: }; 2441: 2441: # 1 "../../src/Og_Status_inlines.hh" 1 2441: # 27 "../../src/Og_Status_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Octagonal_Shape::Status::Status(flags_t mask) 2441: : flags(mask) { 2441: } 2441: 2441: template 2441: inline 2441: Octagonal_Shape::Status::Status() 2441: : flags(ZERO_DIM_UNIV) { 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::Status::test_all(flags_t mask) const { 2441: return (flags & mask) == mask; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::Status::test_any(flags_t mask) const { 2441: return (flags & mask) != 0; 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::set(flags_t mask) { 2441: flags |= mask; 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::reset(flags_t mask) { 2441: flags &= ~mask; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::Status::test_zero_dim_univ() const { 2441: return flags == ZERO_DIM_UNIV; 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::reset_zero_dim_univ() { 2441: 2441: if (flags == ZERO_DIM_UNIV) { 2441: 2441: flags = EMPTY; 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::set_zero_dim_univ() { 2441: 2441: flags = ZERO_DIM_UNIV; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::Status::test_empty() const { 2441: return test_any(EMPTY); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::reset_empty() { 2441: reset(EMPTY); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::set_empty() { 2441: flags = EMPTY; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::Status::test_strongly_closed() const { 2441: return test_any(STRONGLY_CLOSED); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::reset_strongly_closed() { 2441: reset(STRONGLY_CLOSED); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::set_strongly_closed() { 2441: set(STRONGLY_CLOSED); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::Status::OK() const { 2441: if (test_zero_dim_univ()) { 2441: 2441: return true; 2441: } 2441: 2441: if (test_empty()) { 2441: Status copy = *this; 2441: copy.reset_empty(); 2441: if (copy.test_zero_dim_univ()) { 2441: return true; 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: 2441: namespace Implementation { 2441: 2441: namespace Octagonal_Shapes { 2441: 2441: extern const char* zero_dim_univ; 2441: extern const char* empty; 2441: extern const char* strong_closed; 2441: const char yes = '+'; 2441: const char no = '-'; 2441: const char separator = ' '; 2441: # 170 "../../src/Og_Status_inlines.hh" 2441: inline bool 2441: get_field(std::istream& s, const char* keyword, bool& positive) { 2441: std::string str; 2441: if (!(s >> str) 2441: || (str[0] != yes && str[0] != no) 2441: || str.substr(1) != keyword) { 2441: return false; 2441: } 2441: positive = (str[0] == yes); 2441: return true; 2441: } 2441: 2441: } 2441: 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::Status::ascii_dump(std::ostream& s) const { 2441: using namespace Implementation::Octagonal_Shapes; 2441: s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ 2441: << separator 2441: << (test_empty() ? yes : no) << empty 2441: << separator 2441: << separator 2441: << (test_strongly_closed() ? yes : no) << strong_closed 2441: << separator; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::Status::ascii_load(std::istream& s) { 2441: using namespace Implementation::Octagonal_Shapes; 2441: bool positive = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: if (!get_field(s, zero_dim_univ, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_zero_dim_univ(); 2441: } 2441: 2441: if (!get_field(s, empty, positive)) { 2441: return false; 2441: } 2441: 2441: if (positive) { 2441: set_empty(); 2441: } 2441: 2441: if (!get_field(s, strong_closed, positive)) { 2441: return false; 2441: } 2441: if (positive) { 2441: set_strongly_closed(); 2441: } 2441: else { 2441: reset_strongly_closed(); 2441: } 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: } 2441: # 2327 "../../src/Octagonal_Shape_defs.hh" 2 2441: # 1 "../../src/Octagonal_Shape_inlines.hh" 1 2441: # 31 "../../src/Octagonal_Shape_inlines.hh" 2441: # 1 "../../src/BD_Shape_defs.hh" 1 2441: # 32 "../../src/Octagonal_Shape_inlines.hh" 2 2441: 2441: 2441: # 1 "../../src/wrap_assign.hh" 1 2441: # 33 "../../src/wrap_assign.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Implementation { 2441: 2441: struct Wrap_Dim_Translations { 2441: Variable var; 2441: Coefficient first_quadrant; 2441: Coefficient last_quadrant; 2441: Wrap_Dim_Translations(Variable v, 2441: Coefficient_traits::const_reference f, 2441: Coefficient_traits::const_reference l) 2441: : var(v), first_quadrant(f), last_quadrant(l) { 2441: } 2441: }; 2441: 2441: typedef std::vector Wrap_Translations; 2441: 2441: template 2441: void 2441: wrap_assign_ind(PSET& pointset, 2441: Variables_Set& vars, 2441: Wrap_Translations::const_iterator first, 2441: Wrap_Translations::const_iterator end, 2441: Bounded_Integer_Type_Width w, 2441: Coefficient_traits::const_reference min_value, 2441: Coefficient_traits::const_reference max_value, 2441: const Constraint_System& cs, 2441: Coefficient& tmp1, 2441: Coefficient& tmp2) { 2441: const dimension_type space_dim = pointset.space_dimension(); 2441: for (Wrap_Translations::const_iterator i = first; i != end; ++i) { 2441: const Wrap_Dim_Translations& wrap_dim_translations = *i; 2441: const Variable x(wrap_dim_translations.var); 2441: const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant; 2441: const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant; 2441: Coefficient& quadrant = tmp1; 2441: Coefficient& shift = tmp2; 2441: PSET hull(space_dim, EMPTY); 2441: for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) { 2441: PSET p(pointset); 2441: if (quadrant != 0) { 2441: mul_2exp_assign(shift, quadrant, w); 2441: p.affine_image(x, x - shift, 1); 2441: } 2441: 2441: vars.erase(x.id()); 2441: 2441: 2441: 2441: if (vars.empty()) { 2441: p.refine_with_constraints(cs); 2441: } 2441: else { 2441: for (Constraint_System::const_iterator j = cs.begin(), 2441: cs_end = cs.end(); j != cs_end; ++j) { 2441: if (j->expression().all_zeroes(vars)) { 2441: 2441: p.refine_with_constraint(*j); 2441: } 2441: } 2441: } 2441: p.refine_with_constraint(min_value <= x); 2441: p.refine_with_constraint(x <= max_value); 2441: hull.upper_bound_assign(p); 2441: } 2441: pointset.m_swap(hull); 2441: } 2441: } 2441: 2441: template 2441: void 2441: wrap_assign_col(PSET& dest, 2441: const PSET& src, 2441: const Variables_Set& vars, 2441: Wrap_Translations::const_iterator first, 2441: Wrap_Translations::const_iterator end, 2441: Bounded_Integer_Type_Width w, 2441: Coefficient_traits::const_reference min_value, 2441: Coefficient_traits::const_reference max_value, 2441: const Constraint_System* cs_p, 2441: Coefficient& tmp) { 2441: if (first == end) { 2441: PSET p(src); 2441: if (cs_p != 0) { 2441: p.refine_with_constraints(*cs_p); 2441: } 2441: for (Variables_Set::const_iterator i = vars.begin(), 2441: vars_end = vars.end(); i != vars_end; ++i) { 2441: const Variable x(*i); 2441: p.refine_with_constraint(min_value <= x); 2441: p.refine_with_constraint(x <= max_value); 2441: } 2441: dest.upper_bound_assign(p); 2441: } 2441: else { 2441: const Wrap_Dim_Translations& wrap_dim_translations = *first; 2441: const Variable x(wrap_dim_translations.var); 2441: const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant; 2441: const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant; 2441: Coefficient& shift = tmp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_quadrant; Parma_Polyhedra_Library::Coefficient& quadrant = holder_quadrant.item(); 2441: for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) { 2441: if (quadrant != 0) { 2441: mul_2exp_assign(shift, quadrant, w); 2441: PSET p(src); 2441: p.affine_image(x, x - shift, 1); 2441: wrap_assign_col(dest, p, vars, first+1, end, w, min_value, max_value, 2441: cs_p, tmp); 2441: } 2441: else { 2441: wrap_assign_col(dest, src, vars, first+1, end, w, min_value, max_value, 2441: cs_p, tmp); 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: wrap_assign(PSET& pointset, 2441: const Variables_Set& vars, 2441: const Bounded_Integer_Type_Width w, 2441: const Bounded_Integer_Type_Representation r, 2441: const Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p, 2441: const unsigned complexity_threshold, 2441: const bool wrap_individually, 2441: const char* class_name) { 2441: 2441: 2441: 2441: 2441: if (cs_p != 0) { 2441: const dimension_type vars_space_dim = vars.space_dimension(); 2441: if (cs_p->space_dimension() > vars_space_dim) { 2441: std::ostringstream s; 2441: s << "PPL::" << class_name << "::wrap_assign(..., cs_p, ...):" 2441: << std::endl 2441: << "vars.space_dimension() == " << vars_space_dim 2441: << ", cs_p->space_dimension() == " << cs_p->space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: # 191 "../../src/wrap_assign.hh" 2441: } 2441: 2441: 2441: if (vars.empty()) { 2441: if (cs_p != 0) { 2441: pointset.refine_with_constraints(*cs_p); 2441: } 2441: return; 2441: } 2441: 2441: 2441: const dimension_type space_dim = pointset.space_dimension(); 2441: if (vars.space_dimension() > space_dim) { 2441: std::ostringstream s; 2441: s << "PPL::" << class_name << "::wrap_assign(vs, ...):" << std::endl 2441: << "this->space_dimension() == " << space_dim 2441: << ", required space dimension == " << vars.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: 2441: if (pointset.is_empty()) { 2441: return; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_value; Parma_Polyhedra_Library::Coefficient& min_value = holder_min_value.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_value; Parma_Polyhedra_Library::Coefficient& max_value = holder_max_value.item(); 2441: if (r == UNSIGNED) { 2441: min_value = 0; 2441: mul_2exp_assign(max_value, Coefficient_one(), w); 2441: --max_value; 2441: } 2441: else { 2441: ((void) 0); 2441: mul_2exp_assign(max_value, Coefficient_one(), w-1); 2441: neg_assign(min_value, max_value); 2441: --max_value; 2441: } 2441: 2441: 2441: 2441: 2441: Wrap_Translations translations; 2441: 2441: 2441: 2441: Variables_Set dimensions_to_be_translated; 2441: 2441: 2441: 2441: 2441: 2441: 2441: unsigned collective_wrap_complexity = 1; 2441: 2441: 2441: 2441: bool collective_wrap_too_complex = false; 2441: 2441: if (!wrap_individually) { 2441: translations.reserve(space_dim); 2441: } 2441: 2441: 2441: 2441: Constraint_System full_range_bounds; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_l_n; Parma_Polyhedra_Library::Coefficient& l_n = holder_l_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_l_d; Parma_Polyhedra_Library::Coefficient& l_d = holder_l_d.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_u_n; Parma_Polyhedra_Library::Coefficient& u_n = holder_u_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_u_d; Parma_Polyhedra_Library::Coefficient& u_d = holder_u_d.item(); 2441: 2441: for (Variables_Set::const_iterator i = vars.begin(), 2441: vars_end = vars.end(); i != vars_end; ++i) { 2441: 2441: const Variable x(*i); 2441: 2441: bool extremum; 2441: 2441: if (!pointset.minimize(x, l_n, l_d, extremum)) { 2441: set_full_range: 2441: pointset.unconstrain(x); 2441: full_range_bounds.insert(min_value <= x); 2441: full_range_bounds.insert(x <= max_value); 2441: continue; 2441: } 2441: 2441: if (!pointset.maximize(x, u_n, u_d, extremum)) { 2441: goto set_full_range; 2441: } 2441: 2441: div_assign_r(l_n, l_n, l_d, ROUND_DOWN); 2441: div_assign_r(u_n, u_n, u_d, ROUND_DOWN); 2441: l_n -= min_value; 2441: u_n -= min_value; 2441: div_2exp_assign_r(l_n, l_n, w, ROUND_DOWN); 2441: div_2exp_assign_r(u_n, u_n, w, ROUND_DOWN); 2441: Coefficient& first_quadrant = l_n; 2441: const Coefficient& last_quadrant = u_n; 2441: 2441: 2441: if (first_quadrant == 0 && last_quadrant == 0) { 2441: continue; 2441: } 2441: 2441: 2441: if (o == OVERFLOW_IMPOSSIBLE) { 2441: if (first_quadrant < 0) { 2441: full_range_bounds.insert(min_value <= x); 2441: } 2441: if (last_quadrant > 0) { 2441: full_range_bounds.insert(x <= max_value); 2441: } 2441: continue; 2441: } 2441: 2441: if (o == OVERFLOW_UNDEFINED || collective_wrap_too_complex) { 2441: goto set_full_range; 2441: } 2441: 2441: Coefficient& quadrants = u_d; 2441: quadrants = last_quadrant - first_quadrant + 1; 2441: 2441: unsigned extension = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: Result res = assign_r(extension, quadrants, ROUND_IGNORE); 2441: if (result_overflow(res) != 0 || extension > complexity_threshold) { 2441: goto set_full_range; 2441: } 2441: 2441: if (!wrap_individually && !collective_wrap_too_complex) { 2441: res = mul_assign_r(collective_wrap_complexity, 2441: collective_wrap_complexity, extension, ROUND_IGNORE); 2441: if (result_overflow(res) != 0 2441: || collective_wrap_complexity > complexity_threshold) { 2441: collective_wrap_too_complex = true; 2441: } 2441: if (collective_wrap_too_complex) { 2441: 2441: for (Wrap_Translations::const_iterator j = translations.begin(), 2441: translations_end = translations.end(); 2441: j != translations_end; 2441: ++j) { 2441: const Variable y(j->var); 2441: pointset.unconstrain(y); 2441: full_range_bounds.insert(min_value <= y); 2441: full_range_bounds.insert(y <= max_value); 2441: } 2441: } 2441: } 2441: 2441: if (wrap_individually && cs_p == 0) { 2441: Coefficient& quadrant = first_quadrant; 2441: 2441: 2441: Coefficient& shift = l_d; 2441: PSET hull(space_dim, EMPTY); 2441: for ( ; quadrant <= last_quadrant; ++quadrant) { 2441: PSET p(pointset); 2441: if (quadrant != 0) { 2441: mul_2exp_assign(shift, quadrant, w); 2441: p.affine_image(x, x - shift, 1); 2441: } 2441: p.refine_with_constraint(min_value <= x); 2441: p.refine_with_constraint(x <= max_value); 2441: hull.upper_bound_assign(p); 2441: } 2441: pointset.m_swap(hull); 2441: } 2441: else if (wrap_individually || !collective_wrap_too_complex) { 2441: ((void) 0); 2441: dimensions_to_be_translated.insert(x); 2441: translations 2441: .push_back(Wrap_Dim_Translations(x, first_quadrant, last_quadrant)); 2441: } 2441: } 2441: 2441: if (!translations.empty()) { 2441: if (wrap_individually) { 2441: ((void) 0); 2441: wrap_assign_ind(pointset, dimensions_to_be_translated, 2441: translations.begin(), translations.end(), 2441: w, min_value, max_value, *cs_p, l_n, l_d); 2441: } 2441: else { 2441: PSET hull(space_dim, EMPTY); 2441: wrap_assign_col(hull, pointset, dimensions_to_be_translated, 2441: translations.begin(), translations.end(), 2441: w, min_value, max_value, cs_p, l_n); 2441: pointset.m_swap(hull); 2441: } 2441: } 2441: 2441: if (cs_p != 0) { 2441: pointset.refine_with_constraints(*cs_p); 2441: } 2441: pointset.refine_with_constraints(full_range_bounds); 2441: } 2441: 2441: } 2441: 2441: } 2441: # 35 "../../src/Octagonal_Shape_inlines.hh" 2 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: namespace Implementation { 2441: 2441: namespace Octagonal_Shapes { 2441: 2441: 2441: 2441: 2441: 2441: inline dimension_type 2441: coherent_index(const dimension_type i) { 2441: return (i % 2 != 0) ? (i-1) : (i+1); 2441: } 2441: 2441: } 2441: 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Octagonal_Shape::max_space_dimension() { 2441: return OR_Matrix::max_num_rows()/2; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::marked_zero_dim_univ() const { 2441: return status.test_zero_dim_univ(); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::marked_strongly_closed() const { 2441: return status.test_strongly_closed(); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::marked_empty() const { 2441: return status.test_empty(); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::set_zero_dim_univ() { 2441: status.set_zero_dim_univ(); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::set_empty() { 2441: status.set_empty(); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::set_strongly_closed() { 2441: status.set_strongly_closed(); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::reset_strongly_closed() { 2441: status.reset_strongly_closed(); 2441: } 2441: 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const dimension_type num_dimensions, 2441: const Degenerate_Element kind) 2441: : matrix(num_dimensions), space_dim(num_dimensions), status() { 2441: if (kind == EMPTY) { 2441: set_empty(); 2441: } 2441: else if (num_dimensions > 0) { 2441: 2441: set_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const Octagonal_Shape& y, Complexity_Class) 2441: : matrix(y.matrix), space_dim(y.space_dim), status(y.status) { 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const Octagonal_Shape& y, 2441: Complexity_Class) 2441: 2441: 2441: : matrix((y.strong_closure_assign(), y.matrix)), 2441: space_dim(y.space_dim), 2441: status() { 2441: 2441: if (y.marked_empty()) { 2441: set_empty(); 2441: } 2441: else if (y.marked_zero_dim_univ()) { 2441: set_zero_dim_univ(); 2441: } 2441: } 2441: 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const Constraint_System& cs) 2441: : matrix(cs.space_dimension()), 2441: space_dim(cs.space_dimension()), 2441: status() { 2441: if (cs.space_dimension() > 0) { 2441: 2441: set_strongly_closed(); 2441: } 2441: add_constraints(cs); 2441: } 2441: 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const Congruence_System& cgs) 2441: : matrix(cgs.space_dimension()), 2441: space_dim(cgs.space_dimension()), 2441: status() { 2441: if (cgs.space_dimension() > 0) { 2441: 2441: set_strongly_closed(); 2441: } 2441: add_congruences(cgs); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const Box& box, 2441: Complexity_Class) 2441: : matrix(box.space_dimension()), 2441: space_dim(box.space_dimension()), 2441: status() { 2441: 2441: if (box.is_empty()) { 2441: set_empty(); 2441: } 2441: else if (box.space_dimension() > 0) { 2441: 2441: set_strongly_closed(); 2441: refine_with_constraints(box.constraints()); 2441: } 2441: } 2441: 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const Grid& grid, 2441: Complexity_Class) 2441: : matrix(grid.space_dimension()), 2441: space_dim(grid.space_dimension()), 2441: status() { 2441: if (grid.space_dimension() > 0) { 2441: 2441: set_strongly_closed(); 2441: } 2441: 2441: refine_with_congruences(grid.minimized_congruences()); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Octagonal_Shape::Octagonal_Shape(const BD_Shape& bd, 2441: Complexity_Class) 2441: : matrix(bd.space_dimension()), 2441: space_dim(bd.space_dimension()), 2441: status() { 2441: 2441: if (bd.is_empty()) { 2441: set_empty(); 2441: } 2441: else if (bd.space_dimension() > 0) { 2441: 2441: set_strongly_closed(); 2441: refine_with_constraints(bd.constraints()); 2441: } 2441: } 2441: 2441: template 2441: inline Congruence_System 2441: Octagonal_Shape::congruences() const { 2441: return minimized_congruences(); 2441: } 2441: 2441: template 2441: inline Octagonal_Shape& 2441: Octagonal_Shape::operator=(const Octagonal_Shape& y) { 2441: matrix = y.matrix; 2441: space_dim = y.space_dim; 2441: status = y.status; 2441: return *this; 2441: } 2441: 2441: template 2441: inline 2441: Octagonal_Shape::~Octagonal_Shape() { 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::m_swap(Octagonal_Shape& y) { 2441: using std::swap; 2441: swap(matrix, y.matrix); 2441: swap(space_dim, y.space_dim); 2441: swap(status, y.status); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: Octagonal_Shape::space_dimension() const { 2441: return space_dim; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::is_discrete() const { 2441: return affine_dimension() == 0; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::is_empty() const { 2441: strong_closure_assign(); 2441: return marked_empty(); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::bounds_from_above(const Linear_Expression& expr) const { 2441: return bounds(expr, true); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::bounds_from_below(const Linear_Expression& expr) const { 2441: return bounds(expr, false); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, 2441: bool& maximum) const { 2441: return max_min(expr, true, sup_n, sup_d, maximum); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, 2441: bool& maximum, 2441: Generator& g) const { 2441: return max_min(expr, true, sup_n, sup_d, maximum, g); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, 2441: bool& minimum) const { 2441: return max_min(expr, false, inf_n, inf_d, minimum); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, 2441: bool& minimum, 2441: Generator& g) const { 2441: return max_min(expr, false, inf_n, inf_d, minimum, g); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::is_topologically_closed() const { 2441: return true; 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::topological_closure_assign() { 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const Octagonal_Shape& x, const Octagonal_Shape& y) { 2441: if (x.space_dim != y.space_dim) { 2441: 2441: return false; 2441: } 2441: 2441: if (x.space_dim == 0) { 2441: if (x.marked_empty()) { 2441: return y.marked_empty(); 2441: } 2441: else { 2441: return !y.marked_empty(); 2441: } 2441: } 2441: 2441: x.strong_closure_assign(); 2441: y.strong_closure_assign(); 2441: 2441: 2441: if (x.marked_empty()) { 2441: return y.marked_empty(); 2441: } 2441: if (y.marked_empty()) { 2441: return false; 2441: } 2441: 2441: return x.matrix == y.matrix; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const Octagonal_Shape& x, const Octagonal_Shape& y) { 2441: return !(x == y); 2441: } 2441: 2441: template 2441: inline const typename Octagonal_Shape::coefficient_type& 2441: Octagonal_Shape::matrix_at(const dimension_type i, 2441: const dimension_type j) const { 2441: ((void) 0); 2441: using namespace Implementation::Octagonal_Shapes; 2441: return (j < matrix.row_size(i)) 2441: ? matrix[i][j] 2441: : matrix[coherent_index(j)][coherent_index(i)]; 2441: } 2441: 2441: template 2441: inline typename Octagonal_Shape::coefficient_type& 2441: Octagonal_Shape::matrix_at(const dimension_type i, 2441: const dimension_type j) { 2441: ((void) 0); 2441: using namespace Implementation::Octagonal_Shapes; 2441: return (j < matrix.row_size(i)) 2441: ? matrix[i][j] 2441: : matrix[coherent_index(j)][coherent_index(i)]; 2441: } 2441: 2441: template 2441: inline Constraint_System 2441: Octagonal_Shape::minimized_constraints() const { 2441: strong_reduction_assign(); 2441: return constraints(); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::add_octagonal_constraint(const dimension_type i, 2441: const dimension_type j, 2441: const N& k) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: N& r_i_j = matrix[i][j]; 2441: if (r_i_j > k) { 2441: r_i_j = k; 2441: if (marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape 2441: ::add_octagonal_constraint(const dimension_type i, 2441: const dimension_type j, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_k; N& k = holder_k.item(); 2441: div_round_up(k, numer, denom); 2441: add_octagonal_constraint(i, j, k); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::add_constraints(const Constraint_System& cs) { 2441: for (Constraint_System::const_iterator i = cs.begin(), 2441: i_end = cs.end(); i != i_end; ++i) { 2441: add_constraint(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::add_recycled_constraints(Constraint_System& cs) { 2441: add_constraints(cs); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::add_recycled_congruences(Congruence_System& cgs) { 2441: add_congruences(cgs); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::add_congruences(const Congruence_System& cgs) { 2441: for (Congruence_System::const_iterator i = cgs.begin(), 2441: cgs_end = cgs.end(); i != cgs_end; ++i) { 2441: add_congruence(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::refine_with_constraint(const Constraint& c) { 2441: 2441: if (c.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_constraint(c)", c); 2441: } 2441: 2441: if (!marked_empty()) { 2441: refine_no_check(c); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::refine_with_constraints(const Constraint_System& cs) { 2441: 2441: if (cs.space_dimension() > space_dimension()) { 2441: throw_invalid_argument("refine_with_constraints(cs)", 2441: "cs and *this are space-dimension incompatible"); 2441: } 2441: 2441: for (Constraint_System::const_iterator i = cs.begin(), 2441: cs_end = cs.end(); !marked_empty() && i != cs_end; ++i) { 2441: refine_no_check(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::refine_with_congruence(const Congruence& cg) { 2441: const dimension_type cg_space_dim = cg.space_dimension(); 2441: 2441: if (cg_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_congruence(cg)", cg); 2441: } 2441: if (!marked_empty()) { 2441: refine_no_check(cg); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::refine_with_congruences(const Congruence_System& cgs) { 2441: 2441: if (cgs.space_dimension() > space_dimension()) { 2441: throw_invalid_argument("refine_with_congruences(cgs)", 2441: "cgs and *this are space-dimension incompatible"); 2441: } 2441: 2441: for (Congruence_System::const_iterator i = cgs.begin(), 2441: cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i) { 2441: refine_no_check(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::refine_no_check(const Congruence& cg) { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: if (cg.is_proper_congruence()) { 2441: if (cg.is_inconsistent()) { 2441: set_empty(); 2441: } 2441: 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: Constraint c(cg); 2441: refine_no_check(c); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::can_recycle_constraint_systems() { 2441: return false; 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::can_recycle_congruence_systems() { 2441: return false; 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape 2441: ::remove_higher_space_dimensions(const dimension_type new_dimension) { 2441: 2441: if (new_dimension > space_dim) { 2441: throw_dimension_incompatible("remove_higher_space_dimension(nd)", 2441: new_dimension); 2441: } 2441: 2441: 2441: 2441: if (new_dimension == space_dim) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: strong_closure_assign(); 2441: matrix.shrink(new_dimension); 2441: 2441: 2441: if (new_dimension == 0 && !marked_empty()) { 2441: set_zero_dim_univ(); 2441: } 2441: space_dim = new_dimension; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p, 2441: unsigned complexity_threshold, 2441: bool wrap_individually) { 2441: Implementation::wrap_assign(*this, 2441: vars, w, r, o, cs_p, 2441: complexity_threshold, wrap_individually, 2441: "Octagonal_Shape"); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::widening_assign(const Octagonal_Shape& y, unsigned* tp) { 2441: BHMZ05_widening_assign(y, tp); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::CC76_extrapolation_assign(const Octagonal_Shape& y, 2441: unsigned* tp) { 2441: static N stop_points[] = { 2441: N(-2, ROUND_UP), 2441: N(-1, ROUND_UP), 2441: N( 0, ROUND_UP), 2441: N( 1, ROUND_UP), 2441: N( 2, ROUND_UP) 2441: }; 2441: CC76_extrapolation_assign(y, 2441: stop_points, 2441: stop_points 2441: + sizeof(stop_points)/sizeof(stop_points[0]), 2441: tp); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::time_elapse_assign(const Octagonal_Shape& y) { 2441: 2441: if (space_dimension() != y.space_dimension()) { 2441: throw_dimension_incompatible("time_elapse_assign(y)", y); 2441: } 2441: 2441: 2441: C_Polyhedron ph_x(constraints()); 2441: C_Polyhedron ph_y(y.constraints()); 2441: ph_x.time_elapse_assign(ph_y); 2441: Octagonal_Shape x(ph_x); 2441: m_swap(x); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline bool 2441: Octagonal_Shape::strictly_contains(const Octagonal_Shape& y) const { 2441: const Octagonal_Shape& x = *this; 2441: return x.contains(y) && !y.contains(x); 2441: } 2441: 2441: template 2441: template 2441: inline void 2441: Octagonal_Shape::generalized_refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right, 2441: const Relation_Symbol relsym) { 2441: switch (relsym) { 2441: case EQUAL: 2441: 2441: refine_with_linear_form_inequality(left, right); 2441: refine_with_linear_form_inequality(right, left); 2441: break; 2441: case LESS_THAN: 2441: case LESS_OR_EQUAL: 2441: refine_with_linear_form_inequality(left, right); 2441: break; 2441: case GREATER_THAN: 2441: case GREATER_OR_EQUAL: 2441: refine_with_linear_form_inequality(right, left); 2441: break; 2441: case NOT_EQUAL: 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: 2441: template 2441: template 2441: inline void 2441: Octagonal_Shape:: 2441: refine_fp_interval_abstract_store( 2441: Box< Interval >& store) const { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_683 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: typedef Interval FP_Interval_Type; 2441: store.intersection_assign(Box(*this)); 2441: 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: 2441: if (x.space_dim != y.space_dim) { 2441: return false; 2441: } 2441: 2441: if (x.space_dim == 0) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: x.strong_closure_assign(); 2441: y.strong_closure_assign(); 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: return rectilinear_distance_assign(r, x.matrix, y.matrix, dir, 2441: tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir) { 2441: return rectilinear_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: 2441: if (x.space_dim != y.space_dim) { 2441: return false; 2441: } 2441: 2441: 2441: if (x.space_dim == 0) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: x.strong_closure_assign(); 2441: y.strong_closure_assign(); 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: return euclidean_distance_assign(r, x.matrix, y.matrix, dir, 2441: tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir) { 2441: return euclidean_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: 2441: if (x.space_dim != y.space_dim) { 2441: return false; 2441: } 2441: 2441: if (x.space_dim == 0) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: x.strong_closure_assign(); 2441: y.strong_closure_assign(); 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: return l_infinity_distance_assign(r, x.matrix, y.matrix, dir, 2441: tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const Octagonal_Shape& x, 2441: const Octagonal_Shape& y, 2441: const Rounding_Dir dir) { 2441: return l_infinity_distance_assign(r, x, y, dir); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Octagonal_Shape::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline int32_t 2441: Octagonal_Shape::hash_code() const { 2441: return hash_code_from_dimension(space_dimension()); 2441: } 2441: 2441: template 2441: inline void 2441: Octagonal_Shape::drop_some_non_integer_points_helper(N& elem) { 2441: if (!is_integer(elem)) { 2441: 2441: 2441: 2441: floor_assign_r(elem, elem, ROUND_DOWN); 2441: ((void) 0); 2441: reset_strongly_closed(); 2441: } 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(Octagonal_Shape& x, Octagonal_Shape& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 2328 "../../src/Octagonal_Shape_defs.hh" 2 2441: # 1 "../../src/Octagonal_Shape_templates.hh" 1 2441: # 43 "../../src/Octagonal_Shape_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Octagonal_Shape::Octagonal_Shape(const Polyhedron& ph, 2441: const Complexity_Class complexity) 2441: : matrix(0), space_dim(0), status() { 2441: const dimension_type num_dimensions = ph.space_dimension(); 2441: 2441: if (ph.marked_empty()) { 2441: *this = Octagonal_Shape(num_dimensions, EMPTY); 2441: return; 2441: } 2441: 2441: if (num_dimensions == 0) { 2441: *this = Octagonal_Shape(num_dimensions, UNIVERSE); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (complexity == ANY_COMPLEXITY 2441: || (!ph.has_pending_constraints() && ph.generators_are_up_to_date())) { 2441: *this = Octagonal_Shape(ph.generators()); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: 2441: if (!ph.has_something_pending() && ph.constraints_are_minimized()) { 2441: 2441: 2441: if (ph.is_universe()) { 2441: *this = Octagonal_Shape(num_dimensions, UNIVERSE); 2441: return; 2441: } 2441: } 2441: 2441: 2441: for (Constraint_System::const_iterator i = ph.con_sys.begin(), 2441: cs_end = ph.con_sys.end(); i != cs_end; ++i) { 2441: if (i->is_inconsistent()) { 2441: *this = Octagonal_Shape(num_dimensions, EMPTY); 2441: return; 2441: } 2441: } 2441: 2441: 2441: 2441: if (complexity == SIMPLEX_COMPLEXITY) { 2441: MIP_Problem lp(num_dimensions); 2441: lp.set_optimization_mode(MAXIMIZATION); 2441: 2441: const Constraint_System& ph_cs = ph.constraints(); 2441: if (!ph_cs.has_strict_inequalities()) { 2441: lp.add_constraints(ph_cs); 2441: } 2441: else { 2441: 2441: for (Constraint_System::const_iterator i = ph_cs.begin(), 2441: ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) { 2441: const Constraint& c = *i; 2441: if (c.is_strict_inequality()) { 2441: Linear_Expression expr(c.expression()); 2441: lp.add_constraint(expr >= 0); 2441: } 2441: else { 2441: lp.add_constraint(c); 2441: } 2441: } 2441: } 2441: 2441: 2441: if (!lp.is_satisfiable()) { 2441: *this = Octagonal_Shape(num_dimensions, EMPTY); 2441: return; 2441: } 2441: 2441: 2441: *this = Octagonal_Shape(num_dimensions, UNIVERSE); 2441: 2441: Generator g(point()); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: for (dimension_type i = 0; i < num_dimensions; ++i) { 2441: Variable x(i); 2441: 2441: lp.set_objective_function(x); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: numer *= 2; 2441: div_round_up(matrix[2*i + 1][2*i], numer, denom); 2441: } 2441: 2441: for (dimension_type j = 0; j < i; ++j) { 2441: Variable y(j); 2441: lp.set_objective_function(x + y); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: div_round_up(matrix[2*i + 1][2*j], numer, denom); 2441: } 2441: } 2441: 2441: for (dimension_type j = 0; j < num_dimensions; ++j) { 2441: if (i == j) { 2441: continue; 2441: } 2441: Variable y(j); 2441: lp.set_objective_function(x - y); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: div_round_up(((i < j) ? 2441: matrix[2*j][2*i] 2441: : matrix[2*i + 1][2*j + 1]), 2441: numer, denom); 2441: } 2441: } 2441: 2441: for (dimension_type j = 0; j < num_dimensions; ++j) { 2441: if (i == j) { 2441: continue; 2441: } 2441: Variable y(j); 2441: lp.set_objective_function(x - y); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: div_round_up(((i < j) 2441: ? matrix[2*j][2*i] 2441: : matrix[2*i + 1][2*j + 1]), 2441: numer, denom); 2441: } 2441: } 2441: 2441: for (dimension_type j = 0; j < i; ++j) { 2441: Variable y(j); 2441: lp.set_objective_function(-x - y); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: div_round_up(matrix[2*i][2*j + 1], numer, denom); 2441: } 2441: } 2441: 2441: lp.set_objective_function(-x); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: numer *= 2; 2441: div_round_up(matrix[2*i][2*i + 1], numer, denom); 2441: } 2441: } 2441: set_strongly_closed(); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: *this = Octagonal_Shape(num_dimensions, UNIVERSE); 2441: refine_with_constraints(ph.constraints()); 2441: } 2441: 2441: template 2441: Octagonal_Shape::Octagonal_Shape(const Generator_System& gs) 2441: : matrix(gs.space_dimension()), 2441: space_dim(gs.space_dimension()), 2441: status() { 2441: const Generator_System::const_iterator gs_begin = gs.begin(); 2441: const Generator_System::const_iterator gs_end = gs.end(); 2441: if (gs_begin == gs_end) { 2441: 2441: set_empty(); 2441: return; 2441: } 2441: 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: typename OR_Matrix::row_iterator mat_begin = matrix.row_begin(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: bool mat_initialized = false; 2441: bool point_seen = false; 2441: 2441: for (Generator_System::const_iterator k = gs_begin; k != gs_end; ++k) { 2441: const Generator& g = *k; 2441: switch (g.type()) { 2441: case Generator::POINT: 2441: point_seen = true; 2441: 2441: case Generator::CLOSURE_POINT: 2441: if (!mat_initialized) { 2441: 2441: mat_initialized = true; 2441: const Coefficient& d = g.divisor(); 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: const Coefficient& g_i = g.coefficient(Variable(i)); 2441: const dimension_type di = 2*i; 2441: row_reference x_i = *(mat_begin + di); 2441: row_reference x_ii = *(mat_begin + (di + 1)); 2441: for (dimension_type j = 0; j < i; ++j) { 2441: const Coefficient& g_j = g.coefficient(Variable(j)); 2441: const dimension_type dj = 2*j; 2441: 2441: 2441: 2441: 2441: div_round_up(x_i[dj], g_j - g_i, d); 2441: div_round_up(x_ii[dj + 1], g_i - g_j, d); 2441: 2441: div_round_up(x_i[dj + 1], -g_j - g_i, d); 2441: div_round_up(x_ii[dj], g_i + g_j, d); 2441: } 2441: 2441: div_round_up(x_i[di + 1], -g_i - g_i, d); 2441: div_round_up(x_ii[di], g_i + g_i, d); 2441: } 2441: } 2441: else { 2441: 2441: 2441: const Coefficient& d = g.divisor(); 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: const Coefficient& g_i = g.coefficient(Variable(i)); 2441: const dimension_type di = 2*i; 2441: row_reference x_i = *(mat_begin + di); 2441: row_reference x_ii = *(mat_begin + (di + 1)); 2441: for (dimension_type j = 0; j < i; ++j) { 2441: const Coefficient& g_j = g.coefficient(Variable(j)); 2441: const dimension_type dj = 2*j; 2441: 2441: 2441: 2441: 2441: div_round_up(tmp, g_j - g_i, d); 2441: max_assign(x_i[dj], tmp); 2441: div_round_up(tmp, g_i - g_j, d); 2441: max_assign(x_ii[dj + 1], tmp); 2441: 2441: div_round_up(tmp, -g_j - g_i, d); 2441: max_assign(x_i[dj + 1], tmp); 2441: div_round_up(tmp, g_i + g_j, d); 2441: max_assign(x_ii[dj], tmp); 2441: } 2441: 2441: div_round_up(tmp, -g_i - g_i, d); 2441: max_assign(x_i[di + 1], tmp); 2441: div_round_up(tmp, g_i + g_i, d); 2441: max_assign(x_ii[di], tmp); 2441: } 2441: } 2441: break; 2441: default: 2441: 2441: break; 2441: } 2441: } 2441: 2441: if (!point_seen) { 2441: 2441: throw_invalid_argument("Octagonal_Shape(gs)", 2441: "the non-empty generator system gs " 2441: "contains no points."); 2441: } 2441: 2441: 2441: for (Generator_System::const_iterator k = gs_begin; k != gs_end; ++k) { 2441: const Generator& g = *k; 2441: switch (g.type()) { 2441: case Generator::LINE: 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: const Coefficient& g_i = g.coefficient(Variable(i)); 2441: const dimension_type di = 2*i; 2441: row_reference x_i = *(mat_begin + di); 2441: row_reference x_ii = *(mat_begin + (di + 1)); 2441: for (dimension_type j = 0; j < i; ++j) { 2441: const Coefficient& g_j = g.coefficient(Variable(j)); 2441: const dimension_type dj = 2*j; 2441: 2441: if (g_i != g_j) { 2441: 2441: assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(x_ii[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: if (g_i != -g_j) { 2441: 2441: assign_r(x_i[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: if (g_i != 0) { 2441: 2441: assign_r(x_i[di + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: break; 2441: case Generator::RAY: 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: const Coefficient& g_i = g.coefficient(Variable(i)); 2441: const dimension_type di = 2*i; 2441: row_reference x_i = *(mat_begin + di); 2441: row_reference x_ii = *(mat_begin + (di + 1)); 2441: for (dimension_type j = 0; j < i; ++j) { 2441: const Coefficient& g_j = g.coefficient(Variable(j)); 2441: const dimension_type dj = 2*j; 2441: 2441: 2441: if (g_i < g_j) { 2441: 2441: assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: if (g_i > g_j) { 2441: 2441: assign_r(x_ii[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: if (g_i < -g_j) { 2441: 2441: assign_r(x_i[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: if (g_i > -g_j) { 2441: 2441: assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: if (g_i < 0) { 2441: 2441: assign_r(x_i[di + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: if (g_i > 0) { 2441: 2441: assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: break; 2441: default: 2441: 2441: break; 2441: } 2441: } 2441: set_strongly_closed(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::add_constraint(const Constraint& c) { 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: 2441: if (c_space_dim > space_dim) { 2441: throw_dimension_incompatible("add_constraint(c)", c); 2441: } 2441: 2441: if (c.is_strict_inequality()) { 2441: if (c.is_inconsistent()) { 2441: set_empty(); 2441: return; 2441: } 2441: if (c.is_tautological()) { 2441: return; 2441: } 2441: 2441: throw_invalid_argument("add_constraint(c)", 2441: "strict inequalities are not allowed"); 2441: } 2441: 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_term; Parma_Polyhedra_Library::Coefficient& term = holder_term.item(); 2441: 2441: if (!Octagonal_Shape_Helper 2441: ::extract_octagonal_difference(c, c_space_dim, num_vars, 2441: i, j, coeff, term)) { 2441: throw_invalid_argument("add_constraint(c)", 2441: "c is not an octagonal constraint"); 2441: } 2441: 2441: if (num_vars == 0) { 2441: 2441: if (c.inhomogeneous_term() < 0 2441: || (c.is_equality() && c.inhomogeneous_term() != 0)) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: 2441: typename OR_Matrix::row_iterator i_iter = matrix.row_begin() + i; 2441: typename OR_Matrix::row_reference_type m_i = *i_iter; 2441: N& m_i_j = m_i[j]; 2441: 2441: if (coeff < 0) { 2441: neg_assign(coeff); 2441: } 2441: 2441: bool is_oct_changed = false; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, term, coeff); 2441: if (m_i_j > d) { 2441: m_i_j = d; 2441: is_oct_changed = true; 2441: } 2441: 2441: if (c.is_equality()) { 2441: 2441: if (i % 2 == 0) { 2441: ++i_iter; 2441: } 2441: else { 2441: --i_iter; 2441: } 2441: 2441: typename OR_Matrix::row_reference_type m_ci = *i_iter; 2441: using namespace Implementation::Octagonal_Shapes; 2441: dimension_type cj = coherent_index(j); 2441: N& m_ci_cj = m_ci[cj]; 2441: 2441: neg_assign(term); 2441: div_round_up(d, term, coeff); 2441: if (m_ci_cj > d) { 2441: m_ci_cj = d; 2441: is_oct_changed = true; 2441: } 2441: } 2441: 2441: 2441: if (is_oct_changed && marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::add_congruence(const Congruence& cg) { 2441: const dimension_type cg_space_dim = cg.space_dimension(); 2441: 2441: 2441: if (space_dimension() < cg_space_dim) { 2441: throw_dimension_incompatible("add_congruence(cg)", cg); 2441: } 2441: 2441: 2441: if (cg.is_proper_congruence()) { 2441: if (cg.is_tautological()) { 2441: return; 2441: } 2441: if (cg.is_inconsistent()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: throw_invalid_argument("add_congruence(cg)", 2441: "cg is a non-trivial, proper congruence"); 2441: } 2441: 2441: ((void) 0); 2441: Constraint c(cg); 2441: add_constraint(c); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Octagonal_Shape::refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right) { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_534 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: const dimension_type left_space_dim = left.space_dimension(); 2441: if (space_dim < left_space_dim) { 2441: throw_dimension_incompatible( 2441: "refine_with_linear_form_inequality(left, right)", "left", left); 2441: } 2441: 2441: const dimension_type right_space_dim = right.space_dimension(); 2441: if (space_dim < right_space_dim) { 2441: throw_dimension_incompatible( 2441: "refine_with_linear_form_inequality(left, right)", "right", right); 2441: } 2441: 2441: 2441: dimension_type left_t = 0; 2441: 2441: dimension_type left_w_id = 0; 2441: 2441: 2441: dimension_type right_t = 0; 2441: 2441: dimension_type right_w_id = 0; 2441: 2441: 2441: for (dimension_type i = left_space_dim; i-- > 0; ) { 2441: if (left.coefficient(Variable(i)) != 0) { 2441: if (left_t++ == 1) { 2441: break; 2441: } 2441: else { 2441: left_w_id = i; 2441: } 2441: } 2441: } 2441: 2441: 2441: for (dimension_type i = right_space_dim; i-- > 0; ) { 2441: if (right.coefficient(Variable(i)) != 0) { 2441: if (right_t++ == 1) { 2441: break; 2441: } 2441: else { 2441: right_w_id = i; 2441: } 2441: } 2441: } 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: typedef Interval FP_Interval_Type; 2441: 2441: 2441: 2441: 2441: if (left_t == 0) { 2441: if (right_t == 0) { 2441: 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (right_t == 1) { 2441: 2441: 2441: const FP_Interval_Type& right_w_coeff = 2441: right.coefficient(Variable(right_w_id)); 2441: if (right_w_coeff == 1) { 2441: const dimension_type n_right = right_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_plus_minus_a_minus; N& b_plus_minus_a_minus = holder_b_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_b = right.inhomogeneous_term(); 2441: sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(), 2441: ROUND_UP); 2441: mul_2exp_assign_r(b_plus_minus_a_minus, b_plus_minus_a_minus, 1, 2441: ROUND_UP); 2441: add_octagonal_constraint(n_right, n_right + 1, b_plus_minus_a_minus); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (right_w_coeff == -1) { 2441: const dimension_type n_right = right_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_plus_minus_a_minus; N& b_plus_minus_a_minus = holder_b_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_b = right.inhomogeneous_term(); 2441: sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(), 2441: ROUND_UP); 2441: mul_2exp_assign_r(b_plus_minus_a_minus, b_plus_minus_a_minus, 1, 2441: ROUND_UP); 2441: add_octagonal_constraint(n_right + 1, n_right, b_plus_minus_a_minus); 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: } 2441: else if (left_t == 1) { 2441: if (right_t == 0) { 2441: 2441: 2441: const FP_Interval_Type& left_w_coeff = 2441: left.coefficient(Variable(left_w_id)); 2441: if (left_w_coeff == 1) { 2441: const dimension_type n_left = left_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: mul_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1, 2441: ROUND_UP); 2441: add_octagonal_constraint(n_left + 1, n_left, a_plus_minus_b_minus); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (left_w_coeff == -1) { 2441: const dimension_type n_left = left_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: mul_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1, 2441: ROUND_UP); 2441: add_octagonal_constraint(n_left, n_left + 1, a_plus_minus_b_minus); 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: 2441: if (right_t == 1) { 2441: 2441: 2441: 2441: 2441: const FP_Interval_Type& left_w_coeff = 2441: left.coefficient(Variable(left_w_id)); 2441: const FP_Interval_Type& right_w_coeff = 2441: right.coefficient(Variable(right_w_id)); 2441: bool is_left_coeff_one = (left_w_coeff == 1); 2441: bool is_left_coeff_minus_one = (left_w_coeff == -1); 2441: bool is_right_coeff_one = (right_w_coeff == 1); 2441: bool is_right_coeff_minus_one = (right_w_coeff == -1); 2441: if (left_w_id == right_w_id) { 2441: if ((is_left_coeff_one && is_right_coeff_one) 2441: || (is_left_coeff_minus_one && is_right_coeff_minus_one)) { 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: if (is_left_coeff_one && is_right_coeff_minus_one) { 2441: 2441: 2441: const dimension_type n_left = left_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: add_octagonal_constraint(n_left + 1, n_left, a_plus_minus_b_minus); 2441: ((void) 0); 2441: return; 2441: } 2441: if (is_left_coeff_minus_one && is_right_coeff_one) { 2441: 2441: 2441: const dimension_type n_left = left_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: add_octagonal_constraint(n_left, n_left + 1, a_plus_minus_b_minus); 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: else if (is_left_coeff_one && is_right_coeff_one) { 2441: const dimension_type n_left = left_w_id * 2; 2441: const dimension_type n_right = right_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_plus_minus_a_minus; N& c_plus_minus_a_minus = holder_c_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_c = right.inhomogeneous_term(); 2441: sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(), 2441: ROUND_UP); 2441: if (left_w_id < right_w_id) { 2441: add_octagonal_constraint(n_right, n_left, c_plus_minus_a_minus); 2441: } 2441: else { 2441: add_octagonal_constraint(n_left + 1, n_right + 1, 2441: c_plus_minus_a_minus); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: if (is_left_coeff_one && is_right_coeff_minus_one) { 2441: const dimension_type n_left = left_w_id * 2; 2441: const dimension_type n_right = right_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_plus_minus_a_minus; N& c_plus_minus_a_minus = holder_c_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_c = right.inhomogeneous_term(); 2441: sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(), 2441: ROUND_UP); 2441: if (left_w_id < right_w_id) { 2441: add_octagonal_constraint(n_right + 1, n_left, c_plus_minus_a_minus); 2441: } 2441: else { 2441: add_octagonal_constraint(n_left + 1, n_right, c_plus_minus_a_minus); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: if (is_left_coeff_minus_one && is_right_coeff_one) { 2441: const dimension_type n_left = left_w_id * 2; 2441: const dimension_type n_right = right_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_plus_minus_a_minus; N& c_plus_minus_a_minus = holder_c_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_c = right.inhomogeneous_term(); 2441: sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(), 2441: ROUND_UP); 2441: if (left_w_id < right_w_id) { 2441: add_octagonal_constraint(n_right, n_left + 1, c_plus_minus_a_minus); 2441: } 2441: else { 2441: add_octagonal_constraint(n_left, n_right + 1, c_plus_minus_a_minus); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: if (is_left_coeff_minus_one && is_right_coeff_minus_one) { 2441: const dimension_type n_left = left_w_id * 2; 2441: const dimension_type n_right = right_w_id * 2; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_plus_minus_a_minus; N& c_plus_minus_a_minus = holder_c_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_c = right.inhomogeneous_term(); 2441: sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(), 2441: ROUND_UP); 2441: if (left_w_id < right_w_id) { 2441: add_octagonal_constraint(n_right + 1, n_left + 1, 2441: c_plus_minus_a_minus); 2441: } 2441: else { 2441: add_octagonal_constraint(n_left, n_right, c_plus_minus_a_minus); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_low_coeff; N& low_coeff = holder_low_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_high_coeff; N& high_coeff = holder_high_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_upper_bound; N& upper_bound = holder_upper_bound.item(); 2441: 2441: Linear_Form right_minus_left(right); 2441: right_minus_left -= left; 2441: 2441: dimension_type max_w_id = std::max(left_w_id, right_w_id); 2441: for (dimension_type first_v = 0; first_v < max_w_id; ++first_v) { 2441: for (dimension_type second_v = first_v + 1; 2441: second_v <= max_w_id; ++second_v) { 2441: const FP_Interval_Type& lfv_coefficient = 2441: left.coefficient(Variable(first_v)); 2441: const FP_Interval_Type& lsv_coefficient = 2441: left.coefficient(Variable(second_v)); 2441: const FP_Interval_Type& rfv_coefficient = 2441: right.coefficient(Variable(first_v)); 2441: const FP_Interval_Type& rsv_coefficient = 2441: right.coefficient(Variable(second_v)); 2441: 2441: 2441: bool do_update = false; 2441: assign_r(low_coeff, lfv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lfv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: else { 2441: assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: } 2441: } 2441: else { 2441: assign_r(low_coeff, rfv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rfv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: else { 2441: assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: } 2441: } 2441: } 2441: 2441: if (do_update) { 2441: Variable first(first_v); 2441: Variable second(second_v); 2441: dimension_type n_first_var = first_v * 2; 2441: dimension_type n_second_var = second_v * 2; 2441: linear_form_upper_bound(right_minus_left - first + second, 2441: upper_bound); 2441: add_octagonal_constraint(n_second_var + 1, n_first_var + 1, 2441: upper_bound); 2441: linear_form_upper_bound(right_minus_left + first + second, 2441: upper_bound); 2441: add_octagonal_constraint(n_second_var + 1, n_first_var, upper_bound); 2441: linear_form_upper_bound(right_minus_left - first - second, 2441: upper_bound); 2441: add_octagonal_constraint(n_second_var, n_first_var + 1, upper_bound); 2441: linear_form_upper_bound(right_minus_left + first - second, 2441: upper_bound); 2441: add_octagonal_constraint(n_second_var, n_first_var, upper_bound); 2441: } 2441: } 2441: } 2441: 2441: 2441: for (dimension_type v = 0; v <= max_w_id; ++v) { 2441: const FP_Interval_Type& lv_coefficient = 2441: left.coefficient(Variable(v)); 2441: const FP_Interval_Type& rv_coefficient = 2441: right.coefficient(Variable(v)); 2441: 2441: 2441: bool do_update = false; 2441: assign_r(low_coeff, lv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: else { 2441: assign_r(low_coeff, rv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: } 2441: 2441: if (do_update) { 2441: Variable var(v); 2441: dimension_type n_var = 2 * v; 2441: 2441: 2441: 2441: 2441: 2441: linear_form_upper_bound(right_minus_left + var, upper_bound); 2441: mul_2exp_assign_r(matrix[n_var + 1][n_var + 1], upper_bound, 1, 2441: ROUND_UP); 2441: linear_form_upper_bound(right_minus_left - var, upper_bound); 2441: mul_2exp_assign_r(matrix[n_var][n_var], upper_bound, 1, 2441: ROUND_UP); 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: row_iterator m_ite = matrix.row_begin(); 2441: row_iterator m_end = matrix.row_end(); 2441: for (dimension_type i = 0; m_ite != m_end; i += 2) { 2441: row_reference upper = *m_ite; 2441: N& ul = upper[i]; 2441: add_octagonal_constraint(i, i + 1, ul); 2441: assign_r(ul, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: ++m_ite; 2441: row_reference lower = *m_ite; 2441: N& lr = lower[i + 1]; 2441: add_octagonal_constraint(i + 1, i, lr); 2441: assign_r(lr, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: ++m_ite; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::refine_no_check(const Constraint& c) { 2441: ((void) 0); 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: ((void) 0); 2441: 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_term; Parma_Polyhedra_Library::Coefficient& term = holder_term.item(); 2441: 2441: if (!Octagonal_Shape_Helper 2441: ::extract_octagonal_difference(c, c_space_dim, num_vars, 2441: i, j, coeff, term)) { 2441: return; 2441: } 2441: 2441: if (num_vars == 0) { 2441: const Coefficient& c_inhomo = c.inhomogeneous_term(); 2441: 2441: if (c_inhomo < 0 2441: || (c_inhomo != 0 && c.is_equality()) 2441: || (c_inhomo == 0 && c.is_strict_inequality())) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: 2441: typename OR_Matrix::row_iterator i_iter = matrix.row_begin() + i; 2441: typename OR_Matrix::row_reference_type m_i = *i_iter; 2441: N& m_i_j = m_i[j]; 2441: 2441: if (coeff < 0) { 2441: neg_assign(coeff); 2441: } 2441: 2441: bool is_oct_changed = false; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, term, coeff); 2441: if (m_i_j > d) { 2441: m_i_j = d; 2441: is_oct_changed = true; 2441: } 2441: 2441: if (c.is_equality()) { 2441: 2441: if (i % 2 == 0) { 2441: ++i_iter; 2441: } 2441: else { 2441: --i_iter; 2441: } 2441: 2441: typename OR_Matrix::row_reference_type m_ci = *i_iter; 2441: using namespace Implementation::Octagonal_Shapes; 2441: dimension_type cj = coherent_index(j); 2441: N& m_ci_cj = m_ci[cj]; 2441: 2441: neg_assign(term); 2441: div_round_up(d, term, coeff); 2441: if (m_ci_cj > d) { 2441: m_ci_cj = d; 2441: is_oct_changed = true; 2441: } 2441: } 2441: 2441: 2441: if (is_oct_changed && marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: dimension_type 2441: Octagonal_Shape::affine_dimension() const { 2441: const dimension_type n_rows = matrix.num_rows(); 2441: 2441: if (n_rows == 0) { 2441: return 0; 2441: } 2441: 2441: 2441: 2441: strong_closure_assign(); 2441: if (marked_empty()) { 2441: return 0; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: std::vector leaders; 2441: compute_leaders(leaders); 2441: 2441: 2441: 2441: dimension_type affine_dim = 0; 2441: for (dimension_type i = 0; i < n_rows; i += 2) { 2441: 2441: if (leaders[i] == i && leaders[i + 1] == i + 1) { 2441: ++affine_dim; 2441: } 2441: } 2441: 2441: return affine_dim; 2441: } 2441: 2441: template 2441: Congruence_System 2441: Octagonal_Shape::minimized_congruences() const { 2441: 2441: 2441: strong_closure_assign(); 2441: Congruence_System cgs(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cgs = Congruence_System::zero_dim_empty(); 2441: } 2441: return cgs; 2441: } 2441: 2441: if (marked_empty()) { 2441: cgs.insert(Congruence::zero_dim_false()); 2441: return cgs; 2441: } 2441: 2441: 2441: 2441: 2441: std::vector leaders; 2441: compute_leaders(leaders); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: for (dimension_type i = 0, i_end = 2*space_dim; i != i_end; i += 2) { 2441: const dimension_type lead_i = leaders[i]; 2441: if (i == lead_i) { 2441: if (leaders[i + 1] == i) { 2441: 2441: goto singular; 2441: } 2441: else { 2441: 2441: continue; 2441: } 2441: } 2441: else { 2441: 2441: if (leaders[i + 1] == lead_i) { 2441: 2441: goto singular; 2441: } 2441: else { 2441: 2441: goto non_singular; 2441: } 2441: } 2441: 2441: singular: 2441: 2441: 2441: { 2441: const Variable x(i/2); 2441: const N& c_ii_i = matrix[i + 1][i]; 2441: 2441: 2441: 2441: 2441: numer_denom(c_ii_i, numer, denom); 2441: denom *= 2; 2441: cgs.insert(denom*x == numer); 2441: } 2441: continue; 2441: 2441: non_singular: 2441: 2441: 2441: { 2441: const N& c_i_li = matrix[i][lead_i]; 2441: 2441: 2441: 2441: 2441: 2441: const Variable x(lead_i/2); 2441: const Variable y(i/2); 2441: numer_denom(c_i_li, numer, denom); 2441: if (lead_i % 2 == 0) { 2441: cgs.insert(denom*x - denom*y == numer); 2441: } 2441: else { 2441: cgs.insert(denom*x + denom*y + numer == 0); 2441: } 2441: } 2441: continue; 2441: } 2441: return cgs; 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::concatenate_assign(const Octagonal_Shape& y) { 2441: 2441: 2441: if (y.space_dim == 0) { 2441: if (y.marked_empty()) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0 && marked_empty()) { 2441: add_space_dimensions_and_embed(y.space_dim); 2441: return; 2441: } 2441: 2441: 2441: 2441: dimension_type old_num_rows = matrix.num_rows(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: add_space_dimensions_and_embed(y.space_dim); 2441: typename OR_Matrix::const_element_iterator 2441: y_it = y.matrix.element_begin(); 2441: for (typename OR_Matrix::row_iterator 2441: i = matrix.row_begin() + old_num_rows, 2441: matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) { 2441: typename OR_Matrix::row_reference_type r = *i; 2441: dimension_type rs_i = i.row_size(); 2441: for (dimension_type j = old_num_rows; j < rs_i; ++j, ++y_it) { 2441: r[j] = *y_it; 2441: } 2441: } 2441: 2441: 2441: if (marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::contains(const Octagonal_Shape& y) const { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("contains(y)", y); 2441: } 2441: 2441: if (space_dim == 0) { 2441: 2441: 2441: 2441: 2441: return marked_empty() ? y.marked_empty() : true; 2441: } 2441: 2441: 2441: y.strong_closure_assign(); 2441: 2441: if (y.marked_empty()) { 2441: return true; 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: 2441: for (typename OR_Matrix::const_element_iterator 2441: i = matrix.element_begin(), j = y.matrix.element_begin(), 2441: matrix_element_end = matrix.element_end(); 2441: i != matrix_element_end; ++i, ++j) { 2441: if (*i < *j) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::is_disjoint_from(const Octagonal_Shape& y) const { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("is_disjoint_from(y)", y); 2441: } 2441: 2441: 2441: strong_closure_assign(); 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: y.strong_closure_assign(); 2441: if (y.marked_empty()) { 2441: return true; 2441: } 2441: # 1257 "../../src/Octagonal_Shape_templates.hh" 2441: const dimension_type n_rows = matrix.num_rows(); 2441: 2441: typedef typename OR_Matrix::const_row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const row_iterator m_end = matrix.row_end(); 2441: 2441: const row_iterator y_begin = y.matrix.row_begin(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_neg_y_ci_cj; N& neg_y_ci_cj = holder_neg_y_ci_cj.item(); 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; ++i_iter) { 2441: using namespace Implementation::Octagonal_Shapes; 2441: const dimension_type i = i_iter.index(); 2441: const dimension_type ci = coherent_index(i); 2441: const dimension_type rs_i = i_iter.row_size(); 2441: row_reference m_i = *i_iter; 2441: for (dimension_type j = 0; j < n_rows; ++j) { 2441: const dimension_type cj = coherent_index(j); 2441: row_reference m_cj = *(m_begin + cj); 2441: const N& m_i_j = (j < rs_i) ? m_i[j] : m_cj[ci]; 2441: row_reference y_ci = *(y_begin + ci); 2441: row_reference y_j = *(y_begin + j); 2441: const N& y_ci_cj = (j < rs_i) ? y_ci[cj] : y_j[i]; 2441: neg_assign_r(neg_y_ci_cj, y_ci_cj, ROUND_UP); 2441: if (m_i_j < neg_y_ci_cj) { 2441: return true; 2441: } 2441: } 2441: } 2441: return false; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::is_universe() const { 2441: 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: for (typename OR_Matrix::const_element_iterator 2441: i = matrix.element_begin(), matrix_element_end = matrix.element_end(); 2441: i != matrix_element_end; 2441: ++i) { 2441: if (!is_plus_infinity(*i)) { 2441: return false; 2441: } 2441: } 2441: 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::is_bounded() const { 2441: strong_closure_assign(); 2441: 2441: if (marked_empty() || space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: for (typename OR_Matrix::const_row_iterator i = matrix.row_begin(), 2441: matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) { 2441: typename OR_Matrix::const_row_reference_type x_i = *i; 2441: const dimension_type i_index = i.index(); 2441: for (dimension_type j = i.row_size(); j-- > 0; ) { 2441: if (i_index != j) { 2441: if (is_plus_infinity(x_i[j])) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::contains_integer_point() const { 2441: 2441: if (is_empty()) { 2441: return false; 2441: } 2441: if (space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: if (std::numeric_limits::is_integer) { 2441: return !tight_coherence_would_make_empty(); 2441: } 2441: 2441: 2441: 2441: 2441: Octagonal_Shape oct_z(space_dim); 2441: oct_z.reset_strongly_closed(); 2441: 2441: typedef Octagonal_Shape::N Z; 2441: bool all_integers = true; 2441: typename OR_Matrix::const_element_iterator x_i = matrix.element_begin(); 2441: for (typename OR_Matrix::element_iterator 2441: z_i = oct_z.matrix.element_begin(), 2441: z_end = oct_z.matrix.element_end(); z_i != z_end; ++z_i, ++x_i) { 2441: const N& d = *x_i; 2441: if (is_plus_infinity(d)) { 2441: continue; 2441: } 2441: if (is_integer(d)) { 2441: assign_r(*z_i, d, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: all_integers = false; 2441: assign_r(*z_i, d, ROUND_DOWN); 2441: } 2441: } 2441: 2441: if (all_integers) { 2441: 2441: oct_z.set_strongly_closed(); 2441: } 2441: else { 2441: 2441: oct_z.strong_closure_assign(); 2441: if (oct_z.marked_empty()) { 2441: return false; 2441: } 2441: } 2441: return !oct_z.tight_coherence_would_make_empty(); 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const { 2441: 2441: if (space_dim < expr.space_dimension()) { 2441: throw_dimension_incompatible("frequency(e, ...)", "e", expr); 2441: } 2441: # 1415 "../../src/Octagonal_Shape_templates.hh" 2441: if (space_dim == 0) { 2441: if (is_empty()) { 2441: return false; 2441: } 2441: freq_n = 0; 2441: freq_d = 1; 2441: val_n = expr.inhomogeneous_term(); 2441: val_d = 1; 2441: return true; 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_j; Parma_Polyhedra_Library::Coefficient& coeff_j = holder_coeff_j.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: Linear_Expression le = expr; 2441: 2441: 2441: 2441: bool constant_v = false; 2441: 2441: typedef typename OR_Matrix::const_row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const row_iterator m_end = matrix.row_end(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_val_denom; Parma_Polyhedra_Library::Coefficient& val_denom = holder_val_denom.item(); 2441: val_denom = 1; 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) { 2441: constant_v = false; 2441: dimension_type i = i_iter.index(); 2441: const Variable v(i/2); 2441: coeff = le.coefficient(v); 2441: if (coeff == 0) { 2441: constant_v = true; 2441: continue; 2441: } 2441: 2441: row_reference m_i = *i_iter; 2441: row_reference m_ii = *(i_iter + 1); 2441: const N& m_i_ii = m_i[i + 1]; 2441: const N& m_ii_i = m_ii[i]; 2441: if ((!is_plus_infinity(m_i_ii) && !is_plus_infinity(m_ii_i)) 2441: && (is_additive_inverse(m_i_ii, m_ii_i))) { 2441: 2441: numer_denom(m_i_ii, numer, denom); 2441: denom *= 2; 2441: le -= coeff*v; 2441: le *= denom; 2441: le -= numer*coeff; 2441: val_denom *= denom; 2441: constant_v = true; 2441: continue; 2441: } 2441: 2441: 2441: else { 2441: ((void) 0); 2441: using namespace Implementation::Octagonal_Shapes; 2441: const dimension_type ci = coherent_index(i); 2441: for (row_iterator j_iter = i_iter; j_iter != m_end; j_iter += 2) { 2441: dimension_type j = j_iter.index(); 2441: const Variable vj(j/2); 2441: coeff_j = le.coefficient(vj); 2441: if (coeff_j == 0) { 2441: 2441: continue; 2441: } 2441: const dimension_type cj = coherent_index(j); 2441: const dimension_type cjj = coherent_index(j + 1); 2441: 2441: row_reference m_j = *(m_begin + j); 2441: row_reference m_cj = *(m_begin + cj); 2441: const N& m_j_i = m_j[i]; 2441: const N& m_i_j = m_cj[ci]; 2441: if ((!is_plus_infinity(m_i_j) && !is_plus_infinity(m_j_i)) 2441: && (is_additive_inverse(m_i_j, m_j_i))) { 2441: 2441: 2441: 2441: numer_denom(m_i_j, numer, denom); 2441: le -= coeff*v; 2441: le += coeff*vj; 2441: le *= denom; 2441: le -= numer*coeff; 2441: val_denom *= denom; 2441: constant_v = true; 2441: break; 2441: } 2441: 2441: m_j = *(m_begin + (j + 1)); 2441: m_cj = *(m_begin + cjj); 2441: const N& m_j_i1 = m_j[i]; 2441: const N& m_i_j1 = m_cj[ci]; 2441: if ((!is_plus_infinity(m_i_j1) && !is_plus_infinity(m_j_i1)) 2441: && (is_additive_inverse(m_i_j1, m_j_i1))) { 2441: 2441: 2441: 2441: numer_denom(m_i_j1, numer, denom); 2441: le -= coeff*v; 2441: le -= coeff*vj; 2441: le *= denom; 2441: le -= numer*coeff; 2441: val_denom *= denom; 2441: constant_v = true; 2441: break; 2441: } 2441: } 2441: if (!constant_v) { 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: if (!constant_v) { 2441: 2441: return false; 2441: } 2441: 2441: 2441: freq_n = 0; 2441: freq_d = 1; 2441: 2441: 2441: normalize2(le.inhomogeneous_term(), val_denom, val_n, val_d); 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::constrains(const Variable var) const { 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dimension() < var_space_dim) { 2441: throw_dimension_incompatible("constrains(v)", "v", var); 2441: } 2441: 2441: 2441: 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: 2441: 2441: const dimension_type n_v = 2*(var_space_dim - 1); 2441: typename OR_Matrix::const_row_iterator m_iter = matrix.row_begin() + n_v; 2441: typename OR_Matrix::const_row_reference_type r_v = *m_iter; 2441: typename OR_Matrix::const_row_reference_type r_cv = *(++m_iter); 2441: for (dimension_type h = m_iter.row_size(); h-- > 0; ) { 2441: if (!is_plus_infinity(r_v[h]) || !is_plus_infinity(r_cv[h])) { 2441: return true; 2441: } 2441: } 2441: ++m_iter; 2441: for (typename OR_Matrix::const_row_iterator m_end = matrix.row_end(); 2441: m_iter != m_end; ++m_iter) { 2441: typename OR_Matrix::const_row_reference_type r = *m_iter; 2441: if (!is_plus_infinity(r[n_v]) || !is_plus_infinity(r[n_v + 1])) { 2441: return true; 2441: } 2441: } 2441: 2441: 2441: 2441: return is_empty(); 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::is_strong_coherent() const { 2441: 2441: 2441: const dimension_type num_rows = matrix.num_rows(); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_semi_sum; N& semi_sum = holder_semi_sum.item(); 2441: 2441: 2441: 2441: 2441: 2441: for (dimension_type i = num_rows; i-- > 0; ) { 2441: typename OR_Matrix::const_row_iterator iter = matrix.row_begin() + i; 2441: typename OR_Matrix::const_row_reference_type m_i = *iter; 2441: using namespace Implementation::Octagonal_Shapes; 2441: const N& m_i_ci = m_i[coherent_index(i)]; 2441: for (dimension_type j = matrix.row_size(i); j-- > 0; ) { 2441: 2441: if (i != j) { 2441: const N& m_cj_j = matrix[coherent_index(j)][j]; 2441: if (!is_plus_infinity(m_i_ci) 2441: && !is_plus_infinity(m_cj_j)) { 2441: 2441: 2441: add_assign_r(semi_sum, m_i_ci, m_cj_j, ROUND_UP); 2441: div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP); 2441: if (m_i[j] > semi_sum) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::is_strongly_reduced() const { 2441: 2441: 2441: 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: 2441: Octagonal_Shape x = *this; 2441: 2441: 2441: for (typename OR_Matrix::const_row_iterator iter = matrix.row_begin(), 2441: matrix_row_end = matrix.row_end(); iter != matrix_row_end; ++iter) { 2441: typename OR_Matrix::const_row_reference_type m_i = *iter; 2441: const dimension_type i = iter.index(); 2441: for (dimension_type j = iter.row_size(); j-- > 0; ) { 2441: if (!is_plus_infinity(m_i[j])) { 2441: Octagonal_Shape x_copy = *this; 2441: assign_r(x_copy.matrix[i][j], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: if (x == x_copy) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::bounds(const Linear_Expression& expr, 2441: const bool from_above) const { 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((from_above 2441: ? "bounds_from_above(e)" 2441: : "bounds_from_below(e)"), "e", expr); 2441: } 2441: strong_closure_assign(); 2441: 2441: 2441: if (space_dim == 0 || marked_empty()) { 2441: return true; 2441: } 2441: 2441: 2441: 2441: const Constraint& c = (from_above) ? expr <= 0 : expr >= 0; 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_term; Parma_Polyhedra_Library::Coefficient& term = holder_term.item(); 2441: if (Octagonal_Shape_Helper 2441: ::extract_octagonal_difference(c, c.space_dimension(), num_vars, 2441: i, j, coeff, term)) { 2441: if (num_vars == 0) { 2441: return true; 2441: } 2441: 2441: typename OR_Matrix::const_row_iterator i_iter = matrix.row_begin() + i; 2441: typename OR_Matrix::const_row_reference_type m_i = *i_iter; 2441: return !is_plus_infinity(m_i[j]); 2441: } 2441: else { 2441: 2441: Optimization_Mode mode_bounds = 2441: from_above ? MAXIMIZATION : MINIMIZATION; 2441: MIP_Problem mip(space_dim, constraints(), expr, mode_bounds); 2441: return mip.solve() == OPTIMIZED_MIP_PROBLEM; 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::max_min(const Linear_Expression& expr, 2441: const bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, 2441: bool& included) const { 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((maximize 2441: ? "maximize(e, ...)" 2441: : "minimize(e, ...)"), "e", expr); 2441: } 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: else { 2441: ext_n = expr.inhomogeneous_term(); 2441: ext_d = 1; 2441: included = true; 2441: return true; 2441: } 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: 2441: const Constraint& c = (maximize) ? expr <= 0 : expr >= 0; 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_term; Parma_Polyhedra_Library::Coefficient& term = holder_term.item(); 2441: if (!Octagonal_Shape_Helper 2441: ::extract_octagonal_difference(c, c.space_dimension(), num_vars, 2441: i, j, coeff, term)) { 2441: 2441: Optimization_Mode max_min = (maximize) ? MAXIMIZATION : MINIMIZATION; 2441: MIP_Problem mip(space_dim, constraints(), expr, max_min); 2441: if (mip.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: mip.optimal_value(ext_n, ext_d); 2441: included = true; 2441: return true; 2441: } 2441: else { 2441: 2441: return false; 2441: } 2441: } 2441: else { 2441: 2441: if (num_vars == 0) { 2441: ext_n = expr.inhomogeneous_term(); 2441: ext_d = 1; 2441: included = true; 2441: return true; 2441: } 2441: 2441: 2441: typename OR_Matrix::const_row_iterator i_iter = matrix.row_begin() + i; 2441: typename OR_Matrix::const_row_reference_type m_i = *i_iter; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: if (!is_plus_infinity(m_i[j])) { 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = maximize ? b : minus_b; 2441: assign_r(d, sc_b, ROUND_UP); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_expr; N& coeff_expr = holder_coeff_expr.item(); 2441: const Coefficient& coeff_i = expr.coefficient(Variable(i/2)); 2441: const int sign_i = sgn(coeff_i); 2441: if (sign_i > 0) { 2441: assign_r(coeff_expr, coeff_i, ROUND_UP); 2441: } 2441: else { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_coeff_i; Parma_Polyhedra_Library::Coefficient& minus_coeff_i = holder_minus_coeff_i.item(); 2441: neg_assign(minus_coeff_i, coeff_i); 2441: assign_r(coeff_expr, minus_coeff_i, ROUND_UP); 2441: } 2441: 2441: if (num_vars == 1) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_m_i_j; N& m_i_j = holder_m_i_j.item(); 2441: div_2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP); 2441: add_mul_assign_r(d, coeff_expr, m_i_j, ROUND_UP); 2441: } 2441: else { 2441: add_mul_assign_r(d, coeff_expr, m_i[j], ROUND_UP); 2441: } 2441: numer_denom(d, ext_n, ext_d); 2441: if (!maximize) { 2441: neg_assign(ext_n); 2441: } 2441: included = true; 2441: return true; 2441: } 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::max_min(const Linear_Expression& expr, 2441: const bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, 2441: bool& included, Generator& g) const { 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((maximize 2441: ? "maximize(e, ...)" 2441: : "minimize(e, ...)"), "e", expr); 2441: } 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: else { 2441: ext_n = expr.inhomogeneous_term(); 2441: ext_d = 1; 2441: included = true; 2441: g = point(); 2441: return true; 2441: } 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: if (!is_universe()) { 2441: 2441: 2441: Optimization_Mode max_min = (maximize) ? MAXIMIZATION : MINIMIZATION; 2441: MIP_Problem mip(space_dim, constraints(), expr, max_min); 2441: if (mip.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = mip.optimizing_point(); 2441: mip.evaluate_objective_function(g, ext_n, ext_d); 2441: included = true; 2441: return true; 2441: } 2441: } 2441: 2441: return false; 2441: } 2441: 2441: template 2441: Poly_Con_Relation 2441: Octagonal_Shape::relation_with(const Congruence& cg) const { 2441: dimension_type cg_space_dim = cg.space_dimension(); 2441: 2441: 2441: if (cg_space_dim > space_dim) { 2441: throw_dimension_incompatible("relation_with(cg)", cg); 2441: } 2441: 2441: 2441: 2441: if (cg.is_equality()) { 2441: Constraint c(cg); 2441: return relation_with(c); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: 2441: if (space_dim == 0) { 2441: if (cg.is_inconsistent()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: 2441: 2441: Linear_Expression le(cg.expression()); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_numer; Parma_Polyhedra_Library::Coefficient& min_numer = holder_min_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_denom; Parma_Polyhedra_Library::Coefficient& min_denom = holder_min_denom.item(); 2441: bool min_included; 2441: bool bounded_below = minimize(le, min_numer, min_denom, min_included); 2441: 2441: 2441: 2441: if (!bounded_below) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_numer; Parma_Polyhedra_Library::Coefficient& max_numer = holder_max_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_denom; Parma_Polyhedra_Library::Coefficient& max_denom = holder_max_denom.item(); 2441: bool max_included; 2441: bool bounded_above = maximize(le, max_numer, max_denom, max_included); 2441: 2441: 2441: 2441: if (!bounded_above) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_signed_distance; Parma_Polyhedra_Library::Coefficient& signed_distance = holder_signed_distance.item(); 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_value; Parma_Polyhedra_Library::Coefficient& min_value = holder_min_value.item(); 2441: min_value = min_numer / min_denom; 2441: const Coefficient& modulus = cg.modulus(); 2441: signed_distance = min_value % modulus; 2441: min_value -= signed_distance; 2441: if (min_value * min_denom < min_numer) { 2441: min_value += modulus; 2441: } 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_value; Parma_Polyhedra_Library::Coefficient& max_value = holder_max_value.item(); 2441: max_value = max_numer / max_denom; 2441: signed_distance = max_value % modulus; 2441: max_value += signed_distance; 2441: if (max_value * max_denom > max_numer) { 2441: max_value -= modulus; 2441: } 2441: 2441: 2441: 2441: 2441: if (max_value < min_value) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: } 2441: 2441: template 2441: Poly_Con_Relation 2441: Octagonal_Shape::relation_with(const Constraint& c) const { 2441: dimension_type c_space_dim = c.space_dimension(); 2441: 2441: 2441: if (c_space_dim > space_dim) { 2441: throw_dimension_incompatible("relation_with(c)", c); 2441: } 2441: 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: 2441: if (space_dim == 0) { 2441: 2441: if ((c.is_equality() && c.inhomogeneous_term() != 0) 2441: || (c.is_inequality() && c.inhomogeneous_term() < 0)) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0) { 2441: 2441: 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: 2441: 2441: else if (c.is_equality() || c.inhomogeneous_term() == 0) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: else { 2441: 2441: 2441: 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_term; Parma_Polyhedra_Library::Coefficient& c_term = holder_c_term.item(); 2441: if (!Octagonal_Shape_Helper 2441: ::extract_octagonal_difference(c, c_space_dim, num_vars, 2441: i, j, coeff, c_term)) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression le; 2441: le.set_space_dimension(c.space_dimension()); 2441: le.linear_combine(c.expr, Coefficient_one(), Coefficient_one(), 2441: 1, c_space_dim + 1); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_numer; Parma_Polyhedra_Library::Coefficient& max_numer = holder_max_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_denom; Parma_Polyhedra_Library::Coefficient& max_denom = holder_max_denom.item(); 2441: bool max_included; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_numer; Parma_Polyhedra_Library::Coefficient& min_numer = holder_min_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_denom; Parma_Polyhedra_Library::Coefficient& min_denom = holder_min_denom.item(); 2441: bool min_included; 2441: bool bounded_above = maximize(le, max_numer, max_denom, max_included); 2441: bool bounded_below = minimize(le, min_numer, min_denom, min_included); 2441: if (!bounded_above) { 2441: if (!bounded_below) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: min_numer += c.inhomogeneous_term() * min_denom; 2441: switch (sgn(min_numer)) { 2441: case 1: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case 0: 2441: if (c.is_strict_inequality() || c.is_equality()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case -1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: } 2441: if (!bounded_below) { 2441: max_numer += c.inhomogeneous_term() * max_denom; 2441: switch (sgn(max_numer)) { 2441: case 1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case 0: 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: else { 2441: max_numer += c.inhomogeneous_term() * max_denom; 2441: min_numer += c.inhomogeneous_term() * min_denom; 2441: switch (sgn(max_numer)) { 2441: case 1: 2441: switch (sgn(min_numer)) { 2441: case 1: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case 0: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case -1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: case 0: 2441: if (min_numer == 0) { 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint() 2441: && Poly_Con_Relation::saturates(); 2441: } 2441: return Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::saturates(); 2441: } 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: } 2441: 2441: if (num_vars == 0) { 2441: 2441: switch (sgn(c.inhomogeneous_term())) { 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: case 0: 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: case 1: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: } 2441: 2441: 2441: typename OR_Matrix::const_row_iterator i_iter = matrix.row_begin() + i; 2441: typename OR_Matrix::const_row_reference_type m_i = *i_iter; 2441: const N& m_i_j = m_i[j]; 2441: 2441: if (coeff < 0) { 2441: neg_assign(coeff); 2441: } 2441: 2441: 2441: 2441: if (i % 2 == 0) { 2441: ++i_iter; 2441: } 2441: else { 2441: --i_iter; 2441: } 2441: typename OR_Matrix::const_row_reference_type m_ci = *i_iter; 2441: using namespace Implementation::Octagonal_Shapes; 2441: const N& m_ci_cj = m_ci[coherent_index(j)]; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_x; mpq_class& q_x = holder_q_x.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_y; mpq_class& q_y = holder_q_y.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; mpq_class& d = holder_d.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d1; mpq_class& d1 = holder_d1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_denom; mpq_class& c_denom = holder_c_denom.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_denom; mpq_class& q_denom = holder_q_denom.item(); 2441: assign_r(c_denom, coeff, ROUND_NOT_NEEDED); 2441: assign_r(d, c_term, ROUND_NOT_NEEDED); 2441: neg_assign_r(d1, d, ROUND_NOT_NEEDED); 2441: div_assign_r(d, d, c_denom, ROUND_NOT_NEEDED); 2441: div_assign_r(d1, d1, c_denom, ROUND_NOT_NEEDED); 2441: 2441: if (is_plus_infinity(m_i_j)) { 2441: if (!is_plus_infinity(m_ci_cj)) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: numer_denom(m_ci_cj, numer, denom); 2441: assign_r(q_denom, denom, ROUND_NOT_NEEDED); 2441: assign_r(q_y, numer, ROUND_NOT_NEEDED); 2441: div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED); 2441: if (q_y < d1) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: if (q_y == d1 && c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: 2441: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: 2441: numer_denom(m_i_j, numer, denom); 2441: assign_r(q_denom, denom, ROUND_NOT_NEEDED); 2441: assign_r(q_x, numer, ROUND_NOT_NEEDED); 2441: div_assign_r(q_x, q_x, q_denom, ROUND_NOT_NEEDED); 2441: 2441: if (!is_plus_infinity(m_ci_cj)) { 2441: numer_denom(m_ci_cj, numer, denom); 2441: assign_r(q_denom, denom, ROUND_NOT_NEEDED); 2441: assign_r(q_y, numer, ROUND_NOT_NEEDED); 2441: div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED); 2441: if (q_x == d && q_y == d1) { 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: 2441: if (q_y < d1) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: if (q_y == d1 && c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: if (d > q_x) { 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: if (d == q_x && c.is_nonstrict_inequality()) { 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: template 2441: Poly_Gen_Relation 2441: Octagonal_Shape::relation_with(const Generator& g) const { 2441: const dimension_type g_space_dim = g.space_dimension(); 2441: 2441: 2441: if (space_dim < g_space_dim) { 2441: throw_dimension_incompatible("relation_with(g)", g); 2441: } 2441: 2441: 2441: 2441: strong_closure_assign(); 2441: 2441: 2441: if (marked_empty()) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: 2441: const bool is_line = g.is_line(); 2441: const bool is_line_or_ray = g.is_line_or_ray(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: typedef typename OR_Matrix::const_row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const row_iterator m_end = matrix.row_end(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_product; Parma_Polyhedra_Library::Coefficient& product = holder_product.item(); 2441: 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) { 2441: dimension_type i = i_iter.index(); 2441: row_reference m_i = *i_iter; 2441: row_reference m_ii = *(i_iter + 1); 2441: const N& m_i_ii = m_i[i + 1]; 2441: const N& m_ii_i = m_ii[i]; 2441: 2441: const Variable x(i/2); 2441: const Coefficient& g_coeff_x 2441: = (x.space_dimension() > g_space_dim) 2441: ? Coefficient_zero() 2441: : g.coefficient(x); 2441: if (is_additive_inverse(m_i_ii, m_ii_i)) { 2441: 2441: 2441: 2441: 2441: numer_denom(m_ii_i, numer, denom); 2441: denom *= 2; 2441: product = denom * g_coeff_x; 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: 2441: else { 2441: if (!is_plus_infinity(m_i_ii)) { 2441: 2441: 2441: 2441: numer_denom(m_i_ii, numer, denom); 2441: denom *= -2; 2441: product = denom * g_coeff_x; 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (is_line && product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: else 2441: 2441: 2441: 2441: 2441: if (product > 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: if (!is_plus_infinity(m_ii_i)) { 2441: 2441: numer_denom(m_ii_i, numer, denom); 2441: denom *= 2; 2441: product = denom * g_coeff_x; 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer , g.divisor()); 2441: } 2441: if (is_line && product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: if (product > 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: for (row_iterator i_iter = m_begin ; i_iter != m_end; i_iter += 2) { 2441: dimension_type i = i_iter.index(); 2441: row_reference m_i = *i_iter; 2441: row_reference m_ii = *(i_iter + 1); 2441: for (dimension_type j = 0; j < i; j += 2) { 2441: const N& m_i_j = m_i[j]; 2441: const N& m_ii_jj = m_ii[j + 1]; 2441: const N& m_ii_j = m_ii[j]; 2441: const N& m_i_jj = m_i[j + 1]; 2441: const Variable x(j/2); 2441: const Variable y(i/2); 2441: const Coefficient& g_coeff_x 2441: = (x.space_dimension() > g_space_dim) 2441: ? Coefficient_zero() 2441: : g.coefficient(x); 2441: const Coefficient& g_coeff_y 2441: = (y.space_dimension() > g_space_dim) 2441: ? Coefficient_zero() 2441: : g.coefficient(y); 2441: 2441: const bool difference_is_equality = is_additive_inverse(m_ii_jj, m_i_j); 2441: if (difference_is_equality) { 2441: 2441: 2441: 2441: 2441: 2441: numer_denom(m_i_j, numer, denom); 2441: product = denom * g_coeff_x; 2441: neg_assign(denom); 2441: add_mul_assign(product, denom, g_coeff_y); 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: else { 2441: if (!is_plus_infinity(m_i_j)) { 2441: 2441: 2441: 2441: 2441: 2441: numer_denom(m_i_j, numer, denom); 2441: product = denom * g_coeff_x; 2441: neg_assign(denom); 2441: add_mul_assign(product, denom, g_coeff_y); 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (is_line && product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: else if (product > 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: if (!is_plus_infinity(m_ii_jj)) { 2441: 2441: 2441: 2441: 2441: 2441: numer_denom(m_ii_jj, numer, denom); 2441: product = denom * g_coeff_y; 2441: neg_assign(denom); 2441: add_mul_assign(product, denom, g_coeff_x); 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (is_line && product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: else if (product > 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: } 2441: 2441: const bool sum_is_equality = is_additive_inverse(m_i_jj, m_ii_j); 2441: if (sum_is_equality) { 2441: 2441: 2441: 2441: 2441: 2441: numer_denom(m_ii_j, numer, denom); 2441: product = denom * g_coeff_x; 2441: add_mul_assign(product, denom, g_coeff_y); 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: else { 2441: if (!is_plus_infinity(m_i_jj)) { 2441: 2441: 2441: 2441: 2441: 2441: numer_denom(m_i_jj, numer, denom); 2441: neg_assign(denom); 2441: product = denom * g_coeff_x; 2441: add_mul_assign(product, denom, g_coeff_y); 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (is_line && product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: else if (product > 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: if (!is_plus_infinity(m_ii_j)) { 2441: 2441: 2441: 2441: 2441: 2441: numer_denom(m_ii_j, numer, denom); 2441: product = denom * g_coeff_x; 2441: add_mul_assign(product, denom, g_coeff_y); 2441: 2441: 2441: if (!is_line_or_ray) { 2441: neg_assign(numer); 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (is_line && product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: else if (product > 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::strong_closure_assign() const { 2441: 2441: if (marked_empty() || marked_strongly_closed() || space_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: Octagonal_Shape& x = const_cast&>(*this); 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: 2441: const dimension_type n_rows = x.matrix.num_rows(); 2441: const row_iterator m_begin = x.matrix.row_begin(); 2441: const row_iterator m_end = x.matrix.row_end(); 2441: 2441: 2441: for (row_iterator i = m_begin; i != m_end; ++i) { 2441: ((void) 0); 2441: assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED); 2441: } 2441: # 2581 "../../src/Octagonal_Shape_templates.hh" 2441: typename OR_Matrix::element_iterator iter_ij; 2441: std::vector vec_k(n_rows); 2441: std::vector vec_ck(n_rows); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum1; N& sum1 = holder_sum1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum2; N& sum2 = holder_sum2.item(); 2441: row_reference x_k; 2441: row_reference x_ck; 2441: row_reference x_i; 2441: row_reference x_ci; 2441: 2441: 2441: 2441: for (int twice = 0; twice < 2; ++twice) { 2441: 2441: row_iterator x_k_iter = m_begin; 2441: row_iterator x_i_iter = m_begin; 2441: for (dimension_type k = 0; k < n_rows; k += 2) { 2441: const dimension_type ck = k + 1; 2441: 2441: iter_ij = x.matrix.element_begin(); 2441: 2441: x_k = *x_k_iter; 2441: ++x_k_iter; 2441: x_ck = *x_k_iter; 2441: ++x_k_iter; 2441: 2441: for (dimension_type i = 0; i <= k; i += 2) { 2441: const dimension_type ci = i + 1; 2441: 2441: vec_k[i] = x_k[i]; 2441: 2441: vec_k[ci] = x_k[ci]; 2441: 2441: vec_ck[i] = x_ck[i]; 2441: 2441: vec_ck[ci] = x_ck[ci]; 2441: } 2441: x_i_iter = x_k_iter; 2441: for (dimension_type i = k + 2; i < n_rows; i += 2) { 2441: const dimension_type ci = i + 1; 2441: x_i = *x_i_iter; 2441: ++x_i_iter; 2441: x_ci = *x_i_iter; 2441: ++x_i_iter; 2441: 2441: vec_k[i] = x_ci[ck]; 2441: 2441: vec_k[ci] = x_i[ck]; 2441: 2441: vec_ck[i] = x_ci[k]; 2441: 2441: vec_ck[ci] = x_i[k]; 2441: } 2441: 2441: for (dimension_type i = 0; i < n_rows; ++i) { 2441: using namespace Implementation::Octagonal_Shapes; 2441: const dimension_type ci = coherent_index(i); 2441: const N& vec_k_ci = vec_k[ci]; 2441: const N& vec_ck_ci = vec_ck[ci]; 2441: 2441: 2441: for (dimension_type j = 0; j <= i; ) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: add_assign_r(sum1, vec_ck_ci, vec_k[j], ROUND_UP); 2441: add_assign_r(sum2, vec_k_ci, vec_ck[j], ROUND_UP); 2441: min_assign(sum1, sum2); 2441: min_assign(*iter_ij, sum1); 2441: 2441: ++j; 2441: ++iter_ij; 2441: 2441: add_assign_r(sum1, vec_ck_ci, vec_k[j], ROUND_UP); 2441: add_assign_r(sum2, vec_k_ci, vec_ck[j], ROUND_UP); 2441: min_assign(sum1, sum2); 2441: min_assign(*iter_ij, sum1); 2441: 2441: ++j; 2441: ++iter_ij; 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: for (row_iterator i = m_begin; i != m_end; ++i) { 2441: N& x_i_i = (*i)[i.index()]; 2441: if (sgn(x_i_i) < 0) { 2441: x.set_empty(); 2441: return; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: 2441: x.strong_coherence_assign(); 2441: 2441: x.set_strongly_closed(); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::strong_coherence_assign() { 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_semi_sum; N& semi_sum = holder_semi_sum.item(); 2441: for (typename OR_Matrix::row_iterator i_iter = matrix.row_begin(), 2441: i_end = matrix.row_end(); i_iter != i_end; ++i_iter) { 2441: typename OR_Matrix::row_reference_type x_i = *i_iter; 2441: const dimension_type i = i_iter.index(); 2441: using namespace Implementation::Octagonal_Shapes; 2441: const N& x_i_ci = x_i[coherent_index(i)]; 2441: 2441: if (!is_plus_infinity(x_i_ci)) { 2441: for (dimension_type j = 0, rs_i = i_iter.row_size(); 2441: j < rs_i; ++j) { 2441: if (i != j) { 2441: const N& x_cj_j = matrix[coherent_index(j)][j]; 2441: if (!is_plus_infinity(x_cj_j)) { 2441: add_assign_r(semi_sum, x_i_ci, x_cj_j, ROUND_UP); 2441: div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP); 2441: min_assign(x_i[j], semi_sum); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::tight_coherence_would_make_empty() const { 2441: ((void) 0); 2441: ((void) 0); 2441: for (dimension_type i = 0; i < 2*space_dim; i += 2) { 2441: const dimension_type ci = i + 1; 2441: const N& mat_i_ci = matrix[i][ci]; 2441: if (!is_plus_infinity(mat_i_ci) 2441: 2441: && !is_even(mat_i_ci) 2441: 2441: && is_additive_inverse(mat_i_ci, matrix[ci][i])) { 2441: return true; 2441: } 2441: } 2441: return false; 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::tight_closure_assign() { 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_2746 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(std::numeric_limits::is_integer)>) } 2441: 2441: ; 2441: 2441: 2441: strong_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: if (tight_coherence_would_make_empty()) { 2441: set_empty(); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_one; N& temp_one = holder_temp_one.item(); 2441: assign_r(temp_one, 1, ROUND_NOT_NEEDED); 2441: for (dimension_type i = 0; i < 2*space_dim; i += 2) { 2441: const dimension_type ci = i + 1; 2441: N& mat_i_ci = matrix[i][ci]; 2441: if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci)) { 2441: sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP); 2441: } 2441: N& mat_ci_i = matrix[ci][i]; 2441: if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i)) { 2441: sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP); 2441: } 2441: } 2441: 2441: strong_coherence_assign(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::incremental_strong_closure_assign(const Variable var) const { 2441: 2441: if (var.id() >= space_dim) { 2441: throw_dimension_incompatible("incremental_strong_closure_assign(v)", 2441: var.id()); 2441: } 2441: 2441: 2441: if (marked_empty() || marked_strongly_closed()) { 2441: return; 2441: } 2441: 2441: Octagonal_Shape& x = const_cast&>(*this); 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: 2441: const row_iterator m_begin = x.matrix.row_begin(); 2441: const row_iterator m_end = x.matrix.row_end(); 2441: 2441: 2441: for (row_iterator i = m_begin; i != m_end; ++i) { 2441: ((void) 0); 2441: assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED); 2441: } 2441: 2441: 2441: 2441: const dimension_type v = 2*var.id(); 2441: const dimension_type cv = v + 1; 2441: row_iterator v_iter = m_begin + v; 2441: row_iterator cv_iter = v_iter + 1; 2441: row_reference x_v = *v_iter; 2441: row_reference x_cv = *cv_iter; 2441: const dimension_type rs_v = v_iter.row_size(); 2441: const dimension_type n_rows = x.matrix.num_rows(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum; N& sum = holder_sum.item(); 2441: using namespace Implementation::Octagonal_Shapes; 2441: for (row_iterator k_iter = m_begin; k_iter != m_end; ++k_iter) { 2441: const dimension_type k = k_iter.index(); 2441: const dimension_type ck = coherent_index(k); 2441: const dimension_type rs_k = k_iter.row_size(); 2441: row_reference x_k = *k_iter; 2441: row_reference x_ck = (k % 2 != 0) ? *(k_iter-1) : *(k_iter + 1); 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; ++i_iter) { 2441: const dimension_type i = i_iter.index(); 2441: const dimension_type ci = coherent_index(i); 2441: const dimension_type rs_i = i_iter.row_size(); 2441: row_reference x_i = *i_iter; 2441: row_reference x_ci = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1); 2441: 2441: const N& x_i_k = (k < rs_i) ? x_i[k] : x_ck[ci]; 2441: if (!is_plus_infinity(x_i_k)) { 2441: const N& x_k_v = (v < rs_k) ? x_k[v] : x_cv[ck]; 2441: if (!is_plus_infinity(x_k_v)) { 2441: add_assign_r(sum, x_i_k, x_k_v, ROUND_UP); 2441: N& x_i_v = (v < rs_i) ? x_i[v] : x_cv[ci]; 2441: min_assign(x_i_v, sum); 2441: } 2441: const N& x_k_cv = (cv < rs_k) ? x_k[cv] : x_v[ck]; 2441: if (!is_plus_infinity(x_k_cv)) { 2441: add_assign_r(sum, x_i_k, x_k_cv, ROUND_UP); 2441: N& x_i_cv = (cv < rs_i) ? x_i[cv] : x_v[ci]; 2441: min_assign(x_i_cv, sum); 2441: } 2441: } 2441: const N& x_k_i = (i < rs_k) ? x_k[i] : x_ci[ck]; 2441: if (!is_plus_infinity(x_k_i)) { 2441: const N& x_v_k = (k < rs_v) ? x_v[k] : x_ck[cv]; 2441: if (!is_plus_infinity(x_v_k)) { 2441: N& x_v_i = (i < rs_v) ? x_v[i] : x_ci[cv]; 2441: add_assign_r(sum, x_v_k, x_k_i, ROUND_UP); 2441: min_assign(x_v_i, sum); 2441: } 2441: const N& x_cv_k = (k < rs_v) ? x_cv[k] : x_ck[v]; 2441: if (!is_plus_infinity(x_cv_k)) { 2441: N& x_cv_i = (i < rs_v) ? x_cv[i] : x_ci[v]; 2441: add_assign_r(sum, x_cv_k, x_k_i, ROUND_UP); 2441: min_assign(x_cv_i, sum); 2441: } 2441: } 2441: 2441: } 2441: } 2441: 2441: 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; ++i_iter) { 2441: const dimension_type i = i_iter.index(); 2441: const dimension_type ci = coherent_index(i); 2441: const dimension_type rs_i = i_iter.row_size(); 2441: row_reference x_i = *i_iter; 2441: const N& x_i_v = (v < rs_i) ? x_i[v] : x_cv[ci]; 2441: 2441: 2441: 2441: for (dimension_type j = 0; j < n_rows; ++j) { 2441: const dimension_type cj = coherent_index(j); 2441: row_reference x_cj = *(m_begin + cj); 2441: N& x_i_j = (j < rs_i) ? x_i[j] : x_cj[ci]; 2441: if (!is_plus_infinity(x_i_v)) { 2441: const N& x_v_j = (j < rs_v) ? x_v[j] : x_cj[cv]; 2441: if (!is_plus_infinity(x_v_j)) { 2441: add_assign_r(sum, x_i_v, x_v_j, ROUND_UP); 2441: min_assign(x_i_j, sum); 2441: } 2441: } 2441: const N& x_i_cv = (cv < rs_i) ? x_i[cv] : x_v[ci]; 2441: if (!is_plus_infinity(x_i_cv)) { 2441: const N& x_cv_j = (j < rs_v) ? x_cv[j] : x_cj[v]; 2441: if (!is_plus_infinity(x_cv_j)) { 2441: add_assign_r(sum, x_i_cv, x_cv_j, ROUND_UP); 2441: min_assign(x_i_j, sum); 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: for (row_iterator i = m_begin; i != m_end; ++i) { 2441: N& x_i_i = (*i)[i.index()]; 2441: if (sgn(x_i_i) < 0) { 2441: x.set_empty(); 2441: return; 2441: } 2441: else { 2441: 2441: ((void) 0); 2441: assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: 2441: x.strong_coherence_assign(); 2441: 2441: x.set_strongly_closed(); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::compute_successors(std::vector& successor) const { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: const dimension_type successor_size = matrix.num_rows(); 2441: 2441: successor.reserve(successor_size); 2441: for (dimension_type i = 0; i < successor_size; ++i) { 2441: successor.push_back(i); 2441: } 2441: 2441: for (dimension_type i = successor_size; i-- > 0; ) { 2441: typename OR_Matrix::const_row_iterator i_iter = matrix.row_begin() + i; 2441: typename OR_Matrix::const_row_reference_type m_i = *i_iter; 2441: typename OR_Matrix::const_row_reference_type m_ci 2441: = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1); 2441: for (dimension_type j = 0; j < i; ++j) { 2441: 2441: 2441: using namespace Implementation::Octagonal_Shapes; 2441: dimension_type cj = coherent_index(j); 2441: if (is_additive_inverse(m_ci[cj], m_i[j])) { 2441: 2441: successor[j] = i; 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::compute_leaders(std::vector& leaders) const { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: const dimension_type leader_size = matrix.num_rows(); 2441: 2441: leaders.reserve(leader_size); 2441: for (dimension_type i = 0; i < leader_size; ++i) { 2441: leaders.push_back(i); 2441: } 2441: 2441: for (typename OR_Matrix::const_row_iterator i_iter = matrix.row_begin(), 2441: matrix_row_end = matrix.row_end(); 2441: i_iter != matrix_row_end; ++i_iter) { 2441: typename OR_Matrix::const_row_reference_type m_i = *i_iter; 2441: dimension_type i = i_iter.index(); 2441: typename OR_Matrix::const_row_reference_type m_ci 2441: = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1); 2441: for (dimension_type j = 0; j < i; ++j) { 2441: using namespace Implementation::Octagonal_Shapes; 2441: dimension_type cj = coherent_index(j); 2441: if (is_additive_inverse(m_ci[cj], m_i[j])) { 2441: 2441: leaders[i] = leaders[j]; 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::compute_leaders(std::vector& successor, 2441: std::vector& no_sing_leaders, 2441: bool& exist_sing_class, 2441: dimension_type& sing_leader) const { 2441: ((void) 0); 2441: ((void) 0); 2441: dimension_type successor_size = successor.size(); 2441: std::deque dealt_with(successor_size, false); 2441: for (dimension_type i = 0; i < successor_size; ++i) { 2441: dimension_type next_i = successor[i]; 2441: if (!dealt_with[i]) { 2441: 2441: 2441: using namespace Implementation::Octagonal_Shapes; 2441: if (next_i == coherent_index(i)) { 2441: exist_sing_class = true; 2441: sing_leader = i; 2441: } 2441: else { 2441: no_sing_leaders.push_back(i); 2441: } 2441: } 2441: 2441: dealt_with[next_i] = true; 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::strong_reduction_assign() const { 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: std::vector non_red; 2441: non_redundant_matrix_entries(non_red); 2441: 2441: 2441: Octagonal_Shape& x = const_cast&>(*this); 2441: 2441: 2441: 2441: typename OR_Matrix::element_iterator x_i = x.matrix.element_begin(); 2441: for (dimension_type i = 0; i < 2 * space_dim; ++i) { 2441: const Bit_Row& non_red_i = non_red[i]; 2441: for (dimension_type j = 0, 2441: j_end = OR_Matrix::row_size(i); j < j_end; ++j, ++x_i) { 2441: if (!non_red_i[j]) { 2441: assign_r(*x_i, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: } 2441: x.reset_strongly_closed(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::non_redundant_matrix_entries(std::vector& non_redundant) const { 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: non_redundant.resize(2*space_dim); 2441: 2441: 2441: 2441: 2441: 2441: std::vector no_sing_leaders; 2441: dimension_type sing_leader = 0; 2441: bool exist_sing_class = false; 2441: std::vector successor; 2441: compute_successors(successor); 2441: compute_leaders(successor, no_sing_leaders, exist_sing_class, sing_leader); 2441: const dimension_type num_no_sing_leaders = no_sing_leaders.size(); 2441: 2441: 2441: 2441: 2441: for (dimension_type li = 0; li < num_no_sing_leaders; ++li) { 2441: const dimension_type i = no_sing_leaders[li]; 2441: using namespace Implementation::Octagonal_Shapes; 2441: const dimension_type ci = coherent_index(i); 2441: typename OR_Matrix::const_row_reference_type 2441: m_i = *(matrix.row_begin() + i); 2441: if (i % 2 == 0) { 2441: 2441: 2441: 2441: 2441: 2441: if (i != successor[i]) { 2441: dimension_type j = i; 2441: dimension_type next_j = successor[j]; 2441: while (j != next_j) { 2441: non_redundant[next_j].set(j); 2441: j = next_j; 2441: next_j = successor[j]; 2441: } 2441: const dimension_type cj = coherent_index(j); 2441: non_redundant[cj].set(ci); 2441: } 2441: } 2441: 2441: dimension_type rs_li = (li % 2 != 0) ? li : (li + 1); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: for (dimension_type lj = 0 ; lj <= rs_li; ++lj) { 2441: const dimension_type j = no_sing_leaders[lj]; 2441: const dimension_type cj = coherent_index(j); 2441: const N& m_i_j = m_i[j]; 2441: const N& m_i_ci = m_i[ci]; 2441: bool to_add = true; 2441: 2441: 2441: 2441: if (j != ci) { 2441: add_assign_r(tmp, m_i_ci, matrix[cj][j], ROUND_UP); 2441: div_2exp_assign_r(tmp, tmp, 1, ROUND_UP); 2441: if (m_i_j >= tmp) { 2441: 2441: continue; 2441: } 2441: } 2441: # 3140 "../../src/Octagonal_Shape_templates.hh" 2441: for (dimension_type lk = 0; lk < num_no_sing_leaders; ++lk) { 2441: const dimension_type k = no_sing_leaders[lk]; 2441: if (k != i && k != j) { 2441: dimension_type ck = coherent_index(k); 2441: if (k < j) { 2441: 2441: add_assign_r(tmp, m_i[k], matrix[cj][ck], ROUND_UP); 2441: } 2441: else if (k < i) { 2441: 2441: add_assign_r(tmp, m_i[k], matrix[k][j], ROUND_UP); 2441: } 2441: else { 2441: 2441: add_assign_r(tmp, matrix[ck][ci], matrix[k][j], ROUND_UP); 2441: } 2441: 2441: if (m_i_j >= tmp) { 2441: to_add = false; 2441: break; 2441: } 2441: } 2441: } 2441: 2441: if (to_add) { 2441: 2441: non_redundant[i].set(j); 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: if (exist_sing_class) { 2441: non_redundant[sing_leader].set(sing_leader + 1); 2441: if (successor[sing_leader + 1] != sing_leader + 1) { 2441: dimension_type j = sing_leader; 2441: dimension_type next_j = successor[j + 1]; 2441: while (next_j != j + 1) { 2441: non_redundant[next_j].set(j); 2441: j = next_j; 2441: next_j = successor[j + 1]; 2441: } 2441: non_redundant[j + 1].set(j); 2441: } 2441: else { 2441: non_redundant[sing_leader + 1].set(sing_leader); 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::upper_bound_assign(const Octagonal_Shape& y) { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("upper_bound_assign(y)", y); 2441: } 2441: 2441: 2441: y.strong_closure_assign(); 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: strong_closure_assign(); 2441: if (marked_empty()) { 2441: *this = y; 2441: return; 2441: } 2441: 2441: 2441: typename OR_Matrix::const_element_iterator j = y.matrix.element_begin(); 2441: for (typename OR_Matrix::element_iterator i = matrix.element_begin(), 2441: matrix_element_end = matrix.element_end(); 2441: i != matrix_element_end; ++i, ++j) { 2441: max_assign(*i, *j); 2441: } 2441: 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::difference_assign(const Octagonal_Shape& y) { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("difference_assign(y)", y); 2441: } 2441: 2441: Octagonal_Shape& x = *this; 2441: 2441: 2441: 2441: x.strong_closure_assign(); 2441: 2441: if (x.marked_empty()) { 2441: return; 2441: } 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: if (x.space_dim == 0) { 2441: x.set_empty(); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (y.contains(x)) { 2441: x.set_empty(); 2441: return; 2441: } 2441: 2441: Octagonal_Shape new_oct(space_dim, EMPTY); 2441: 2441: 2441: 2441: const Constraint_System& y_cs = y.constraints(); 2441: for (Constraint_System::const_iterator i = y_cs.begin(), 2441: y_cs_end = y_cs.end(); i != y_cs_end; ++i) { 2441: const Constraint& c = *i; 2441: 2441: 2441: 2441: 2441: if (x.relation_with(c).implies(Poly_Con_Relation::is_included())) { 2441: continue; 2441: } 2441: Octagonal_Shape z = x; 2441: const Linear_Expression e(c.expression()); 2441: z.add_constraint(e <= 0); 2441: if (!z.is_empty()) { 2441: new_oct.upper_bound_assign(z); 2441: } 2441: if (c.is_equality()) { 2441: z = x; 2441: z.add_constraint(e >= 0); 2441: if (!z.is_empty()) { 2441: new_oct.upper_bound_assign(z); 2441: } 2441: } 2441: } 2441: *this = new_oct; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::simplify_using_context_assign(const Octagonal_Shape& y) { 2441: Octagonal_Shape& x = *this; 2441: const dimension_type dim = x.space_dimension(); 2441: 2441: if (dim != y.space_dimension()) { 2441: throw_dimension_incompatible("simplify_using_context_assign(y)", y); 2441: } 2441: 2441: 2441: if (dim == 0) { 2441: if (y.marked_empty()) { 2441: x.set_zero_dim_univ(); 2441: return false; 2441: } 2441: else { 2441: return !x.marked_empty(); 2441: } 2441: } 2441: 2441: 2441: 2441: if (x.contains(y)) { 2441: Octagonal_Shape res(dim, UNIVERSE); 2441: x.m_swap(res); 2441: return false; 2441: } 2441: 2441: 2441: x.strong_closure_assign(); 2441: if (x.marked_empty()) { 2441: 2441: dimension_type i; 2441: dimension_type j; 2441: 2441: for (i = 0; i < 2*dim; i += 2) { 2441: 2441: 2441: 2441: 2441: if (!is_plus_infinity(y.matrix_at(i, i + 1))) { 2441: j = i + 1; 2441: goto found; 2441: } 2441: 2441: if (!is_plus_infinity(y.matrix_at(i + 1, i))) { 2441: j = i; 2441: ++i; 2441: goto found; 2441: } 2441: } 2441: 2441: 2441: for (i = 2; i < 2*dim; ++i) { 2441: for (j = 0; j < i; ++j) { 2441: 2441: if (!is_plus_infinity(y.matrix_at(i, j))) { 2441: goto found; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: return false; 2441: 2441: found: 2441: 2441: ((void) 0); 2441: Octagonal_Shape res(dim, UNIVERSE); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: assign_r(tmp, 1, ROUND_UP); 2441: add_assign_r(tmp, tmp, y.matrix_at(i, j), ROUND_UP); 2441: 2441: neg_assign_r(res.matrix_at(j, i), tmp, ROUND_DOWN); 2441: ((void) 0); 2441: x.m_swap(res); 2441: return false; 2441: } 2441: 2441: 2441: 2441: 2441: Octagonal_Shape target = x; 2441: target.intersection_assign(y); 2441: const bool bool_result = !target.is_empty(); 2441: 2441: 2441: 2441: std::vector x_non_redundant; 2441: x.non_redundant_matrix_entries(x_non_redundant); 2441: 2441: dimension_type x_num_non_redundant = 0; 2441: for (size_t i = x_non_redundant.size(); i-- > 0 ; ) { 2441: x_num_non_redundant += x_non_redundant[i].count_ones(); 2441: } 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: Octagonal_Shape yy = y; 2441: 2441: 2441: Octagonal_Shape res(dim, UNIVERSE); 2441: 2441: dimension_type res_num_non_redundant = 0; 2441: 2441: 2441: std::vector x_leaders; 2441: x.compute_leaders(x_leaders); 2441: 2441: 2441: 2441: dimension_type sing_leader; 2441: for (sing_leader = 0; sing_leader < 2*dim; sing_leader += 2) { 2441: if (sing_leader == x_leaders[sing_leader]) { 2441: const N& x_s_ss = x.matrix_at(sing_leader, sing_leader + 1); 2441: const N& x_ss_s = x.matrix_at(sing_leader + 1, sing_leader); 2441: if (is_additive_inverse(x_s_ss, x_ss_s)) { 2441: 2441: break; 2441: } 2441: } 2441: } 2441: 2441: 2441: for (dimension_type i = sing_leader; i < 2*dim; i += 2) { 2441: if (x_leaders[i] != sing_leader) { 2441: continue; 2441: } 2441: 2441: 2441: const N& x_i_ii = x.matrix_at(i, i + 1); 2441: N& yy_i_ii = yy.matrix_at(i, i + 1); 2441: if (x_i_ii < yy_i_ii) { 2441: 2441: res.matrix_at(i, i + 1) = x_i_ii; 2441: ++res_num_non_redundant; 2441: 2441: yy_i_ii = x_i_ii; 2441: yy.reset_strongly_closed(); 2441: } 2441: const N& x_ii_i = x.matrix_at(i + 1, i); 2441: N& yy_ii_i = yy.matrix_at(i + 1, i); 2441: if (x_ii_i < yy_ii_i) { 2441: 2441: res.matrix_at(i + 1, i) = x_ii_i; 2441: ++res_num_non_redundant; 2441: 2441: yy_ii_i = x_ii_i; 2441: yy.reset_strongly_closed(); 2441: } 2441: 2441: if (!yy.marked_strongly_closed()) { 2441: Variable var_i(i/2); 2441: yy.incremental_strong_closure_assign(var_i); 2441: if (target.contains(yy)) { 2441: 2441: if (res_num_non_redundant < x_num_non_redundant) { 2441: res.reset_strongly_closed(); 2441: x.m_swap(res); 2441: } 2441: return bool_result; 2441: } 2441: } 2441: } 2441: 2441: 2441: for (dimension_type i = 0; i < 2*dim; ++i) { 2441: const dimension_type j = x_leaders[i]; 2441: if (j == i || j == sing_leader) { 2441: continue; 2441: } 2441: const N& x_i_j = x.matrix_at(i, j); 2441: ((void) 0); 2441: N& yy_i_j = yy.matrix_at(i, j); 2441: if (x_i_j < yy_i_j) { 2441: res.matrix_at(i, j) = x_i_j; 2441: ++res_num_non_redundant; 2441: 2441: yy_i_j = x_i_j; 2441: yy.reset_strongly_closed(); 2441: } 2441: const N& x_j_i = x.matrix_at(j, i); 2441: N& yy_j_i = yy.matrix_at(j, i); 2441: ((void) 0); 2441: if (x_j_i < yy_j_i) { 2441: res.matrix_at(j, i) = x_j_i; 2441: ++res_num_non_redundant; 2441: 2441: yy_j_i = x_j_i; 2441: yy.reset_strongly_closed(); 2441: } 2441: 2441: if (!yy.marked_strongly_closed()) { 2441: Variable var_j(j/2); 2441: yy.incremental_strong_closure_assign(var_j); 2441: if (target.contains(yy)) { 2441: 2441: if (res_num_non_redundant < x_num_non_redundant) { 2441: res.reset_strongly_closed(); 2441: x.m_swap(res); 2441: } 2441: return bool_result; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < 2*dim; ++i) { 2441: if (i != x_leaders[i]) { 2441: continue; 2441: } 2441: const Bit_Row& x_non_redundant_i = x_non_redundant[i]; 2441: for (dimension_type j = 0; j < 2*dim; ++j) { 2441: if (j != x_leaders[j]) { 2441: continue; 2441: } 2441: if (i >= j) { 2441: if (!x_non_redundant_i[j]) { 2441: continue; 2441: } 2441: } 2441: else if (!x_non_redundant[j][i]) { 2441: continue; 2441: } 2441: N& yy_i_j = yy.matrix_at(i, j); 2441: const N& x_i_j = x.matrix_at(i, j); 2441: if (x_i_j < yy_i_j) { 2441: res.matrix_at(i, j) = x_i_j; 2441: ++res_num_non_redundant; 2441: 2441: yy_i_j = x_i_j; 2441: yy.reset_strongly_closed(); 2441: Variable var(i/2); 2441: yy.incremental_strong_closure_assign(var); 2441: if (target.contains(yy)) { 2441: 2441: if (res_num_non_redundant < x_num_non_redundant) { 2441: res.reset_strongly_closed(); 2441: x.m_swap(res); 2441: } 2441: return bool_result; 2441: } 2441: } 2441: } 2441: } 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::add_space_dimensions_and_embed(dimension_type m) { 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: 2441: const dimension_type new_dim = space_dim + m; 2441: const bool was_zero_dim_univ = !marked_empty() && space_dim == 0; 2441: 2441: 2441: 2441: matrix.grow(new_dim); 2441: space_dim = new_dim; 2441: 2441: 2441: if (was_zero_dim_univ) { 2441: set_strongly_closed(); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::add_space_dimensions_and_project(dimension_type m) { 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: 2441: const dimension_type n = matrix.num_rows(); 2441: 2441: 2441: 2441: add_space_dimensions_and_embed(m); 2441: 2441: 2441: for (typename OR_Matrix::row_iterator i = matrix.row_begin() + n, 2441: matrix_row_end = matrix.row_end(); i != matrix_row_end; i += 2) { 2441: typename OR_Matrix::row_reference_type x_i = *i; 2441: typename OR_Matrix::row_reference_type x_ci = *(i + 1); 2441: const dimension_type ind = i.index(); 2441: assign_r(x_i[ind + 1], 0, ROUND_NOT_NEEDED); 2441: assign_r(x_ci[ind], 0, ROUND_NOT_NEEDED); 2441: } 2441: 2441: if (marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::remove_space_dimensions(const Variables_Set& vars) { 2441: 2441: 2441: 2441: if (vars.empty()) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (space_dim < min_space_dim) { 2441: throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim); 2441: } 2441: 2441: const dimension_type new_space_dim = space_dim - vars.size(); 2441: 2441: strong_closure_assign(); 2441: 2441: 2441: if (new_space_dim == 0) { 2441: matrix.shrink(0); 2441: if (!marked_empty()) { 2441: 2441: set_zero_dim_univ(); 2441: } 2441: space_dim = 0; 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: typedef typename OR_Matrix::element_iterator Elem_Iter; 2441: typedef typename std::iterator_traits::difference_type diff_t; 2441: 2441: dimension_type first = *vars.begin(); 2441: const dimension_type first_size = 2 * first * (first + 1); 2441: Elem_Iter iter = matrix.element_begin() + static_cast(first_size); 2441: 2441: for (dimension_type i = first + 1; i < space_dim; ++i) { 2441: if (vars.count(i) == 0) { 2441: typename OR_Matrix::row_iterator row_iter = matrix.row_begin() + 2*i; 2441: typename OR_Matrix::row_reference_type row_ref = *row_iter; 2441: typename OR_Matrix::row_reference_type row_ref1 = *(++row_iter); 2441: 2441: 2441: 2441: 2441: for (dimension_type j = 0; j <= i; ++j) { 2441: if (vars.count(j) == 0) { 2441: assign_or_swap(*(iter++), row_ref[2*j]); 2441: assign_or_swap(*(iter++), row_ref[2*j + 1]); 2441: } 2441: } 2441: for (dimension_type j = 0; j <= i; ++j) { 2441: if (vars.count(j) == 0) { 2441: assign_or_swap(*(iter++), row_ref1[2*j]); 2441: assign_or_swap(*(iter++), row_ref1[2*j + 1]); 2441: } 2441: } 2441: } 2441: } 2441: 2441: matrix.shrink(new_space_dim); 2441: space_dim = new_space_dim; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Octagonal_Shape::map_space_dimensions(const Partial_Function& pfunc) { 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: if (pfunc.has_empty_codomain()) { 2441: 2441: remove_higher_space_dimensions(0); 2441: return; 2441: } 2441: 2441: const dimension_type new_space_dim = pfunc.max_in_codomain() + 1; 2441: 2441: 2441: if (new_space_dim < space_dim) { 2441: strong_closure_assign(); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: remove_higher_space_dimensions(new_space_dim); 2441: return; 2441: } 2441: 2441: 2441: OR_Matrix x(new_space_dim); 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: 2441: row_iterator m_begin = x.row_begin(); 2441: 2441: for (row_iterator i_iter = matrix.row_begin(), i_end = matrix.row_end(); 2441: i_iter != i_end; i_iter += 2) { 2441: dimension_type new_i; 2441: dimension_type i = i_iter.index()/2; 2441: 2441: 2441: 2441: if (pfunc.maps(i, new_i)) { 2441: row_reference r_i = *i_iter; 2441: row_reference r_ii = *(i_iter + 1); 2441: dimension_type double_new_i = 2*new_i; 2441: row_iterator x_iter = m_begin + double_new_i; 2441: row_reference x_i = *x_iter; 2441: row_reference x_ii = *(x_iter + 1); 2441: for (dimension_type j = 0; j <= i; ++j) { 2441: dimension_type new_j; 2441: 2441: if (pfunc.maps(j, new_j)) { 2441: dimension_type dj = 2*j; 2441: dimension_type double_new_j = 2*new_j; 2441: 2441: 2441: 2441: 2441: if (new_i >= new_j) { 2441: assign_or_swap(x_i[double_new_j], r_i[dj]); 2441: assign_or_swap(x_ii[double_new_j], r_ii[dj]); 2441: assign_or_swap(x_ii[double_new_j + 1], r_ii[dj + 1]); 2441: assign_or_swap(x_i[double_new_j + 1], r_i[dj + 1]); 2441: } 2441: else { 2441: row_iterator x_j_iter = m_begin + double_new_j; 2441: row_reference x_j = *x_j_iter; 2441: row_reference x_jj = *(x_j_iter + 1); 2441: assign_or_swap(x_jj[double_new_i + 1], r_i[dj]); 2441: assign_or_swap(x_jj[double_new_i], r_ii[dj]); 2441: assign_or_swap(x_j[double_new_i + 1], r_i[dj + 1]); 2441: assign_or_swap(x_j[double_new_i], r_ii[dj + 1]); 2441: } 2441: 2441: } 2441: } 2441: } 2441: } 2441: 2441: using std::swap; 2441: swap(matrix, x); 2441: space_dim = new_space_dim; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::intersection_assign(const Octagonal_Shape& y) { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("intersection_assign(y)", y); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: if (y.marked_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: bool changed = false; 2441: 2441: typename OR_Matrix::const_element_iterator j = y.matrix.element_begin(); 2441: for (typename OR_Matrix::element_iterator i = matrix.element_begin(), 2441: matrix_element_end = matrix.element_end(); 2441: i != matrix_element_end; 2441: ++i, ++j) { 2441: N& elem = *i; 2441: const N& y_elem = *j; 2441: if (y_elem < elem) { 2441: elem = y_elem; 2441: changed = true; 2441: } 2441: } 2441: 2441: 2441: if (changed && marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Octagonal_Shape::CC76_extrapolation_assign(const Octagonal_Shape& y, 2441: Iterator first, Iterator last, 2441: unsigned* tp) { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("CC76_extrapolation_assign(y)", y); 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: y.strong_closure_assign(); 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: if (tp != 0 && *tp > 0) { 2441: Octagonal_Shape x_tmp(*this); 2441: x_tmp.CC76_extrapolation_assign(y, first, last, 0); 2441: 2441: if (!contains(x_tmp)) { 2441: --(*tp); 2441: } 2441: return; 2441: } 2441: # 3858 "../../src/Octagonal_Shape_templates.hh" 2441: typename OR_Matrix::const_element_iterator j = y.matrix.element_begin(); 2441: for (typename OR_Matrix::element_iterator i = matrix.element_begin(), 2441: matrix_element_end = matrix.element_end(); 2441: i != matrix_element_end; 2441: ++i, ++j) { 2441: const N& y_elem = *j; 2441: N& elem = *i; 2441: if (y_elem < elem) { 2441: Iterator k = std::lower_bound(first, last, elem); 2441: if (k != last) { 2441: if (elem < *k) { 2441: assign_r(elem, *k, ROUND_UP); 2441: } 2441: } 2441: else { 2441: assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: } 2441: 2441: reset_strongly_closed(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::get_limiting_octagon(const Constraint_System& cs, 2441: Octagonal_Shape& limiting_octagon) const { 2441: const dimension_type cs_space_dim = cs.space_dimension(); 2441: 2441: ((void) 0); 2441: 2441: strong_closure_assign(); 2441: bool is_oct_changed = false; 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_term; Parma_Polyhedra_Library::Coefficient& term = holder_term.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: 2441: for (Constraint_System::const_iterator cs_i = cs.begin(), 2441: cs_end = cs.end(); cs_i != cs_end; ++cs_i) { 2441: const Constraint& c = *cs_i; 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: 2441: if (!Octagonal_Shape_Helper 2441: ::extract_octagonal_difference(c, cs_space_dim, num_vars, i, j, 2441: coeff, term)) { 2441: continue; 2441: } 2441: 2441: typedef typename OR_Matrix::const_row_iterator Row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type Row_reference; 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: Row_iterator m_begin = matrix.row_begin(); 2441: 2441: Row_iterator i_iter = m_begin + i; 2441: Row_reference m_i = *i_iter; 2441: OR_Matrix& lo_mat = limiting_octagon.matrix; 2441: row_iterator lo_iter = lo_mat.row_begin() + i; 2441: row_reference lo_m_i = *lo_iter; 2441: N& lo_m_i_j = lo_m_i[j]; 2441: if (coeff < 0) { 2441: neg_assign(coeff); 2441: } 2441: 2441: div_round_up(d, term, coeff); 2441: if (m_i[j] <= d) { 2441: if (c.is_inequality()) { 2441: if (lo_m_i_j > d) { 2441: lo_m_i_j = d; 2441: is_oct_changed = true; 2441: } 2441: else { 2441: 2441: if (i % 2 == 0) { 2441: ++i_iter; 2441: ++lo_iter; 2441: } 2441: else { 2441: --i_iter; 2441: --lo_iter; 2441: } 2441: Row_reference m_ci = *i_iter; 2441: row_reference lo_m_ci = *lo_iter; 2441: 2441: using namespace Implementation::Octagonal_Shapes; 2441: dimension_type cj = coherent_index(j); 2441: N& lo_m_ci_cj = lo_m_ci[cj]; 2441: neg_assign(term); 2441: div_round_up(d, term, coeff); 2441: if (m_ci[cj] <= d && lo_m_ci_cj > d) { 2441: lo_m_ci_cj = d; 2441: is_oct_changed = true; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: if (is_oct_changed && limiting_octagon.marked_strongly_closed()) { 2441: limiting_octagon.reset_strongly_closed(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::limited_CC76_extrapolation_assign(const Octagonal_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp) { 2441: 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)", 2441: y); 2441: } 2441: 2441: const dimension_type cs_space_dim = cs.space_dimension(); 2441: if (space_dim < cs_space_dim) { 2441: throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)"); 2441: } 2441: 2441: 2441: if (cs.has_strict_inequalities()) { 2441: throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)"); 2441: } 2441: 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: Octagonal_Shape limiting_octagon(space_dim, UNIVERSE); 2441: get_limiting_octagon(cs, limiting_octagon); 2441: CC76_extrapolation_assign(y, tp); 2441: intersection_assign(limiting_octagon); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::BHMZ05_widening_assign(const Octagonal_Shape& y, 2441: unsigned* tp) { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("BHMZ05_widening_assign(y)", y); 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: const dimension_type y_affine_dim = y.affine_dimension(); 2441: 2441: 2441: 2441: if (y_affine_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: 2441: const dimension_type x_affine_dim = affine_dimension(); 2441: ((void) 0); 2441: if (x_affine_dim != y_affine_dim) { 2441: return; 2441: } 2441: 2441: if (tp != 0 && *tp > 0) { 2441: Octagonal_Shape x_tmp(*this); 2441: x_tmp.BHMZ05_widening_assign(y, 0); 2441: 2441: if (!contains(x_tmp)) { 2441: --(*tp); 2441: } 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: y.strong_reduction_assign(); 2441: 2441: 2441: typename OR_Matrix::const_element_iterator j = y.matrix.element_begin(); 2441: for (typename OR_Matrix::element_iterator i = matrix.element_begin(), 2441: matrix_element_end = matrix.element_end(); 2441: i != matrix_element_end; 2441: ++i, ++j) { 2441: N& elem = *i; 2441: 2441: 2441: 2441: if (*j != elem) { 2441: assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: reset_strongly_closed(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::limited_BHMZ05_extrapolation_assign(const Octagonal_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp) { 2441: 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("limited_BHMZ05_extrapolation_assign(y, cs)", 2441: y); 2441: } 2441: 2441: 2441: const dimension_type cs_space_dim = cs.space_dimension(); 2441: if (space_dim < cs_space_dim) { 2441: throw_constraint_incompatible("limited_CH78_extrapolation_assign(y, cs)"); 2441: } 2441: 2441: 2441: if (cs.has_strict_inequalities()) { 2441: throw_constraint_incompatible("limited_CH78_extrapolation_assign(y, cs)"); 2441: } 2441: 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: Octagonal_Shape limiting_octagon(space_dim, UNIVERSE); 2441: get_limiting_octagon(cs, limiting_octagon); 2441: BHMZ05_widening_assign(y, tp); 2441: intersection_assign(limiting_octagon); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::CC76_narrowing_assign(const Octagonal_Shape& y) { 2441: 2441: if (space_dim != y.space_dim) { 2441: throw_dimension_incompatible("CC76_narrowing_assign(y)", y); 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: y.strong_closure_assign(); 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: bool is_oct_changed = false; 2441: typename OR_Matrix::const_element_iterator j = y.matrix.element_begin(); 2441: for (typename OR_Matrix::element_iterator i = matrix.element_begin(), 2441: matrix_element_end = matrix.element_end(); 2441: i != matrix_element_end; 2441: ++i, ++j) { 2441: if (!is_plus_infinity(*i) 2441: && !is_plus_infinity(*j) 2441: && *i != *j) { 2441: *i = *j; 2441: is_oct_changed = true; 2441: } 2441: } 2441: 2441: if (is_oct_changed && marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::deduce_v_pm_u_bounds(const dimension_type v_id, 2441: const dimension_type last_id, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& ub_v) { 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_mpq_sc_denom; mpq_class& mpq_sc_denom = holder_mpq_sc_denom.item(); 2441: assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED); 2441: 2441: 2441: const dimension_type n_v = 2*v_id; 2441: typename OR_Matrix::row_reference_type m_cv = matrix[n_v + 1]; 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_half; N& half = holder_half.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_lb_u; mpq_class& minus_lb_u = holder_minus_lb_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_q; mpq_class& minus_q = holder_minus_q.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ub_u; mpq_class& ub_u = holder_ub_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lb_u; mpq_class& lb_u = holder_lb_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_up_approx; N& up_approx = holder_up_approx.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_expr_u; Parma_Polyhedra_Library::Coefficient& minus_expr_u = holder_minus_expr_u.item(); 2441: 2441: for (Linear_Expression::const_iterator u = sc_expr.begin(), 2441: u_end = sc_expr.lower_bound(Variable(last_id + 1)); u != u_end; ++u) { 2441: const dimension_type u_id = u.variable().id(); 2441: 2441: if (u_id == v_id) { 2441: continue; 2441: } 2441: const Coefficient& expr_u = *u; 2441: 2441: const dimension_type n_u = u_id*2; 2441: 2441: if (expr_u > 0) { 2441: if (expr_u >= sc_denom) { 2441: 2441: 2441: 2441: 2441: div_2exp_assign_r(half, matrix[n_u + 1][n_u], 1, ROUND_UP); 2441: N& m_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v] : m_cv[n_u + 1]; 2441: sub_assign_r(m_v_minus_u, ub_v, half, ROUND_UP); 2441: } 2441: else { 2441: 2441: typename OR_Matrix::row_reference_type m_u = matrix[n_u]; 2441: const N& m_u_cu = m_u[n_u + 1]; 2441: if (!is_plus_infinity(m_u_cu)) { 2441: 2441: 2441: 2441: 2441: assign_r(minus_lb_u, m_u_cu, ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED); 2441: assign_r(q, expr_u, ROUND_NOT_NEEDED); 2441: div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED); 2441: assign_r(ub_u, matrix[n_u + 1][n_u], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED); 2441: 2441: add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED); 2441: 2441: sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED); 2441: assign_r(up_approx, minus_lb_u, ROUND_UP); 2441: 2441: N& m_v_minus_u = (n_v < n_u) ? m_u[n_v] : m_cv[n_u + 1]; 2441: add_assign_r(m_v_minus_u, ub_v, up_approx, ROUND_UP); 2441: } 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: neg_assign(minus_expr_u, expr_u); 2441: if (minus_expr_u >= sc_denom) { 2441: 2441: 2441: 2441: 2441: div_2exp_assign_r(half, matrix[n_u][n_u + 1], 1, ROUND_UP); 2441: N& m_v_plus_u = (n_v < n_u) ? matrix[n_u + 1][n_v] : m_cv[n_u]; 2441: sub_assign_r(m_v_plus_u, ub_v, half, ROUND_UP); 2441: } 2441: else { 2441: 2441: typename OR_Matrix::row_reference_type m_cu = matrix[n_u + 1]; 2441: const N& m_cu_u = m_cu[n_u]; 2441: if (!is_plus_infinity(m_cu_u)) { 2441: 2441: 2441: 2441: 2441: assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED); 2441: assign_r(minus_q, minus_expr_u, ROUND_NOT_NEEDED); 2441: div_assign_r(minus_q, minus_q, mpq_sc_denom, ROUND_NOT_NEEDED); 2441: assign_r(lb_u, matrix[n_u][n_u + 1], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED); 2441: neg_assign_r(lb_u, lb_u, ROUND_NOT_NEEDED); 2441: 2441: sub_assign_r(lb_u, lb_u, ub_u, ROUND_NOT_NEEDED); 2441: 2441: add_mul_assign_r(ub_u, minus_q, lb_u, ROUND_NOT_NEEDED); 2441: assign_r(up_approx, ub_u, ROUND_UP); 2441: 2441: N& m_v_plus_u = (n_v < n_u) ? m_cu[n_v] : m_cv[n_u]; 2441: add_assign_r(m_v_plus_u, ub_v, up_approx, ROUND_UP); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::deduce_minus_v_pm_u_bounds(const dimension_type v_id, 2441: const dimension_type last_id, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& minus_lb_v) { 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_mpq_sc_denom; mpq_class& mpq_sc_denom = holder_mpq_sc_denom.item(); 2441: assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED); 2441: 2441: 2441: const dimension_type n_v = 2*v_id; 2441: typename OR_Matrix::row_reference_type m_v = matrix[n_v]; 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_half; N& half = holder_half.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ub_u; mpq_class& ub_u = holder_ub_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_lb_u; mpq_class& minus_lb_u = holder_minus_lb_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_up_approx; N& up_approx = holder_up_approx.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_expr_u; Parma_Polyhedra_Library::Coefficient& minus_expr_u = holder_minus_expr_u.item(); 2441: 2441: for (Linear_Expression::const_iterator u = sc_expr.begin(), 2441: u_end = sc_expr.lower_bound(Variable(last_id + 1)); u != u_end; ++u) { 2441: const dimension_type u_id = u.variable().id(); 2441: 2441: if (u_id == v_id) { 2441: continue; 2441: } 2441: const Coefficient& expr_u = *u; 2441: 2441: const dimension_type n_u = u_id*2; 2441: 2441: if (expr_u > 0) { 2441: if (expr_u >= sc_denom) { 2441: 2441: 2441: 2441: 2441: 2441: div_2exp_assign_r(half, matrix[n_u][n_u + 1], 1, ROUND_UP); 2441: N& m_u_minus_v = (n_v < n_u) ? matrix[n_u + 1][n_v + 1] : m_v[n_u]; 2441: sub_assign_r(m_u_minus_v, minus_lb_v, half, ROUND_UP); 2441: } 2441: else { 2441: 2441: typename OR_Matrix::row_reference_type m_cu = matrix[n_u + 1]; 2441: const N& m_cu_u = m_cu[n_u]; 2441: if (!is_plus_infinity(m_cu_u)) { 2441: 2441: 2441: 2441: 2441: assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED); 2441: assign_r(q, expr_u, ROUND_NOT_NEEDED); 2441: div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED); 2441: assign_r(minus_lb_u, matrix[n_u][n_u + 1], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED); 2441: 2441: add_assign_r(minus_lb_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED); 2441: 2441: sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED); 2441: assign_r(up_approx, ub_u, ROUND_UP); 2441: 2441: N& m_u_minus_v = (n_v < n_u) ? m_cu[n_v + 1] : m_v[n_u]; 2441: add_assign_r(m_u_minus_v, minus_lb_v, up_approx, ROUND_UP); 2441: } 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: neg_assign(minus_expr_u, expr_u); 2441: if (minus_expr_u >= sc_denom) { 2441: 2441: 2441: 2441: 2441: div_2exp_assign_r(half, matrix[n_u + 1][n_u], 1, ROUND_UP); 2441: N& m_minus_v_minus_u = (n_v < n_u) 2441: ? matrix[n_u][n_v + 1] 2441: : m_v[n_u + 1]; 2441: sub_assign_r(m_minus_v_minus_u, minus_lb_v, half, ROUND_UP); 2441: } 2441: else { 2441: 2441: typename OR_Matrix::row_reference_type m_u = matrix[n_u]; 2441: const N& m_u_cu = m_u[n_u + 1]; 2441: if (!is_plus_infinity(m_u_cu)) { 2441: 2441: 2441: 2441: 2441: assign_r(ub_u, matrix[n_u + 1][n_u], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED); 2441: assign_r(q, expr_u, ROUND_NOT_NEEDED); 2441: div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED); 2441: assign_r(minus_lb_u, m_u[n_u + 1], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED); 2441: 2441: add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED); 2441: 2441: add_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED); 2441: assign_r(up_approx, minus_lb_u, ROUND_UP); 2441: 2441: N& m_minus_v_minus_u = (n_v < n_u) ? m_u[n_v + 1] : m_v[n_u + 1]; 2441: add_assign_r(m_minus_v_minus_u, minus_lb_v, up_approx, ROUND_UP); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::forget_all_octagonal_constraints(const dimension_type v_id) { 2441: ((void) 0); 2441: const dimension_type n_v = 2*v_id; 2441: typename OR_Matrix::row_iterator m_iter = matrix.row_begin() + n_v; 2441: typename OR_Matrix::row_reference_type r_v = *m_iter; 2441: typename OR_Matrix::row_reference_type r_cv = *(++m_iter); 2441: for (dimension_type h = m_iter.row_size(); h-- > 0; ) { 2441: assign_r(r_v[h], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(r_cv[h], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: ++m_iter; 2441: for (typename OR_Matrix::row_iterator m_end = matrix.row_end(); 2441: m_iter != m_end; ++m_iter) { 2441: typename OR_Matrix::row_reference_type r = *m_iter; 2441: assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(r[n_v + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::forget_binary_octagonal_constraints(const dimension_type v_id) { 2441: ((void) 0); 2441: const dimension_type n_v = 2*v_id; 2441: typename OR_Matrix::row_iterator m_iter = matrix.row_begin() + n_v; 2441: typename OR_Matrix::row_reference_type r_v = *m_iter; 2441: typename OR_Matrix::row_reference_type r_cv = *(++m_iter); 2441: for (dimension_type k = n_v; k-- > 0; ) { 2441: assign_r(r_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(r_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: ++m_iter; 2441: for (typename OR_Matrix::row_iterator m_end = matrix.row_end(); 2441: m_iter != m_end; ++m_iter) { 2441: typename OR_Matrix::row_reference_type r = *m_iter; 2441: assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(r[n_v + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::unconstrain(const Variable var) { 2441: 2441: const dimension_type var_id = var.id(); 2441: if (space_dimension() < var_id + 1) { 2441: throw_dimension_incompatible("unconstrain(var)", var_id + 1); 2441: } 2441: 2441: 2441: strong_closure_assign(); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::unconstrain(const Variables_Set& vars) { 2441: 2441: 2441: if (vars.empty()) { 2441: return; 2441: } 2441: 2441: 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (space_dimension() < min_space_dim) { 2441: throw_dimension_incompatible("unconstrain(vs)", min_space_dim); 2441: } 2441: 2441: 2441: strong_closure_assign(); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: for (Variables_Set::const_iterator vsi = vars.begin(), 2441: vsi_end = vars.end(); vsi != vsi_end; ++vsi) { 2441: forget_all_octagonal_constraints(*vsi); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::refine(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator) { 2441: ((void) 0); 2441: ((void) 0); 2441: const dimension_type var_id = var.id(); 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: 2441: dimension_type w_id = expr.last_nonzero(); 2441: 2441: if (w_id != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, w_id)) { 2441: ++t; 2441: } 2441: --w_id; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: typedef typename OR_Matrix::const_row_iterator Row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type Row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const dimension_type n_var = 2*var_id; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign(minus_denom, denominator); 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (t == 1 && expr.coefficient(Variable(w_id)) != denominator 2441: && expr.coefficient(Variable(w_id)) != minus_denom) { 2441: t = 2; 2441: } 2441: if (t == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_two_b; Parma_Polyhedra_Library::Coefficient& two_b = holder_two_b.item(); 2441: two_b = 2*b; 2441: switch (relsym) { 2441: case EQUAL: 2441: 2441: add_octagonal_constraint(n_var + 1, n_var, two_b, denominator); 2441: add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom); 2441: break; 2441: case LESS_OR_EQUAL: 2441: 2441: add_octagonal_constraint(n_var + 1, n_var, two_b, denominator); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: 2441: 2441: add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: else if (t == 1) { 2441: 2441: const Coefficient& w_coeff = expr.coefficient(Variable(w_id)); 2441: const dimension_type n_w = 2*w_id; 2441: switch (relsym) { 2441: case EQUAL: 2441: if (w_coeff == denominator) { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var, b, denominator); 2441: add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator); 2441: add_octagonal_constraint(n_var, n_w, b, minus_denom); 2441: } 2441: } 2441: else { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var, b, denominator); 2441: add_octagonal_constraint(n_w, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w, b, denominator); 2441: add_octagonal_constraint(n_var, n_w + 1, b, minus_denom); 2441: } 2441: } 2441: break; 2441: case LESS_OR_EQUAL: 2441: { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, denominator); 2441: 2441: 2441: if (w_coeff == denominator) { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var, d); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w + 1, d); 2441: } 2441: } 2441: else if (w_coeff == minus_denom) { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var, d); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w, d); 2441: } 2441: } 2441: break; 2441: } 2441: 2441: case GREATER_OR_EQUAL: 2441: { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, minus_denom); 2441: 2441: 2441: if (w_coeff == denominator) { 2441: 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var + 1, d); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var, n_w, d); 2441: } 2441: } 2441: else if (w_coeff == minus_denom) { 2441: 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var + 1, d); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var, n_w + 1, d); 2441: } 2441: } 2441: break; 2441: } 2441: 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: else { 2441: 2441: 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = is_sc ? b : minus_b; 2441: const Coefficient& minus_sc_b = is_sc ? minus_b : b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum; N& sum = holder_sum.item(); 2441: 2441: dimension_type pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type pinf_count = 0; 2441: 2441: switch (relsym) { 2441: case EQUAL: 2441: { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_neg_sum; N& neg_sum = holder_neg_sum.item(); 2441: 2441: dimension_type neg_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type neg_pinf_count = 0; 2441: 2441: 2441: assign_r(sum, sc_b, ROUND_UP); 2441: assign_r(neg_sum, minus_sc_b, ROUND_UP); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_half; N& half = holder_half.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_coeff_i; N& minus_coeff_i = holder_minus_coeff_i.item(); 2441: 2441: 2441: for (Row_iterator m_iter = m_begin, 2441: m_iter_end = m_begin + (2 * w_id + 2); 2441: m_iter != m_iter_end; ) { 2441: const dimension_type n_i = m_iter.index(); 2441: const dimension_type id = n_i/2; 2441: Row_reference m_i = *m_iter; 2441: ++m_iter; 2441: Row_reference m_ci = *m_iter; 2441: ++m_iter; 2441: const Coefficient& sc_i = sc_expr.coefficient(Variable(id)); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: 2441: if (pinf_count <= 1) { 2441: const N& double_approx_i = m_ci[n_i]; 2441: if (!is_plus_infinity(double_approx_i)) { 2441: 2441: div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(sum, coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++pinf_count; 2441: pinf_index = id; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& double_approx_minus_i = m_i[n_i + 1]; 2441: if (!is_plus_infinity(double_approx_minus_i)) { 2441: 2441: div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP); 2441: add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = id; 2441: } 2441: } 2441: } 2441: else if (sign_i < 0) { 2441: neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED); 2441: assign_r(minus_coeff_i, minus_sc_i, ROUND_UP); 2441: 2441: if (pinf_count <= 1) { 2441: const N& double_approx_minus_i = m_i[n_i + 1]; 2441: if (!is_plus_infinity(double_approx_minus_i)) { 2441: 2441: div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP); 2441: add_mul_assign_r(sum, minus_coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++pinf_count; 2441: pinf_index = id; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& double_approx_i = m_ci[n_i]; 2441: if (!is_plus_infinity(double_approx_i)) { 2441: 2441: div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = id; 2441: } 2441: } 2441: } 2441: } 2441: 2441: if (pinf_count > 1 && neg_pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: reset_strongly_closed(); 2441: 2441: 2441: if (pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_sum; N& double_sum = holder_double_sum.item(); 2441: mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP); 2441: matrix[n_var + 1][n_var] = double_sum; 2441: 2441: deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum); 2441: } 2441: else { 2441: 2441: if (pinf_index != var_id) { 2441: const Coefficient& ppi 2441: = sc_expr.coefficient(Variable(pinf_index)); 2441: if (ppi == sc_denom) { 2441: 2441: if (var_id < pinf_index) { 2441: matrix[2*pinf_index][n_var] = sum; 2441: } 2441: else { 2441: matrix[n_var + 1][2*pinf_index + 1] = sum; 2441: } 2441: } 2441: else { 2441: if (ppi == minus_sc_denom) { 2441: 2441: if (var_id < pinf_index) { 2441: matrix[2*pinf_index + 1][n_var] = sum; 2441: } 2441: else { 2441: matrix[n_var + 1][2*pinf_index] = sum; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: if (neg_pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (neg_pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_neg_sum; N& double_neg_sum = holder_double_neg_sum.item(); 2441: mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP); 2441: matrix[n_var][n_var + 1] = double_neg_sum; 2441: 2441: deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, 2441: neg_sum); 2441: } 2441: else { 2441: 2441: if (neg_pinf_index != var_id) { 2441: const Coefficient& npi 2441: = sc_expr.coefficient(Variable(neg_pinf_index)); 2441: if (npi == sc_denom) { 2441: 2441: 2441: if (neg_pinf_index < var_id) { 2441: matrix[n_var][2*neg_pinf_index] = neg_sum; 2441: } 2441: else { 2441: matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum; 2441: } 2441: } 2441: else { 2441: if (npi == minus_sc_denom) { 2441: 2441: 2441: if (neg_pinf_index < var_id) { 2441: matrix[n_var][2*neg_pinf_index + 1] = neg_sum; 2441: } 2441: else { 2441: matrix[2*neg_pinf_index][n_var + 1] = neg_sum; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: break; 2441: } 2441: 2441: case LESS_OR_EQUAL: 2441: { 2441: 2441: 2441: 2441: 2441: assign_r(sum, sc_b, ROUND_UP); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_approx_i; N& approx_i = holder_approx_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: 2441: 2441: for (row_iterator m_iter = m_begin, 2441: m_iter_end = m_begin + (2 * w_id + 2); 2441: m_iter != m_iter_end; ) { 2441: const dimension_type n_i = m_iter.index(); 2441: const dimension_type id = n_i/2; 2441: row_reference m_i = *m_iter; 2441: ++m_iter; 2441: row_reference m_ci = *m_iter; 2441: ++m_iter; 2441: const Coefficient& sc_i = sc_expr.coefficient(Variable(id)); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i == 0) { 2441: continue; 2441: } 2441: 2441: const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i + 1]; 2441: if (is_plus_infinity(double_approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = id; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_sum; N& double_sum = holder_double_sum.item(); 2441: mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP); 2441: add_octagonal_constraint(n_var + 1, n_var, double_sum); 2441: 2441: deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum); 2441: } 2441: else if (pinf_count == 1) { 2441: dimension_type pinf_ind = 2*pinf_index; 2441: if (expr.coefficient(Variable(pinf_index)) == denominator ) { 2441: 2441: if (var_id < pinf_index) { 2441: add_octagonal_constraint(pinf_ind, n_var, sum); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, pinf_ind + 1, sum); 2441: } 2441: } 2441: else { 2441: if (expr.coefficient(Variable(pinf_index)) == minus_denom) { 2441: 2441: if (var_id < pinf_index) { 2441: add_octagonal_constraint(pinf_ind + 1, n_var, sum); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, pinf_ind, sum); 2441: } 2441: } 2441: } 2441: } 2441: break; 2441: } 2441: 2441: case GREATER_OR_EQUAL: 2441: { 2441: 2441: 2441: 2441: 2441: 2441: assign_r(sum, minus_sc_b, ROUND_UP); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_approx_i; N& approx_i = holder_approx_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: for (row_iterator m_iter = m_begin, 2441: m_iter_end = m_begin + (2 * w_id + 2); 2441: m_iter != m_iter_end; ) { 2441: const dimension_type n_i = m_iter.index(); 2441: const dimension_type id = n_i/2; 2441: row_reference m_i = *m_iter; 2441: ++m_iter; 2441: row_reference m_ci = *m_iter; 2441: ++m_iter; 2441: const Coefficient& sc_i = sc_expr.coefficient(Variable(id)); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i == 0) { 2441: continue; 2441: } 2441: 2441: const N& double_approx_i = (sign_i > 0) ? m_i[n_i + 1] : m_ci[n_i]; 2441: if (is_plus_infinity(double_approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = id; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_sum; N& double_sum = holder_double_sum.item(); 2441: mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP); 2441: add_octagonal_constraint(n_var, n_var + 1, double_sum); 2441: 2441: deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_denom, 2441: sum); 2441: } 2441: else if (pinf_count == 1) { 2441: dimension_type pinf_ind = 2*pinf_index; 2441: if (expr.coefficient(Variable(pinf_index)) == denominator) { 2441: 2441: 2441: if (pinf_index < var_id) { 2441: add_octagonal_constraint(n_var, pinf_ind, sum); 2441: } 2441: else { 2441: add_octagonal_constraint(pinf_ind + 1, n_var, sum); 2441: } 2441: } 2441: else { 2441: if (expr.coefficient(Variable(pinf_index)) == minus_denom) { 2441: 2441: 2441: if (pinf_index < var_id) { 2441: add_octagonal_constraint(n_var, pinf_ind + 1, sum); 2441: } 2441: else { 2441: add_octagonal_constraint(pinf_ind, n_var + 1, sum); 2441: } 2441: } 2441: } 2441: } 2441: break; 2441: } 2441: 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::affine_image(const Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("affine_image(v, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("affine_image(v, e, d)", "e", expr); 2441: } 2441: 2441: 2441: const dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("affine_image(v, e, d)", var_id + 1); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w_id = expr.last_nonzero(); 2441: 2441: if (w_id != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, w_id)) { 2441: ++t; 2441: } 2441: --w_id; 2441: } 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: typedef typename OR_Matrix::const_row_iterator Row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type Row_reference; 2441: using std::swap; 2441: 2441: const dimension_type n_var = 2*var_id; 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED); 2441: # 5179 "../../src/Octagonal_Shape_templates.hh" 2441: if (t == 0) { 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_two_b; Parma_Polyhedra_Library::Coefficient& two_b = holder_two_b.item(); 2441: two_b = 2*b; 2441: 2441: add_octagonal_constraint(n_var + 1, n_var, two_b, denominator); 2441: add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& w_coeff = expr.coefficient(Variable(w_id)); 2441: if (w_coeff == denominator || w_coeff == minus_denom) { 2441: 2441: if (w_id == var_id) { 2441: 2441: const bool sign_symmetry = (w_coeff != denominator); 2441: if (!sign_symmetry && b == 0) { 2441: 2441: return; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, denominator); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_d; N& minus_d = holder_minus_d.item(); 2441: div_round_up(minus_d, b, minus_denom); 2441: if (sign_symmetry) { 2441: swap(d, minus_d); 2441: } 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const row_iterator m_end = matrix.row_end(); 2441: row_iterator m_iter = m_begin + n_var; 2441: row_reference m_v = *m_iter; 2441: ++m_iter; 2441: row_reference m_cv = *m_iter; 2441: ++m_iter; 2441: 2441: for (dimension_type j = n_var; j-- > 0; ) { 2441: N& m_v_j = m_v[j]; 2441: add_assign_r(m_v_j, m_v_j, minus_d, ROUND_UP); 2441: N& m_cv_j = m_cv[j]; 2441: add_assign_r(m_cv_j, m_cv_j, d, ROUND_UP); 2441: if (sign_symmetry) { 2441: swap(m_v_j, m_cv_j); 2441: } 2441: } 2441: for ( ; m_iter != m_end; ++m_iter) { 2441: row_reference m_i = *m_iter; 2441: N& m_i_v = m_i[n_var]; 2441: add_assign_r(m_i_v, m_i_v, d, ROUND_UP); 2441: N& m_i_cv = m_i[n_var + 1]; 2441: add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP); 2441: if (sign_symmetry) { 2441: swap(m_i_v, m_i_cv); 2441: } 2441: } 2441: 2441: mul_2exp_assign_r(d, d, 1, ROUND_UP); 2441: N& m_cv_v = m_cv[n_var]; 2441: add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP); 2441: mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP); 2441: N& m_v_cv = m_v[n_var + 1]; 2441: add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP); 2441: if (sign_symmetry) { 2441: swap(m_cv_v, m_v_cv); 2441: } 2441: 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: const dimension_type n_w = 2*w_id; 2441: 2441: if (w_coeff == denominator) { 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var, b, denominator); 2441: add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator); 2441: add_octagonal_constraint(n_var, n_w, b, minus_denom); 2441: } 2441: } 2441: else { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var, b, denominator); 2441: add_octagonal_constraint(n_w, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w, b, denominator); 2441: add_octagonal_constraint(n_var, n_w + 1, b, minus_denom); 2441: } 2441: } 2441: incremental_strong_closure_assign(var); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: # 5299 "../../src/Octagonal_Shape_templates.hh" 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign_r(minus_b, b, ROUND_NOT_NEEDED); 2441: 2441: const Coefficient& sc_b = is_sc ? b : minus_b; 2441: const Coefficient& minus_sc_b = is_sc ? minus_b : b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_pos_sum; N& pos_sum = holder_pos_sum.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_neg_sum; N& neg_sum = holder_neg_sum.item(); 2441: 2441: dimension_type pos_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: dimension_type neg_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type pos_pinf_count = 0; 2441: dimension_type neg_pinf_count = 0; 2441: 2441: 2441: assign_r(pos_sum, sc_b, ROUND_UP); 2441: assign_r(neg_sum, minus_sc_b, ROUND_UP); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_coeff_i; N& minus_coeff_i = holder_minus_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_half; N& half = holder_half.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2); 2441: m_iter != m_iter_end; ) { 2441: const dimension_type n_i = m_iter.index(); 2441: const dimension_type id = n_i/2; 2441: Row_reference m_i = *m_iter; 2441: ++m_iter; 2441: Row_reference m_ci = *m_iter; 2441: ++m_iter; 2441: const Coefficient& sc_i = sc_expr.coefficient(Variable(id)); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: 2441: if (pos_pinf_count <= 1) { 2441: const N& double_up_approx_i = m_ci[n_i]; 2441: if (!is_plus_infinity(double_up_approx_i)) { 2441: 2441: div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(pos_sum, coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++pos_pinf_count; 2441: pos_pinf_index = id; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& double_up_approx_minus_i = m_i[n_i + 1]; 2441: if (!is_plus_infinity(double_up_approx_minus_i)) { 2441: 2441: div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP); 2441: add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = id; 2441: } 2441: } 2441: } 2441: else if (sign_i < 0) { 2441: neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED); 2441: assign_r(minus_coeff_i, minus_sc_i, ROUND_UP); 2441: 2441: if (pos_pinf_count <= 1) { 2441: const N& double_up_approx_minus_i = m_i[n_i + 1]; 2441: if (!is_plus_infinity(double_up_approx_minus_i)) { 2441: 2441: div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP); 2441: add_mul_assign_r(pos_sum, minus_coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++pos_pinf_count; 2441: pos_pinf_index = id; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& double_up_approx_i = m_ci[n_i]; 2441: if (!is_plus_infinity(double_up_approx_i)) { 2441: 2441: div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = id; 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: 2441: if (pos_pinf_count > 1 && neg_pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: reset_strongly_closed(); 2441: 2441: 2441: if (pos_pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pos_pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_pos_sum; N& double_pos_sum = holder_double_pos_sum.item(); 2441: mul_2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_UP); 2441: matrix[n_var + 1][n_var] = double_pos_sum; 2441: 2441: deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, pos_sum); 2441: } 2441: else { 2441: 2441: if (pos_pinf_index != var_id) { 2441: const Coefficient& ppi = sc_expr.coefficient(Variable(pos_pinf_index)); 2441: if (ppi == sc_denom) { 2441: 2441: if (var_id < pos_pinf_index) { 2441: matrix[2*pos_pinf_index][n_var] = pos_sum; 2441: } 2441: else { 2441: matrix[n_var + 1][2*pos_pinf_index + 1] = pos_sum; 2441: } 2441: } 2441: else { 2441: if (ppi == minus_sc_denom) { 2441: 2441: if (var_id < pos_pinf_index) { 2441: matrix[2*pos_pinf_index + 1][n_var] = pos_sum; 2441: } 2441: else { 2441: matrix[n_var + 1][2*pos_pinf_index] = pos_sum; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: if (neg_pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (neg_pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_neg_sum; N& double_neg_sum = holder_double_neg_sum.item(); 2441: mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP); 2441: matrix[n_var][n_var + 1] = double_neg_sum; 2441: 2441: deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, neg_sum); 2441: } 2441: else { 2441: 2441: if (neg_pinf_index != var_id) { 2441: const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index)); 2441: if (npi == sc_denom) { 2441: 2441: 2441: if (neg_pinf_index < var_id) { 2441: matrix[n_var][2*neg_pinf_index] = neg_sum; 2441: } 2441: else { 2441: matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum; 2441: } 2441: } 2441: else { 2441: if (npi == minus_sc_denom) { 2441: 2441: 2441: if (neg_pinf_index < var_id) { 2441: matrix[n_var][2*neg_pinf_index + 1] = neg_sum; 2441: } 2441: else { 2441: matrix[2*neg_pinf_index][n_var + 1] = neg_sum; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: incremental_strong_closure_assign(var); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Octagonal_Shape::affine_form_image(const Variable var, 2441: const Linear_Form< Interval >& lf) { 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_5533 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: 2441: 2441: const dimension_type lf_space_dim = lf.space_dimension(); 2441: if (space_dim < lf_space_dim) { 2441: throw_dimension_incompatible("affine_form_image(v, l)", "l", lf); 2441: } 2441: 2441: 2441: const dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("affine_form_image(v, l)", var.id() + 1); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w_id = 0; 2441: 2441: 2441: for (dimension_type i = lf_space_dim; i-- > 0; ) { 2441: if (lf.coefficient(Variable(i)) != 0) { 2441: if (t++ == 1) { 2441: break; 2441: } 2441: else { 2441: w_id = i; 2441: } 2441: } 2441: } 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: typedef Interval FP_Interval_Type; 2441: using std::swap; 2441: 2441: const dimension_type n_var = 2*var_id; 2441: const FP_Interval_Type& b = lf.inhomogeneous_term(); 2441: # 5588 "../../src/Octagonal_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_ub; N& b_ub = holder_b_ub.item(); 2441: assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_mlb; N& b_mlb = holder_b_mlb.item(); 2441: neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED); 2441: 2441: if (t == 0) { 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: mul_2exp_assign_r(b_mlb, b_mlb, 1, ROUND_UP); 2441: mul_2exp_assign_r(b_ub, b_ub, 1, ROUND_UP); 2441: 2441: add_octagonal_constraint(n_var + 1, n_var, b_ub); 2441: add_octagonal_constraint(n_var, n_var + 1, b_mlb); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: bool is_b_zero = (b_mlb == 0 && b_ub == 0); 2441: 2441: if (t == 1) { 2441: 2441: const FP_Interval_Type& w_coeff = lf.coefficient(Variable(w_id)); 2441: 2441: bool is_w_coeff_one = (w_coeff == 1); 2441: 2441: bool is_w_coeff_minus_one = (w_coeff == -1); 2441: if (is_w_coeff_one || is_w_coeff_minus_one) { 2441: 2441: if (w_id == var_id) { 2441: 2441: if (is_w_coeff_one && is_b_zero) { 2441: 2441: return; 2441: } 2441: 2441: 2441: if (is_w_coeff_minus_one) { 2441: swap(b_ub, b_mlb); 2441: } 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const row_iterator m_end = matrix.row_end(); 2441: row_iterator m_iter = m_begin + n_var; 2441: row_reference m_v = *m_iter; 2441: ++m_iter; 2441: row_reference m_cv = *m_iter; 2441: ++m_iter; 2441: 2441: for (dimension_type j = n_var; j-- > 0; ) { 2441: N& m_v_j = m_v[j]; 2441: add_assign_r(m_v_j, m_v_j, b_mlb, ROUND_UP); 2441: N& m_cv_j = m_cv[j]; 2441: add_assign_r(m_cv_j, m_cv_j, b_ub, ROUND_UP); 2441: if (is_w_coeff_minus_one) { 2441: swap(m_v_j, m_cv_j); 2441: } 2441: } 2441: for ( ; m_iter != m_end; ++m_iter) { 2441: row_reference m_i = *m_iter; 2441: N& m_i_v = m_i[n_var]; 2441: add_assign_r(m_i_v, m_i_v, b_ub, ROUND_UP); 2441: N& m_i_cv = m_i[n_var + 1]; 2441: add_assign_r(m_i_cv, m_i_cv, b_mlb, ROUND_UP); 2441: if (is_w_coeff_minus_one) { 2441: swap(m_i_v, m_i_cv); 2441: } 2441: } 2441: 2441: mul_2exp_assign_r(b_ub, b_ub, 1, ROUND_UP); 2441: N& m_cv_v = m_cv[n_var]; 2441: add_assign_r(m_cv_v, m_cv_v, b_ub, ROUND_UP); 2441: mul_2exp_assign_r(b_mlb, b_mlb, 1, ROUND_UP); 2441: N& m_v_cv = m_v[n_var + 1]; 2441: add_assign_r(m_v_cv, m_v_cv, b_mlb, ROUND_UP); 2441: if (is_w_coeff_minus_one) { 2441: swap(m_cv_v, m_v_cv); 2441: } 2441: 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: const dimension_type n_w = 2*w_id; 2441: if (is_w_coeff_one) { 2441: 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var, b_ub); 2441: add_octagonal_constraint(n_w + 1, n_var + 1, b_mlb); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w + 1, b_ub); 2441: add_octagonal_constraint(n_var, n_w, b_mlb); 2441: } 2441: } 2441: else { 2441: 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var, b_ub); 2441: add_octagonal_constraint(n_w, n_var + 1, b_mlb); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w, b_ub); 2441: add_octagonal_constraint(n_var, n_w + 1, b_mlb); 2441: } 2441: } 2441: incremental_strong_closure_assign(var); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: reset_strongly_closed(); 2441: 2441: Linear_Form minus_lf(lf); 2441: minus_lf.negate(); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_upper_bound; N& upper_bound = holder_upper_bound.item(); 2441: 2441: row_iterator m_iter = matrix.row_begin(); 2441: m_iter += n_var; 2441: row_reference var_ite = *m_iter; 2441: ++m_iter; 2441: row_reference var_cv_ite = *m_iter; 2441: ++m_iter; 2441: row_iterator m_end = matrix.row_end(); 2441: 2441: 2441: for (dimension_type curr_var = var_id, 2441: n_curr_var = n_var - 2; curr_var-- > 0; ) { 2441: Variable current(curr_var); 2441: linear_form_upper_bound(lf + current, upper_bound); 2441: assign_r(var_cv_ite[n_curr_var], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(lf - current, upper_bound); 2441: assign_r(var_cv_ite[n_curr_var + 1], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(minus_lf + current, upper_bound); 2441: assign_r(var_ite[n_curr_var], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(minus_lf - current, upper_bound); 2441: assign_r(var_ite[n_curr_var + 1], upper_bound, ROUND_NOT_NEEDED); 2441: n_curr_var -= 2; 2441: } 2441: for (dimension_type curr_var = var_id + 1; m_iter != m_end; ++m_iter) { 2441: row_reference m_v_ite = *m_iter; 2441: ++m_iter; 2441: row_reference m_cv_ite = *m_iter; 2441: Variable current(curr_var); 2441: linear_form_upper_bound(lf + current, upper_bound); 2441: assign_r(m_cv_ite[n_var], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(lf - current, upper_bound); 2441: assign_r(m_v_ite[n_var], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(minus_lf + current, upper_bound); 2441: assign_r(m_cv_ite[n_var + 1], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(minus_lf - current, upper_bound); 2441: assign_r(m_v_ite[n_var + 1], upper_bound, ROUND_NOT_NEEDED); 2441: ++curr_var; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lf_ub; N& lf_ub = holder_lf_ub.item(); 2441: linear_form_upper_bound(lf, lf_ub); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_lf_ub; N& minus_lf_ub = holder_minus_lf_ub.item(); 2441: linear_form_upper_bound(minus_lf, minus_lf_ub); 2441: mul_2exp_assign_r(lf_ub, lf_ub, 1, ROUND_UP); 2441: assign_r(matrix[n_var + 1][n_var], lf_ub, ROUND_NOT_NEEDED); 2441: mul_2exp_assign_r(minus_lf_ub, minus_lf_ub, 1, ROUND_UP); 2441: assign_r(matrix[n_var][n_var + 1], minus_lf_ub, ROUND_NOT_NEEDED); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Octagonal_Shape:: 2441: linear_form_upper_bound(const Linear_Form< Interval >& lf, 2441: N& result) const { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_5779 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: const dimension_type lf_space_dimension = lf.space_dimension(); 2441: ((void) 0); 2441: 2441: typedef Interval FP_Interval_Type; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_lb; N& curr_lb = holder_curr_lb.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_ub; N& curr_ub = holder_curr_ub.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_var_ub; N& curr_var_ub = holder_curr_var_ub.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_minus_var_ub; N& curr_minus_var_ub = holder_curr_minus_var_ub.item(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_first_comparison_term; N& first_comparison_term = holder_first_comparison_term.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_second_comparison_term; N& second_comparison_term = holder_second_comparison_term.item(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_negator; N& negator = holder_negator.item(); 2441: 2441: assign_r(result, lf.inhomogeneous_term().upper(), ROUND_NOT_NEEDED); 2441: 2441: for (dimension_type curr_var = 0, n_var = 0; curr_var < lf_space_dimension; 2441: ++curr_var) { 2441: const FP_Interval_Type& curr_coefficient = 2441: lf.coefficient(Variable(curr_var)); 2441: assign_r(curr_lb, curr_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(curr_ub, curr_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (curr_lb != 0 || curr_ub != 0) { 2441: assign_r(curr_var_ub, matrix[n_var + 1][n_var], ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(curr_var_ub, curr_var_ub, 1, ROUND_UP); 2441: neg_assign_r(curr_minus_var_ub, matrix[n_var][n_var + 1], 2441: ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(curr_minus_var_ub, curr_minus_var_ub, 1, ROUND_DOWN); 2441: 2441: if (curr_lb == 1 && curr_ub == 1) { 2441: add_assign_r(result, result, std::max(curr_var_ub, curr_minus_var_ub), 2441: ROUND_UP); 2441: } 2441: else if (curr_lb == -1 && curr_ub == -1) { 2441: neg_assign_r(negator, std::min(curr_var_ub, curr_minus_var_ub), 2441: ROUND_NOT_NEEDED); 2441: add_assign_r(result, result, negator, ROUND_UP); 2441: } 2441: else { 2441: 2441: assign_r(first_comparison_term, 0, ROUND_NOT_NEEDED); 2441: assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); 2441: add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub, 2441: ROUND_UP); 2441: add_mul_assign_r(second_comparison_term, curr_var_ub, curr_lb, 2441: ROUND_UP); 2441: assign_r(first_comparison_term, std::max(first_comparison_term, 2441: second_comparison_term), 2441: ROUND_NOT_NEEDED); 2441: assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); 2441: add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub, 2441: ROUND_UP); 2441: assign_r(first_comparison_term, std::max(first_comparison_term, 2441: second_comparison_term), 2441: ROUND_NOT_NEEDED); 2441: assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); 2441: add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_lb, 2441: ROUND_UP); 2441: assign_r(first_comparison_term, std::max(first_comparison_term, 2441: second_comparison_term), 2441: ROUND_NOT_NEEDED); 2441: 2441: add_assign_r(result, result, first_comparison_term, ROUND_UP); 2441: } 2441: } 2441: 2441: n_var += 2; 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape:: 2441: interval_coefficient_upper_bound(const N& var_ub, const N& minus_var_ub, 2441: const N& int_ub, const N& int_lb, 2441: N& result) { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_5862 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_second_comparison_term; N& second_comparison_term = holder_second_comparison_term.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_third_comparison_term; N& third_comparison_term = holder_third_comparison_term.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_fourth_comparison_term; N& fourth_comparison_term = holder_fourth_comparison_term.item(); 2441: 2441: assign_r(result, 0, ROUND_NOT_NEEDED); 2441: assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); 2441: assign_r(third_comparison_term, 0, ROUND_NOT_NEEDED); 2441: assign_r(fourth_comparison_term, 0, ROUND_NOT_NEEDED); 2441: 2441: add_mul_assign_r(result, var_ub, int_ub, ROUND_UP); 2441: add_mul_assign_r(second_comparison_term, minus_var_ub, int_ub, ROUND_UP); 2441: add_mul_assign_r(third_comparison_term, var_ub, int_lb, ROUND_UP); 2441: add_mul_assign_r(fourth_comparison_term, minus_var_ub, int_lb, ROUND_UP); 2441: 2441: assign_r(result, std::max(result, second_comparison_term), ROUND_NOT_NEEDED); 2441: assign_r(result, std::max(result, third_comparison_term), ROUND_NOT_NEEDED); 2441: assign_r(result, std::max(result, fourth_comparison_term), ROUND_NOT_NEEDED); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::affine_preimage(const Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("affine_preimage(v, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr); 2441: } 2441: 2441: 2441: dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("affine_preimage(v, e, d)", var_id + 1); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: 2441: dimension_type w_id = expr.last_nonzero(); 2441: 2441: if (w_id != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, w_id)) { 2441: ++t; 2441: } 2441: --w_id; 2441: } 2441: # 5942 "../../src/Octagonal_Shape_templates.hh" 2441: if (t == 0) { 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& w_coeff = expr.coefficient(Variable(w_id)); 2441: if (w_coeff == denominator || w_coeff == -denominator) { 2441: 2441: if (w_id == var_id) { 2441: 2441: affine_image(var, denominator*var - b, w_coeff); 2441: } 2441: else { 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: ((void) 0); 2441: } 2441: return; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: const Coefficient& coeff_v = expr.coefficient(var); 2441: if (coeff_v != 0) { 2441: if (coeff_v > 0) { 2441: 2441: Linear_Expression inverse = ((coeff_v + denominator)*var); 2441: inverse -= expr; 2441: affine_image(var, inverse, coeff_v); 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_coeff_v; Parma_Polyhedra_Library::Coefficient& minus_coeff_v = holder_minus_coeff_v.item(); 2441: neg_assign(minus_coeff_v, coeff_v); 2441: Linear_Expression inverse = ((minus_coeff_v - denominator)*var); 2441: inverse += expr; 2441: affine_image(var, inverse, minus_coeff_v); 2441: } 2441: } 2441: else { 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: ((void) 0); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::generalized_affine_image(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr , 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", "e", 2441: expr); 2441: } 2441: 2441: 2441: dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", 2441: var_id + 1); 2441: } 2441: 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: if (relsym == EQUAL) { 2441: 2441: 2441: affine_image(var, expr, denominator); 2441: return; 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w_id = expr.last_nonzero(); 2441: 2441: if (w_id != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, w_id)) { 2441: ++t; 2441: } 2441: --w_id; 2441: } 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: typedef typename OR_Matrix::const_row_iterator Row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type Row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const row_iterator m_end = matrix.row_end(); 2441: const dimension_type n_var = 2*var_id; 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED); 2441: # 6082 "../../src/Octagonal_Shape_templates.hh" 2441: if (t == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_two_b; Parma_Polyhedra_Library::Coefficient& two_b = holder_two_b.item(); 2441: two_b = 2*b; 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: 2441: reset_strongly_closed(); 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: 2441: add_octagonal_constraint(n_var + 1, n_var, two_b, denominator); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: 2441: 2441: add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& w_coeff = expr.coefficient(Variable(w_id)); 2441: if (w_coeff == denominator || w_coeff == minus_denom) { 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, denominator); 2441: if (w_id == var_id) { 2441: 2441: 2441: reset_strongly_closed(); 2441: if (w_coeff == denominator) { 2441: 2441: 2441: 2441: row_iterator m_iter = m_begin + n_var; 2441: row_reference m_v = *m_iter; 2441: N& m_v_cv = m_v[n_var + 1]; 2441: ++m_iter; 2441: row_reference m_cv = *m_iter; 2441: N& m_cv_v = m_cv[n_var]; 2441: ++m_iter; 2441: 2441: for ( ; m_iter != m_end; ++m_iter) { 2441: row_reference m_i = *m_iter; 2441: N& m_i_v = m_i[n_var]; 2441: add_assign_r(m_i_v, m_i_v, d, ROUND_UP); 2441: assign_r(m_i[n_var + 1], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: for (dimension_type k = n_var; k-- > 0; ) { 2441: assign_r(m_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: add_assign_r(m_cv[k], m_cv[k], d, ROUND_UP); 2441: } 2441: mul_2exp_assign_r(d, d, 1, ROUND_UP); 2441: add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP); 2441: assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: 2441: 2441: N& m_v_cv = matrix[n_var][n_var + 1]; 2441: mul_2exp_assign_r(d, d, 1, ROUND_UP); 2441: add_assign_r(matrix[n_var + 1][n_var], m_v_cv, d, ROUND_UP); 2441: assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: forget_binary_octagonal_constraints(var_id); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: const dimension_type n_w = 2*w_id; 2441: if (w_coeff == denominator) { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var, b, denominator); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator); 2441: } 2441: } 2441: else { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var, b, denominator); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var + 1, n_w, b, denominator); 2441: } 2441: } 2441: } 2441: break; 2441: } 2441: 2441: case GREATER_OR_EQUAL: 2441: { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, minus_denom); 2441: if (w_id == var_id) { 2441: 2441: 2441: reset_strongly_closed(); 2441: if (w_coeff == denominator) { 2441: 2441: 2441: 2441: row_iterator m_iter = m_begin + n_var; 2441: row_reference m_v = *m_iter; 2441: N& m_v_cv = m_v[n_var + 1]; 2441: ++m_iter; 2441: row_reference m_cv = *m_iter; 2441: N& m_cv_v = m_cv[n_var]; 2441: ++m_iter; 2441: 2441: for ( ; m_iter != m_end; ++m_iter) { 2441: row_reference m_i = *m_iter; 2441: assign_r(m_i[n_var], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: add_assign_r(m_i[n_var + 1], m_i[n_var + 1], d, ROUND_UP); 2441: } 2441: for (dimension_type k = n_var; k-- > 0; ) { 2441: add_assign_r(m_v[k], m_v[k], d, ROUND_UP); 2441: assign_r(m_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: mul_2exp_assign_r(d, d, 1, ROUND_UP); 2441: add_assign_r(m_v_cv, m_v_cv, d, ROUND_UP); 2441: assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: 2441: 2441: N& m_cv_v = matrix[n_var + 1][n_var]; 2441: mul_2exp_assign_r(d, d, 1, ROUND_UP); 2441: add_assign_r(matrix[n_var][n_var + 1], m_cv_v, d, ROUND_UP); 2441: assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: forget_binary_octagonal_constraints(var_id); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: const dimension_type n_w = 2*w_id; 2441: 2441: 2441: 2441: 2441: if (w_coeff == denominator) { 2441: 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var, n_w, b, minus_denom); 2441: } 2441: } 2441: else { 2441: 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var, n_w + 1, b, minus_denom); 2441: } 2441: } 2441: } 2441: break; 2441: } 2441: 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: # 6281 "../../src/Octagonal_Shape_templates.hh" 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = is_sc ? b : minus_b; 2441: const Coefficient& minus_sc_b = is_sc ? minus_b : b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum; N& sum = holder_sum.item(); 2441: 2441: dimension_type pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type pinf_count = 0; 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: { 2441: 2441: 2441: 2441: assign_r(sum, sc_b, ROUND_UP); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_approx_i; N& approx_i = holder_approx_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: 2441: 2441: for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2); 2441: m_iter != m_iter_end; ) { 2441: const dimension_type n_i = m_iter.index(); 2441: const dimension_type id = n_i/2; 2441: Row_reference m_i = *m_iter; 2441: ++m_iter; 2441: Row_reference m_ci = *m_iter; 2441: ++m_iter; 2441: const Coefficient& sc_i = sc_expr.coefficient(Variable(id)); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i == 0) { 2441: continue; 2441: } 2441: 2441: const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i + 1]; 2441: if (is_plus_infinity(double_approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = id; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: reset_strongly_closed(); 2441: 2441: if (pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_sum; N& double_sum = holder_double_sum.item(); 2441: mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP); 2441: matrix[n_var + 1][n_var] = double_sum; 2441: 2441: deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum); 2441: } 2441: else if (pinf_count == 1) { 2441: if (pinf_index != var_id) { 2441: const Coefficient& pi = expr.coefficient(Variable(pinf_index)); 2441: if (pi == denominator ) { 2441: 2441: if (var_id < pinf_index) { 2441: matrix[2*pinf_index][n_var] = sum; 2441: } 2441: else { 2441: matrix[n_var + 1][2*pinf_index + 1] = sum; 2441: } 2441: } 2441: else { 2441: if (pi == minus_denom) { 2441: 2441: if (var_id < pinf_index) { 2441: matrix[2*pinf_index + 1][n_var] = sum; 2441: } 2441: else { 2441: matrix[n_var + 1][2*pinf_index] = sum; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: break; 2441: } 2441: 2441: case GREATER_OR_EQUAL: 2441: { 2441: 2441: 2441: 2441: 2441: 2441: assign_r(sum, minus_sc_b, ROUND_UP); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_approx_i; N& approx_i = holder_approx_i.item(); 2441: 2441: for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2); 2441: m_iter != m_iter_end; ) { 2441: const dimension_type n_i = m_iter.index(); 2441: const dimension_type id = n_i/2; 2441: Row_reference m_i = *m_iter; 2441: ++m_iter; 2441: Row_reference m_ci = *m_iter; 2441: ++m_iter; 2441: const Coefficient& sc_i = sc_expr.coefficient(Variable(id)); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i == 0) { 2441: continue; 2441: } 2441: 2441: const N& double_approx_i = (sign_i > 0) ? m_i[n_i + 1] : m_ci[n_i]; 2441: if (is_plus_infinity(double_approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = id; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: reset_strongly_closed(); 2441: 2441: if (pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_sum; N& double_sum = holder_double_sum.item(); 2441: mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP); 2441: matrix[n_var][n_var + 1] = double_sum; 2441: 2441: deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_denom, sum); 2441: } 2441: else if (pinf_count == 1) { 2441: if (pinf_index != var_id) { 2441: const Coefficient& pi = expr.coefficient(Variable(pinf_index)); 2441: if (pi == denominator) { 2441: 2441: 2441: if (pinf_index < var_id) { 2441: matrix[n_var][2*pinf_index] = sum; 2441: } 2441: else { 2441: matrix[2*pinf_index + 1][n_var + 1] = sum; 2441: } 2441: } 2441: else { 2441: if (pi == minus_denom) { 2441: 2441: 2441: if (pinf_index < var_id) { 2441: matrix[n_var][2*pinf_index + 1] = sum; 2441: } 2441: else { 2441: matrix[2*pinf_index][n_var + 1] = sum; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: break; 2441: } 2441: 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: incremental_strong_closure_assign(var); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::generalized_affine_image(const Linear_Expression& lhs, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& rhs) { 2441: 2441: 2441: 2441: dimension_type lhs_space_dim = lhs.space_dimension(); 2441: if (space_dim < lhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e1", lhs); 2441: } 2441: 2441: 2441: const dimension_type rhs_space_dim = rhs.space_dimension(); 2441: if (space_dim < rhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e2", rhs); 2441: } 2441: 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_image(e1, r, e2)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_image(e1, r, e2)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: dimension_type t_lhs = 0; 2441: 2441: dimension_type j_lhs = lhs.last_nonzero(); 2441: 2441: if (j_lhs != 0) { 2441: ++t_lhs; 2441: if (!lhs.all_zeroes(1, j_lhs)) { 2441: ++t_lhs; 2441: } 2441: --j_lhs; 2441: } 2441: 2441: const Coefficient& b_lhs = lhs.inhomogeneous_term(); 2441: 2441: if (t_lhs == 0) { 2441: # 6583 "../../src/Octagonal_Shape_templates.hh" 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(lhs <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(lhs == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(lhs >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: 2441: else if (t_lhs == 1) { 2441: 2441: 2441: 2441: Variable v(j_lhs); 2441: 2441: const Coefficient& denom = lhs.coefficient(v); 2441: Relation_Symbol new_relsym = relsym; 2441: if (denom < 0) { 2441: if (relsym == LESS_OR_EQUAL) { 2441: new_relsym = GREATER_OR_EQUAL; 2441: } 2441: else if (relsym == GREATER_OR_EQUAL) { 2441: new_relsym = LESS_OR_EQUAL; 2441: } 2441: } 2441: Linear_Expression expr = rhs - b_lhs; 2441: generalized_affine_image(v, new_relsym, expr, denom); 2441: } 2441: else { 2441: 2441: 2441: std::vector lhs_vars; 2441: for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end(); 2441: i != i_end; ++i) { 2441: lhs_vars.push_back(i.variable()); 2441: } 2441: 2441: const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim); 2441: if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) { 2441: 2441: 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: dimension_type lhs_vars_i = lhs_vars[i].id(); 2441: forget_all_octagonal_constraints(lhs_vars_i); 2441: } 2441: 2441: 2441: 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(lhs <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(lhs == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(lhs >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: dimension_type lhs_vars_i = lhs_vars[i].id(); 2441: forget_all_octagonal_constraints(lhs_vars_i); 2441: } 2441: # 6711 "../../src/Octagonal_Shape_templates.hh" 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::bounded_affine_image(const Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: var_id + 1); 2441: } 2441: 2441: 2441: 2441: const dimension_type lb_space_dim = lb_expr.space_dimension(); 2441: if (space_dim < lb_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: "lb", lb_expr); 2441: } 2441: const dimension_type ub_space_dim = ub_expr.space_dimension(); 2441: if (space_dim < ub_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: "ub", ub_expr); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w_id = lb_expr.last_nonzero(); 2441: 2441: if (w_id != 0) { 2441: ++t; 2441: if (!lb_expr.all_zeroes(1, w_id)) { 2441: ++t; 2441: } 2441: --w_id; 2441: } 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_iterator Row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type Row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const dimension_type n_var = 2*var_id; 2441: const Coefficient& b = lb_expr.inhomogeneous_term(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED); 2441: # 6788 "../../src/Octagonal_Shape_templates.hh" 2441: if (t == 0) { 2441: 2441: generalized_affine_image(var, 2441: LESS_OR_EQUAL, 2441: ub_expr, 2441: denominator); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_two_b; Parma_Polyhedra_Library::Coefficient& two_b = holder_two_b.item(); 2441: two_b = 2*b; 2441: 2441: add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& w_coeff = lb_expr.coefficient(Variable(w_id)); 2441: if (w_coeff == denominator || w_coeff == minus_denom) { 2441: 2441: if (w_id == var_id) { 2441: 2441: 2441: const Variable new_var(space_dim); 2441: add_space_dimensions_and_embed(1); 2441: 2441: 2441: affine_image(new_var, lb_expr, denominator); 2441: 2441: strong_closure_assign(); 2441: ((void) 0); 2441: 2441: generalized_affine_image(var, 2441: LESS_OR_EQUAL, 2441: ub_expr, 2441: denominator); 2441: 2441: refine_no_check(var >= new_var); 2441: 2441: remove_higher_space_dimensions(space_dim-1); 2441: return; 2441: } 2441: else { 2441: 2441: generalized_affine_image(var, 2441: LESS_OR_EQUAL, 2441: ub_expr, 2441: denominator); 2441: 2441: 2441: const dimension_type n_w = 2*w_id; 2441: 2441: if (w_coeff == denominator) { 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var, n_w, b, minus_denom); 2441: } 2441: } 2441: else { 2441: 2441: if (var_id < w_id) { 2441: add_octagonal_constraint(n_w, n_var + 1, b, minus_denom); 2441: } 2441: else { 2441: add_octagonal_constraint(n_var, n_w + 1, b, minus_denom); 2441: } 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: } 2441: # 6874 "../../src/Octagonal_Shape_templates.hh" 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign_r(minus_b, b, ROUND_NOT_NEEDED); 2441: 2441: const Coefficient& minus_sc_b = is_sc ? minus_b : b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -lb_expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? lb_expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_neg_sum; N& neg_sum = holder_neg_sum.item(); 2441: 2441: dimension_type neg_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type neg_pinf_count = 0; 2441: 2441: 2441: assign_r(neg_sum, minus_sc_b, ROUND_UP); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_coeff_i; N& minus_coeff_i = holder_minus_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_half; N& half = holder_half.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: 2441: 2441: for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2); 2441: m_iter != m_iter_end; ) { 2441: const dimension_type n_i = m_iter.index(); 2441: const dimension_type id = n_i/2; 2441: Row_reference m_i = *m_iter; 2441: ++m_iter; 2441: Row_reference m_ci = *m_iter; 2441: ++m_iter; 2441: const Coefficient& sc_i = sc_expr.coefficient(Variable(id)); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& double_up_approx_minus_i = m_i[n_i + 1]; 2441: if (!is_plus_infinity(double_up_approx_minus_i)) { 2441: 2441: div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP); 2441: add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = id; 2441: } 2441: } 2441: } 2441: else if (sign_i < 0) { 2441: neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED); 2441: assign_r(minus_coeff_i, minus_sc_i, ROUND_UP); 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& double_up_approx_i = m_ci[n_i]; 2441: if (!is_plus_infinity(double_up_approx_i)) { 2441: 2441: div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP); 2441: add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = id; 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: generalized_affine_image(var, 2441: LESS_OR_EQUAL, 2441: ub_expr, 2441: denominator); 2441: 2441: 2441: if (neg_pinf_count > 1) { 2441: return; 2441: } 2441: 2441: 2441: reset_strongly_closed(); 2441: 2441: 2441: if (neg_pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (neg_pinf_count == 0) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_double_neg_sum; N& double_neg_sum = holder_double_neg_sum.item(); 2441: mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP); 2441: matrix[n_var][n_var + 1] = double_neg_sum; 2441: 2441: deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, neg_sum); 2441: } 2441: else 2441: 2441: if (neg_pinf_index != var_id) { 2441: const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index)); 2441: if (npi == sc_denom) { 2441: 2441: 2441: if (neg_pinf_index < var_id) { 2441: matrix[n_var][2*neg_pinf_index] = neg_sum; 2441: } 2441: else { 2441: matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum; 2441: } 2441: } 2441: else { 2441: if (npi == minus_sc_denom) { 2441: 2441: 2441: if (neg_pinf_index < var_id) { 2441: matrix[n_var][2*neg_pinf_index + 1] = neg_sum; 2441: } 2441: else { 2441: matrix[2*neg_pinf_index][n_var + 1] = neg_sum; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::generalized_affine_preimage(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)", 2441: "e", expr); 2441: } 2441: 2441: 2441: const dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)", 2441: var_id + 1); 2441: } 2441: 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: if (relsym == EQUAL) { 2441: 2441: 2441: affine_preimage(var, expr, denominator); 2441: return; 2441: } 2441: 2441: 2441: strong_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: const Coefficient& expr_v = expr.coefficient(var); 2441: if (expr_v != 0) { 2441: const Relation_Symbol reversed_relsym = (relsym == LESS_OR_EQUAL) 2441: ? GREATER_OR_EQUAL : LESS_OR_EQUAL; 2441: const Linear_Expression inverse 2441: = expr - (expr_v + denominator)*var; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_inverse_denom; Parma_Polyhedra_Library::Coefficient& inverse_denom = holder_inverse_denom.item(); 2441: neg_assign(inverse_denom, expr_v); 2441: const Relation_Symbol inverse_relsym 2441: = (sgn(denominator) == sgn(inverse_denom)) ? relsym : reversed_relsym; 2441: generalized_affine_image(var, inverse_relsym, inverse, inverse_denom); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: refine(var, relsym, expr, denominator); 2441: 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: 2441: forget_all_octagonal_constraints(var_id); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::generalized_affine_preimage(const Linear_Expression& lhs, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& rhs) { 2441: 2441: 2441: 2441: dimension_type lhs_space_dim = lhs.space_dimension(); 2441: if (space_dim < lhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)", 2441: "e1", lhs); 2441: } 2441: 2441: 2441: 2441: const dimension_type rhs_space_dim = rhs.space_dimension(); 2441: if (space_dim < rhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)", 2441: "e2", rhs); 2441: } 2441: 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_preimage(e1, r, e2)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_preimage(e1, r, e2)", 2441: "r is the disequality relation symbol"); 2441: } 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: dimension_type t_lhs = 0; 2441: 2441: dimension_type j_lhs = lhs.last_nonzero(); 2441: 2441: if (j_lhs != 0) { 2441: ++t_lhs; 2441: if (!lhs.all_zeroes(1, j_lhs)) { 2441: ++t_lhs; 2441: } 2441: --j_lhs; 2441: } 2441: 2441: const Coefficient& b_lhs = lhs.inhomogeneous_term(); 2441: 2441: 2441: 2441: if (t_lhs == 0) { 2441: generalized_affine_image(lhs, relsym, rhs); 2441: return; 2441: } 2441: 2441: else if (t_lhs == 1) { 2441: 2441: 2441: 2441: Variable v(j_lhs); 2441: 2441: const Coefficient& denom = lhs.coefficient(v); 2441: Relation_Symbol new_relsym = relsym; 2441: if (denom < 0) { 2441: if (relsym == LESS_OR_EQUAL) { 2441: new_relsym = GREATER_OR_EQUAL; 2441: } 2441: else if (relsym == GREATER_OR_EQUAL) { 2441: new_relsym = LESS_OR_EQUAL; 2441: } 2441: } 2441: Linear_Expression expr = rhs - b_lhs; 2441: generalized_affine_preimage(v, new_relsym, expr, denom); 2441: } 2441: 2441: else { 2441: 2441: 2441: std::vector lhs_vars; 2441: for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end(); 2441: i != i_end; ++i) { 2441: lhs_vars.push_back(i.variable()); 2441: } 2441: 2441: const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim); 2441: if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) { 2441: 2441: 2441: 2441: 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(lhs <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(lhs == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(lhs >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: dimension_type lhs_vars_i = lhs_vars[i].id(); 2441: forget_all_octagonal_constraints(lhs_vars_i); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: 2441: 2441: const Variable new_var(space_dim); 2441: add_space_dimensions_and_embed(1); 2441: 2441: 2441: 2441: 2441: affine_image(new_var, lhs); 2441: 2441: 2441: strong_closure_assign(); 2441: ((void) 0); 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: dimension_type lhs_vars_i = lhs_vars[i].id(); 2441: forget_all_octagonal_constraints(lhs_vars_i); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(new_var <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(new_var == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(new_var >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: remove_higher_space_dimensions(space_dim-1); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::bounded_affine_preimage(const Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type var_id = var.id(); 2441: if (space_dim < var_id + 1) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: var_id + 1); 2441: } 2441: 2441: 2441: 2441: const dimension_type lb_space_dim = lb_expr.space_dimension(); 2441: if (space_dim < lb_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "lb", lb_expr); 2441: } 2441: const dimension_type ub_space_dim = ub_expr.space_dimension(); 2441: if (space_dim < ub_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "ub", ub_expr); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: if (ub_expr.coefficient(var) == 0) { 2441: refine(var, LESS_OR_EQUAL, ub_expr, denominator); 2441: generalized_affine_preimage(var, GREATER_OR_EQUAL, 2441: lb_expr, denominator); 2441: return; 2441: } 2441: if (lb_expr.coefficient(var) == 0) { 2441: refine(var, GREATER_OR_EQUAL, lb_expr, denominator); 2441: generalized_affine_preimage(var, LESS_OR_EQUAL, 2441: ub_expr, denominator); 2441: return; 2441: } 2441: 2441: const Coefficient& expr_v = lb_expr.coefficient(var); 2441: 2441: 2441: const Variable new_var(space_dim); 2441: add_space_dimensions_and_embed(1); 2441: const Linear_Expression lb_inverse 2441: = lb_expr - (expr_v + denominator)*var; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_inverse_denom; Parma_Polyhedra_Library::Coefficient& inverse_denom = holder_inverse_denom.item(); 2441: neg_assign(inverse_denom, expr_v); 2441: affine_image(new_var, lb_inverse, inverse_denom); 2441: strong_closure_assign(); 2441: ((void) 0); 2441: generalized_affine_preimage(var, LESS_OR_EQUAL, 2441: ub_expr, denominator); 2441: if (sgn(denominator) == sgn(inverse_denom)) { 2441: refine_no_check(var >= new_var) ; 2441: } 2441: else { 2441: refine_no_check(var <= new_var); 2441: } 2441: 2441: remove_higher_space_dimensions(space_dim-1); 2441: } 2441: 2441: template 2441: Constraint_System 2441: Octagonal_Shape::constraints() const { 2441: Constraint_System cs; 2441: cs.set_space_dimension(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cs = Constraint_System::zero_dim_empty(); 2441: } 2441: return cs; 2441: } 2441: 2441: if (marked_empty()) { 2441: cs.insert(Constraint::zero_dim_false()); 2441: return cs; 2441: } 2441: 2441: typedef typename OR_Matrix::const_row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type row_reference; 2441: 2441: row_iterator m_begin = matrix.row_begin(); 2441: row_iterator m_end = matrix.row_end(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a; Parma_Polyhedra_Library::Coefficient& a = holder_a.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b; Parma_Polyhedra_Library::Coefficient& b = holder_b.item(); 2441: 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; ) { 2441: const dimension_type i = i_iter.index(); 2441: const Variable x(i/2); 2441: const N& c_i_ii = (*i_iter)[i + 1]; 2441: ++i_iter; 2441: const N& c_ii_i = (*i_iter)[i]; 2441: ++i_iter; 2441: 2441: if (is_additive_inverse(c_i_ii, c_ii_i)) { 2441: 2441: numer_denom(c_ii_i, b, a); 2441: a *= 2; 2441: cs.insert(a*x == b); 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(c_i_ii)) { 2441: numer_denom(c_i_ii, b, a); 2441: a *= 2; 2441: cs.insert(-a*x <= b); 2441: } 2441: if (!is_plus_infinity(c_ii_i)) { 2441: numer_denom(c_ii_i, b, a); 2441: a *= 2; 2441: cs.insert(a*x <= b); 2441: } 2441: } 2441: } 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; ) { 2441: const dimension_type i = i_iter.index(); 2441: row_reference r_i = *i_iter; 2441: ++i_iter; 2441: row_reference r_ii = *i_iter; 2441: ++i_iter; 2441: const Variable y(i/2); 2441: for (dimension_type j = 0; j < i; j += 2) { 2441: const N& c_i_j = r_i[j]; 2441: const N& c_ii_jj = r_ii[j + 1]; 2441: const Variable x(j/2); 2441: if (is_additive_inverse(c_ii_jj, c_i_j)) { 2441: 2441: numer_denom(c_i_j, b, a); 2441: cs.insert(a*x - a*y == b); 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(c_i_j)) { 2441: numer_denom(c_i_j, b, a); 2441: cs.insert(a*x - a*y <= b); 2441: } 2441: if (!is_plus_infinity(c_ii_jj)) { 2441: numer_denom(c_ii_jj, b, a); 2441: cs.insert(a*y - a*x <= b); 2441: } 2441: } 2441: 2441: const N& c_ii_j = r_ii[j]; 2441: const N& c_i_jj = r_i[j + 1]; 2441: if (is_additive_inverse(c_i_jj, c_ii_j)) { 2441: 2441: numer_denom(c_ii_j, b, a); 2441: cs.insert(a*x + a*y == b); 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(c_i_jj)) { 2441: numer_denom(c_i_jj, b, a); 2441: cs.insert(-a*x - a*y <= b); 2441: } 2441: if (!is_plus_infinity(c_ii_j)) { 2441: numer_denom(c_ii_j, b, a); 2441: cs.insert(a*x + a*y <= b); 2441: } 2441: } 2441: } 2441: } 2441: return cs; 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::expand_space_dimension(Variable var, dimension_type m) { 2441: 2441: const dimension_type var_id = var.id(); 2441: if (var_id + 1 > space_dim) { 2441: throw_dimension_incompatible("expand_space_dimension(v, m)", var_id + 1); 2441: } 2441: 2441: 2441: 2441: if (m > max_space_dimension() - space_dim) { 2441: throw_invalid_argument("expand_dimension(v, m)", 2441: "adding m new space dimensions exceeds " 2441: "the maximum allowed space dimension"); 2441: } 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: 2441: const dimension_type old_num_rows = matrix.num_rows(); 2441: 2441: 2441: add_space_dimensions_and_embed(m); 2441: 2441: 2441: 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: typedef typename OR_Matrix::const_row_iterator Row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type Row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: const row_iterator m_end = matrix.row_end(); 2441: const dimension_type n_var = 2*var_id; 2441: Row_iterator v_iter = m_begin + n_var; 2441: Row_reference m_v = *v_iter; 2441: Row_reference m_cv = *(v_iter + 1); 2441: 2441: for (row_iterator i_iter = m_begin + old_num_rows; i_iter != m_end; 2441: i_iter += 2) { 2441: row_reference m_i = *i_iter; 2441: row_reference m_ci = *(i_iter + 1); 2441: const dimension_type i = i_iter.index(); 2441: const dimension_type ci = i + 1; 2441: m_i[ci] = m_v[n_var + 1]; 2441: m_ci[i] = m_cv[n_var]; 2441: for (dimension_type j = 0; j < n_var; ++j) { 2441: m_i[j] = m_v[j]; 2441: m_ci[j] = m_cv[j]; 2441: } 2441: for (dimension_type j = n_var + 2; j < old_num_rows; ++j) { 2441: row_iterator j_iter = m_begin + j; 2441: row_reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1); 2441: m_i[j] = m_cj[n_var + 1]; 2441: m_ci[j] = m_cj[n_var]; 2441: } 2441: } 2441: 2441: 2441: if (marked_strongly_closed()) { 2441: reset_strongly_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::fold_space_dimensions(const Variables_Set& vars, 2441: Variable dest) { 2441: 2441: if (dest.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest); 2441: } 2441: 2441: if (vars.empty()) { 2441: return; 2441: } 2441: 2441: if (vars.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("fold_space_dimensions(vs, v)", 2441: vars.space_dimension()); 2441: } 2441: 2441: 2441: if (vars.find(dest.id()) != vars.end()) { 2441: throw_invalid_argument("fold_space_dimensions(vs, v)", 2441: "v should not occur in vs"); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: typedef typename OR_Matrix::row_iterator row_iterator; 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: 2441: const row_iterator m_begin = matrix.row_begin(); 2441: 2441: strong_closure_assign(); 2441: const dimension_type n_rows = matrix.num_rows(); 2441: const dimension_type n_dest = 2*dest.id(); 2441: row_iterator v_iter = m_begin + n_dest; 2441: row_reference m_v = *v_iter; 2441: row_reference m_cv = *(v_iter + 1); 2441: for (Variables_Set::const_iterator i = vars.begin(), 2441: vs_end = vars.end(); i != vs_end; ++i) { 2441: const dimension_type tbf_id = *i; 2441: const dimension_type tbf_var = 2*tbf_id; 2441: row_iterator tbf_iter = m_begin + tbf_var; 2441: row_reference m_tbf = *tbf_iter; 2441: row_reference m_ctbf = *(tbf_iter + 1); 2441: max_assign(m_v[n_dest + 1], m_tbf[tbf_var + 1]); 2441: max_assign(m_cv[n_dest], m_ctbf[tbf_var]); 2441: 2441: const dimension_type min_id = std::min(n_dest, tbf_var); 2441: const dimension_type max_id = std::max(n_dest, tbf_var); 2441: 2441: using namespace Implementation::Octagonal_Shapes; 2441: for (dimension_type j = 0; j < min_id; ++j) { 2441: const dimension_type cj = coherent_index(j); 2441: max_assign(m_v[j], m_tbf[j]); 2441: max_assign(m_cv[j], m_ctbf[j]); 2441: max_assign(m_cv[cj], m_ctbf[cj]); 2441: max_assign(m_v[cj], m_tbf[cj]); 2441: } 2441: for (dimension_type j = min_id + 2; j < max_id; ++j) { 2441: const dimension_type cj = coherent_index(j); 2441: row_iterator j_iter = m_begin + j; 2441: row_reference m_j = *j_iter; 2441: row_reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1); 2441: if (n_dest == min_id) { 2441: max_assign(m_cj[n_dest + 1], m_tbf[j]); 2441: max_assign(m_cj[n_dest], m_ctbf[j]); 2441: max_assign(m_j[n_dest], m_ctbf[cj]); 2441: max_assign(m_j[n_dest + 1], m_tbf[cj]); 2441: } 2441: else { 2441: max_assign(m_v[j], m_cj[tbf_var + 1]); 2441: max_assign(m_cv[j], m_cj[tbf_var]); 2441: max_assign(m_cv[cj], m_j[tbf_var]); 2441: max_assign(m_v[cj], m_j[tbf_var + 1]); 2441: } 2441: } 2441: for (dimension_type j = max_id + 2; j < n_rows; ++j) { 2441: row_iterator j_iter = m_begin + j; 2441: row_reference m_j = *j_iter; 2441: row_reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1); 2441: max_assign(m_cj[n_dest + 1], m_cj[tbf_var + 1]); 2441: max_assign(m_cj[n_dest], m_cj[tbf_var]); 2441: max_assign(m_j[n_dest], m_j[tbf_var]); 2441: max_assign(m_j[n_dest + 1], m_j[tbf_var + 1]); 2441: } 2441: } 2441: remove_space_dimensions(vars); 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::upper_bound_assign_if_exact(const Octagonal_Shape& y) { 2441: 2441: 2441: 2441: const Octagonal_Shape& x = *this; 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y); 2441: } 2441: 2441: 2441: if (x_space_dim == 0) { 2441: upper_bound_assign(y); 2441: return true; 2441: } 2441: 2441: if (x.marked_empty()) { 2441: *this = y; 2441: return true; 2441: } 2441: else if (y.is_empty()) { 2441: return true; 2441: } 2441: else if (x.is_empty()) { 2441: *this = y; 2441: return true; 2441: } 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: Octagonal_Shape ub(x); 2441: ub.upper_bound_assign(y); 2441: 2441: 2441: 2441: std::vector x_non_red; 2441: x.non_redundant_matrix_entries(x_non_red); 2441: std::vector y_non_red; 2441: y.non_redundant_matrix_entries(y_non_red); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lhs; N& lhs = holder_lhs.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lhs_copy; N& lhs_copy = holder_lhs_copy.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_rhs; N& rhs = holder_rhs.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_zero; N& temp_zero = holder_temp_zero.item(); 2441: assign_r(temp_zero, 0, ROUND_NOT_NEEDED); 2441: 2441: typedef typename OR_Matrix::const_row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type row_reference; 2441: const dimension_type n_rows = x.matrix.num_rows(); 2441: const row_iterator x_m_begin = x.matrix.row_begin(); 2441: const row_iterator y_m_begin = y.matrix.row_begin(); 2441: const row_iterator ub_m_begin = ub.matrix.row_begin(); 2441: 2441: for (dimension_type i = n_rows; i-- > 0; ) { 2441: const Bit_Row& x_non_red_i = x_non_red[i]; 2441: using namespace Implementation::Octagonal_Shapes; 2441: const dimension_type ci = coherent_index(i); 2441: const dimension_type row_size_i = OR_Matrix::row_size(i); 2441: row_reference x_i = *(x_m_begin + i); 2441: row_reference y_i = *(y_m_begin + i); 2441: row_reference ub_i = *(ub_m_begin + i); 2441: const N& ub_i_ci = ub_i[ci]; 2441: for (dimension_type j = row_size_i; j-- > 0; ) { 2441: 2441: if (!x_non_red_i[j]) { 2441: continue; 2441: } 2441: const N& x_i_j = x_i[j]; 2441: 2441: if (x_i_j >= y_i[j]) { 2441: continue; 2441: } 2441: 2441: const dimension_type cj = coherent_index(j); 2441: const dimension_type row_size_cj = OR_Matrix::row_size(cj); 2441: row_reference ub_cj = *(ub_m_begin + cj); 2441: const N& ub_cj_j = ub_cj[j]; 2441: for (dimension_type k = 0; k < n_rows; ++k) { 2441: const Bit_Row& y_non_red_k = y_non_red[k]; 2441: const dimension_type ck = coherent_index(k); 2441: const dimension_type row_size_k = OR_Matrix::row_size(k); 2441: row_reference x_k = *(x_m_begin + k); 2441: row_reference y_k = *(y_m_begin + k); 2441: row_reference ub_k = *(ub_m_begin + k); 2441: const N& ub_k_ck = ub_k[ck]; 2441: 2441: 2441: 2441: const N& ub_k_j 2441: = (k == j) 2441: ? temp_zero 2441: : ((j < row_size_k) ? ub_k[j] : ub_cj[ck]); 2441: const N& ub_i_ck 2441: = (i == ck) 2441: ? temp_zero 2441: : ((ck < row_size_i) ? ub_i[ck] : ub_k[ci]); 2441: 2441: for (dimension_type ell = row_size_k; ell-- > 0; ) { 2441: 2441: if (!y_non_red_k[ell]) { 2441: continue; 2441: } 2441: const N& y_k_ell = y_k[ell]; 2441: 2441: if (y_k_ell >= x_k[ell]) { 2441: continue; 2441: } 2441: const dimension_type cell = coherent_index(ell); 2441: row_reference ub_cell = *(ub_m_begin + cell); 2441: const N& ub_i_ell 2441: = (i == ell) 2441: ? temp_zero 2441: : ((ell < row_size_i) ? ub_i[ell] : ub_cell[ci]); 2441: const N& ub_cj_ell 2441: = (cj == ell) 2441: ? temp_zero 2441: : ((ell < row_size_cj) ? ub_cj[ell] : ub_cell[j]); 2441: 2441: add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP); 2441: add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP); 2441: if (lhs >= rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_UP); 2441: if (lhs >= rhs) { 2441: continue; 2441: } 2441: 2441: assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED); 2441: add_assign_r(lhs, lhs_copy, x_i_j, ROUND_UP); 2441: add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_UP); 2441: add_assign_r(rhs, rhs, ub_cj_j, ROUND_UP); 2441: if (lhs >= rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_UP); 2441: add_assign_r(rhs, rhs, ub_i_ci, ROUND_UP); 2441: if (lhs >= rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(lhs, lhs_copy, y_k_ell, ROUND_UP); 2441: add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_UP); 2441: add_assign_r(rhs, rhs, ub_k_ck, ROUND_UP); 2441: if (lhs >= rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_UP); 2441: add_assign_r(rhs, rhs, ub_cell[ell], ROUND_UP); 2441: if (lhs < rhs) { 2441: 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: m_swap(ub); 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape 2441: ::integer_upper_bound_assign_if_exact(const Octagonal_Shape& y) { 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_7801 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(std::numeric_limits::is_integer)>) } 2441: 2441: 2441: ; 2441: 2441: const Octagonal_Shape& x = *this; 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y); 2441: } 2441: 2441: if (x_space_dim == 0) { 2441: upper_bound_assign(y); 2441: return true; 2441: } 2441: 2441: 2441: 2441: if (x.marked_empty()) { 2441: *this = y; 2441: tight_closure_assign(); 2441: return true; 2441: } 2441: else if (y.marked_empty()) { 2441: tight_closure_assign(); 2441: return true; 2441: } 2441: else if (x.is_empty() || x.tight_coherence_would_make_empty()) { 2441: *this = y; 2441: tight_closure_assign(); 2441: return true; 2441: } 2441: else if (y.is_empty() || y.tight_coherence_would_make_empty()) { 2441: tight_closure_assign(); 2441: return true; 2441: } 2441: 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: Octagonal_Shape tx(x); 2441: tx.tight_closure_assign(); 2441: Octagonal_Shape ty(y); 2441: ty.tight_closure_assign(); 2441: Octagonal_Shape ub(tx); 2441: ub.upper_bound_assign(ty); 2441: 2441: 2441: 2441: 2441: 2441: std::vector tx_non_red; 2441: tx.non_redundant_matrix_entries(tx_non_red); 2441: std::vector ty_non_red; 2441: ty.non_redundant_matrix_entries(ty_non_red); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lhs_i_j; N& lhs_i_j = holder_lhs_i_j.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lhs_k_ell; N& lhs_k_ell = holder_lhs_k_ell.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lhs; N& lhs = holder_lhs.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lhs_copy; N& lhs_copy = holder_lhs_copy.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_rhs; N& rhs = holder_rhs.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_zero; N& temp_zero = holder_temp_zero.item(); 2441: assign_r(temp_zero, 0, ROUND_NOT_NEEDED); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_one; N& temp_one = holder_temp_one.item(); 2441: assign_r(temp_one, 1, ROUND_NOT_NEEDED); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_two; N& temp_two = holder_temp_two.item(); 2441: assign_r(temp_two, 2, ROUND_NOT_NEEDED); 2441: 2441: typedef typename OR_Matrix::const_row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type row_reference; 2441: const dimension_type n_rows = tx.matrix.num_rows(); 2441: const row_iterator tx_m_begin = tx.matrix.row_begin(); 2441: const row_iterator ty_m_begin = ty.matrix.row_begin(); 2441: const row_iterator ub_m_begin = ub.matrix.row_begin(); 2441: 2441: for (dimension_type i = n_rows; i-- > 0; ) { 2441: const Bit_Row& tx_non_red_i = tx_non_red[i]; 2441: using namespace Implementation::Octagonal_Shapes; 2441: const dimension_type ci = coherent_index(i); 2441: const dimension_type row_size_i = OR_Matrix::row_size(i); 2441: row_reference tx_i = *(tx_m_begin + i); 2441: row_reference ty_i = *(ty_m_begin + i); 2441: row_reference ub_i = *(ub_m_begin + i); 2441: const N& ub_i_ci = ub_i[ci]; 2441: for (dimension_type j = row_size_i; j-- > 0; ) { 2441: 2441: if (!tx_non_red_i[j]) { 2441: continue; 2441: } 2441: const N& tx_i_j = tx_i[j]; 2441: const dimension_type cj = coherent_index(j); 2441: const N& eps_i_j = (i == cj) ? temp_two : temp_one; 2441: 2441: add_assign_r(lhs_i_j, tx_i_j, eps_i_j, ROUND_NOT_NEEDED); 2441: if (lhs_i_j > ty_i[j]) { 2441: continue; 2441: } 2441: const dimension_type row_size_cj = OR_Matrix::row_size(cj); 2441: row_reference ub_cj = *(ub_m_begin + cj); 2441: const N& ub_cj_j = ub_cj[j]; 2441: for (dimension_type k = 0; k < n_rows; ++k) { 2441: const Bit_Row& ty_non_red_k = ty_non_red[k]; 2441: const dimension_type ck = coherent_index(k); 2441: const dimension_type row_size_k = OR_Matrix::row_size(k); 2441: row_reference tx_k = *(tx_m_begin + k); 2441: row_reference ty_k = *(ty_m_begin + k); 2441: row_reference ub_k = *(ub_m_begin + k); 2441: const N& ub_k_ck = ub_k[ck]; 2441: 2441: 2441: 2441: const N& ub_k_j 2441: = (k == j) 2441: ? temp_zero 2441: : ((j < row_size_k) ? ub_k[j] : ub_cj[ck]); 2441: const N& ub_i_ck 2441: = (i == ck) 2441: ? temp_zero 2441: : ((ck < row_size_i) ? ub_i[ck] : ub_k[ci]); 2441: 2441: for (dimension_type ell = row_size_k; ell-- > 0; ) { 2441: 2441: if (!ty_non_red_k[ell]) { 2441: continue; 2441: } 2441: const N& ty_k_ell = ty_k[ell]; 2441: const dimension_type cell = coherent_index(ell); 2441: const N& eps_k_ell = (k == cell) ? temp_two : temp_one; 2441: 2441: add_assign_r(lhs_k_ell, ty_k_ell, eps_k_ell, ROUND_NOT_NEEDED); 2441: if (lhs_k_ell > tx_k[ell]) { 2441: continue; 2441: } 2441: row_reference ub_cell = *(ub_m_begin + cell); 2441: const N& ub_i_ell 2441: = (i == ell) 2441: ? temp_zero 2441: : ((ell < row_size_i) ? ub_i[ell] : ub_cell[ci]); 2441: const N& ub_cj_ell 2441: = (cj == ell) 2441: ? temp_zero 2441: : ((ell < row_size_cj) ? ub_cj[ell] : ub_cell[j]); 2441: 2441: add_assign_r(lhs, lhs_i_j, lhs_k_ell, ROUND_NOT_NEEDED); 2441: add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_NOT_NEEDED); 2441: if (lhs > rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_NOT_NEEDED); 2441: if (lhs > rhs) { 2441: continue; 2441: } 2441: 2441: assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED); 2441: add_assign_r(lhs, lhs, lhs_i_j, ROUND_NOT_NEEDED); 2441: add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_NOT_NEEDED); 2441: add_assign_r(rhs, rhs, ub_cj_j, ROUND_NOT_NEEDED); 2441: if (lhs > rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_NOT_NEEDED); 2441: add_assign_r(rhs, rhs, ub_i_ci, ROUND_NOT_NEEDED); 2441: if (lhs > rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(lhs, lhs_copy, lhs_k_ell, ROUND_NOT_NEEDED); 2441: add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_NOT_NEEDED); 2441: add_assign_r(rhs, rhs, ub_k_ck, ROUND_NOT_NEEDED); 2441: if (lhs > rhs) { 2441: continue; 2441: } 2441: 2441: add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_NOT_NEEDED); 2441: add_assign_r(rhs, rhs, ub_cell[ell], ROUND_NOT_NEEDED); 2441: if (lhs <= rhs) { 2441: 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: m_swap(ub); 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::drop_some_non_integer_points(Complexity_Class) { 2441: if (std::numeric_limits::is_integer) { 2441: return; 2441: } 2441: 2441: strong_closure_assign(); 2441: if (space_dim == 0 || marked_empty()) { 2441: return; 2441: } 2441: 2441: for (typename OR_Matrix::element_iterator i = matrix.element_begin(), 2441: i_end = matrix.element_end(); i != i_end; ++i) { 2441: drop_some_non_integer_points_helper(*i); 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_one; N& temp_one = holder_temp_one.item(); 2441: assign_r(temp_one, 1, ROUND_NOT_NEEDED); 2441: for (dimension_type i = 0; i < 2*space_dim; i += 2) { 2441: const dimension_type ci = i + 1; 2441: N& mat_i_ci = matrix[i][ci]; 2441: if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci)) { 2441: sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP); 2441: reset_strongly_closed(); 2441: } 2441: N& mat_ci_i = matrix[ci][i]; 2441: if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i)) { 2441: sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP); 2441: reset_strongly_closed(); 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class) { 2441: 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (space_dimension() < min_space_dim) { 2441: throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)", 2441: min_space_dim); 2441: } 2441: 2441: if (std::numeric_limits::is_integer || min_space_dim == 0) { 2441: return; 2441: } 2441: 2441: strong_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_one; N& temp_one = holder_temp_one.item(); 2441: assign_r(temp_one, 1, ROUND_NOT_NEEDED); 2441: 2441: const Variables_Set::const_iterator v_begin = vars.begin(); 2441: const Variables_Set::const_iterator v_end = vars.end(); 2441: ((void) 0); 2441: typedef typename OR_Matrix::row_reference_type row_reference; 2441: for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) { 2441: const dimension_type i = 2 * (*v_i); 2441: const dimension_type ci = i + 1; 2441: row_reference m_i = matrix[i]; 2441: row_reference m_ci = matrix[ci]; 2441: 2441: 2441: N& m_i_ci = m_i[ci]; 2441: if (!is_plus_infinity(m_i_ci)) { 2441: drop_some_non_integer_points_helper(m_i_ci); 2441: if (!is_even(m_i_ci)) { 2441: sub_assign_r(m_i_ci, m_i_ci, temp_one, ROUND_UP); 2441: reset_strongly_closed(); 2441: } 2441: } 2441: N& m_ci_i = m_ci[i]; 2441: if (!is_plus_infinity(m_ci_i)) { 2441: drop_some_non_integer_points_helper(m_ci_i); 2441: if (!is_even(m_ci_i)) { 2441: sub_assign_r(m_ci_i, m_ci_i, temp_one, ROUND_UP); 2441: reset_strongly_closed(); 2441: } 2441: } 2441: 2441: 2441: for (Variables_Set::const_iterator v_j = v_begin; v_j != v_i; ++v_j) { 2441: const dimension_type j = 2 * (*v_j); 2441: const dimension_type cj = j + 1; 2441: drop_some_non_integer_points_helper(m_i[j]); 2441: drop_some_non_integer_points_helper(m_i[cj]); 2441: drop_some_non_integer_points_helper(m_ci[j]); 2441: drop_some_non_integer_points_helper(m_ci[cj]); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Octagonal_Shape 2441: ::export_interval_constraints(U& dest) const { 2441: if (space_dim > dest.space_dimension()) { 2441: throw std::invalid_argument( 2441: "Octagonal_Shape::export_interval_constraints"); 2441: } 2441: 2441: strong_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: dest.set_empty(); 2441: return; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lb; N& lb = holder_lb.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ub; N& ub = holder_ub.item(); 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: const dimension_type ii = 2*i; 2441: const dimension_type cii = ii + 1; 2441: 2441: 2441: const N& twice_ub = matrix[cii][ii]; 2441: if (!is_plus_infinity(twice_ub)) { 2441: assign_r(ub, twice_ub, ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(ub, ub, 1, ROUND_UP); 2441: 2441: if (!dest.restrict_upper(i, ub.raw_value())) { 2441: return; 2441: } 2441: } 2441: 2441: 2441: const N& twice_lb = matrix[ii][cii]; 2441: if (!is_plus_infinity(twice_lb)) { 2441: assign_r(lb, twice_lb, ROUND_NOT_NEEDED); 2441: neg_assign_r(lb, lb, ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(lb, lb, 1, ROUND_DOWN); 2441: 2441: if (!dest.restrict_lower(i, lb.raw_value())) { 2441: return; 2441: } 2441: } 2441: } 2441: 2441: } 2441: 2441: 2441: template 2441: std::ostream& 2441: IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape& oct) { 2441: 2441: if (oct.marked_empty()) { 2441: s << "false"; 2441: return s; 2441: } 2441: if (oct.is_universe()) { 2441: s << "true"; 2441: return s; 2441: } 2441: 2441: typedef typename Octagonal_Shape::coefficient_type N; 2441: typedef typename OR_Matrix::const_row_iterator row_iterator; 2441: typedef typename OR_Matrix::const_row_reference_type row_reference; 2441: 2441: 2441: bool first = true; 2441: 2441: row_iterator m_begin = oct.matrix.row_begin(); 2441: row_iterator m_end = oct.matrix.row_end(); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_negation; N& negation = holder_negation.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_half; N& half = holder_half.item(); 2441: 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; ) { 2441: const dimension_type i = i_iter.index(); 2441: const Variable v_i(i/2); 2441: const N& c_i_ii = (*i_iter)[i + 1]; 2441: ++i_iter; 2441: const N& c_ii_i = (*i_iter)[i]; 2441: ++i_iter; 2441: 2441: if (is_additive_inverse(c_i_ii, c_ii_i)) { 2441: 2441: ((void) 0); 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: 2441: 2441: if (div_2exp_assign_r(half, c_ii_i, 1, 2441: ROUND_UP | ROUND_STRICT_RELATION) 2441: == V_EQ) { 2441: s << v_i << " = " << half; 2441: } 2441: else { 2441: s << "2*" << v_i << " = " << c_ii_i; 2441: } 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(c_i_ii)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: neg_assign_r(negation, c_i_ii, ROUND_NOT_NEEDED); 2441: 2441: 2441: if (div_2exp_assign_r(half, negation, 1, 2441: ROUND_UP | ROUND_STRICT_RELATION) 2441: == V_EQ) { 2441: s << v_i << " >= " << half; 2441: } 2441: else { 2441: s << "2*" << v_i << " >= " << negation; 2441: } 2441: } 2441: if (!is_plus_infinity(c_ii_i)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: 2441: 2441: if (div_2exp_assign_r(half, c_ii_i, 1, 2441: ROUND_UP | ROUND_STRICT_RELATION) 2441: == V_EQ) { 2441: s << v_i << " <= " << half; 2441: } 2441: else { 2441: s << "2*" << v_i << " <= " << c_ii_i; 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: for (row_iterator i_iter = m_begin; i_iter != m_end; ) { 2441: const dimension_type i = i_iter.index(); 2441: const Variable v_i(i/2); 2441: row_reference r_i = *i_iter; 2441: ++i_iter; 2441: row_reference r_ii = *i_iter; 2441: ++i_iter; 2441: 2441: for (dimension_type j = 0; j < i; j += 2) { 2441: const Variable v_j(j/2); 2441: 2441: const N& c_ii_jj = r_ii[j + 1]; 2441: const N& c_i_j = r_i[j]; 2441: 2441: if (is_additive_inverse(c_ii_jj, c_i_j)) { 2441: 2441: ((void) 0); 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: if (sgn(c_i_j) >= 0) { 2441: s << v_j << " - " << v_i << " = " << c_i_j; 2441: } 2441: else { 2441: s << v_i << " - " << v_j << " = " << c_ii_jj; 2441: } 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(c_i_j)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: if (sgn(c_i_j) >= 0) { 2441: s << v_j << " - " << v_i << " <= " << c_i_j; 2441: } 2441: else { 2441: neg_assign_r(negation, c_i_j, ROUND_DOWN); 2441: s << v_i << " - " << v_j << " >= " << negation; 2441: } 2441: } 2441: if (!is_plus_infinity(c_ii_jj)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: if (sgn(c_ii_jj) >= 0) { 2441: s << v_i << " - " << v_j << " <= " << c_ii_jj; 2441: } 2441: else { 2441: neg_assign_r(negation, c_ii_jj, ROUND_DOWN); 2441: s << v_j << " - " << v_i << " >= " << negation; 2441: } 2441: } 2441: } 2441: 2441: const N& c_i_jj = r_i[j + 1]; 2441: const N& c_ii_j = r_ii[j]; 2441: 2441: if (is_additive_inverse(c_i_jj, c_ii_j)) { 2441: 2441: ((void) 0); 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: s << v_j << " + " << v_i << " = " << c_ii_j; 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(c_i_jj)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: neg_assign_r(negation, c_i_jj, ROUND_DOWN); 2441: s << v_j << " + " << v_i << " >= " << negation; 2441: } 2441: if (!is_plus_infinity(c_ii_j)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: s << v_j << " + " << v_i << " <= " << c_ii_j; 2441: } 2441: } 2441: } 2441: } 2441: return s; 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::ascii_dump(std::ostream& s) const { 2441: s << "space_dim " 2441: << space_dim 2441: << "\n"; 2441: status.ascii_dump(s); 2441: s << "\n"; 2441: matrix.ascii_dump(s); 2441: } 2441: 2441: template void Octagonal_Shape::ascii_dump() const { ascii_dump(std::cerr); } template void Octagonal_Shape::print() const { using IO_Operators::operator<<; std::cerr << *this; } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::ascii_load(std::istream& s) { 2441: std::string str; 2441: 2441: if (!(s >> str) || str != "space_dim") { 2441: return false; 2441: } 2441: 2441: if (!(s >> space_dim)) { 2441: return false; 2441: } 2441: 2441: if (!status.ascii_load(s)) { 2441: return false; 2441: } 2441: 2441: if (!matrix.ascii_load(s)) { 2441: return false; 2441: } 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: memory_size_type 2441: Octagonal_Shape::external_memory_in_bytes() const { 2441: return matrix.external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: bool 2441: Octagonal_Shape::OK() const { 2441: 2441: if (!matrix.OK()) { 2441: return false; 2441: } 2441: 2441: 2441: if (!status.OK()) { 2441: return false; 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: 2441: 2441: if (space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: for (typename OR_Matrix::const_row_iterator i = matrix.row_begin(), 2441: matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) { 2441: typename OR_Matrix::const_row_reference_type x_i = *i; 2441: for (dimension_type j = i.row_size(); j-- > 0; ) { 2441: if (is_minus_infinity(x_i[j])) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: 2441: 2441: for (typename OR_Matrix::const_row_iterator i = matrix.row_begin(), 2441: m_end = matrix.row_end(); i != m_end; ++i) { 2441: typename OR_Matrix::const_row_reference_type r = *i; 2441: const N& m_i_i = r[i.index()]; 2441: if (!is_plus_infinity(m_i_i)) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: if (std::numeric_limits::is_exact) { 2441: 2441: 2441: if (marked_strongly_closed()) { 2441: Octagonal_Shape x = *this; 2441: x.reset_strongly_closed(); 2441: x.strong_closure_assign(); 2441: if (x.matrix != matrix) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: if (marked_strongly_closed()) { 2441: if (!is_strong_coherent()) { 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::throw_dimension_incompatible(const char* method, 2441: const Octagonal_Shape& y) const { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", y->space_dimension() == " << y.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::throw_dimension_incompatible(const char* method, 2441: dimension_type required_dim) const { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", required dimension == " << required_dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::throw_dimension_incompatible(const char* method, 2441: const Constraint& c) const { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", c->space_dimension == " << c.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::throw_dimension_incompatible(const char* method, 2441: const Congruence& cg) const { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", cg->space_dimension == " << cg.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::throw_dimension_incompatible(const char* method, 2441: const Generator& g) const { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", g->space_dimension == " << g.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::throw_constraint_incompatible(const char* method) { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "the constraint is incompatible."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::throw_expression_too_complex(const char* method, 2441: const Linear_Expression& le) { 2441: using namespace IO_Operators; 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << le << " is too complex."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape 2441: ::throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", " << le_name << "->space_dimension() == " 2441: << le.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Octagonal_Shape 2441: ::throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form& lf) const { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", " << lf_name << "->space_dimension() == " 2441: << lf.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Octagonal_Shape::throw_invalid_argument(const char* method, 2441: const char* reason) { 2441: std::ostringstream s; 2441: s << "PPL::Octagonal_Shape::" << method << ":\n" 2441: << reason << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: } 2441: # 2329 "../../src/Octagonal_Shape_defs.hh" 2 2441: # 32 "../../src/BD_Shape_inlines.hh" 2 2441: # 42 "../../src/BD_Shape_inlines.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline dimension_type 2441: BD_Shape::max_space_dimension() { 2441: 2441: 2441: return std::min(DB_Matrix::max_num_rows() - 1, 2441: DB_Matrix::max_num_columns() - 1); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::marked_zero_dim_univ() const { 2441: return status.test_zero_dim_univ(); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::marked_empty() const { 2441: return status.test_empty(); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::marked_shortest_path_closed() const { 2441: return status.test_shortest_path_closed(); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::marked_shortest_path_reduced() const { 2441: return status.test_shortest_path_reduced(); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::set_zero_dim_univ() { 2441: status.set_zero_dim_univ(); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::set_empty() { 2441: status.set_empty(); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::set_shortest_path_closed() { 2441: status.set_shortest_path_closed(); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::set_shortest_path_reduced() { 2441: status.set_shortest_path_reduced(); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::reset_shortest_path_closed() { 2441: status.reset_shortest_path_closed(); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::reset_shortest_path_reduced() { 2441: status.reset_shortest_path_reduced(); 2441: } 2441: 2441: template 2441: inline 2441: BD_Shape::BD_Shape(const dimension_type num_dimensions, 2441: const Degenerate_Element kind) 2441: : dbm(num_dimensions + 1), status(), redundancy_dbm() { 2441: if (kind == EMPTY) { 2441: set_empty(); 2441: } 2441: else { 2441: if (num_dimensions > 0) { 2441: 2441: set_shortest_path_closed(); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: BD_Shape::BD_Shape(const BD_Shape& y, Complexity_Class) 2441: : dbm(y.dbm), status(y.status), redundancy_dbm() { 2441: if (y.marked_shortest_path_reduced()) { 2441: redundancy_dbm = y.redundancy_dbm; 2441: } 2441: } 2441: 2441: template 2441: template 2441: inline 2441: BD_Shape::BD_Shape(const BD_Shape& y, Complexity_Class) 2441: 2441: 2441: : dbm((y.shortest_path_closure_assign(), y.dbm)), 2441: status(), 2441: redundancy_dbm() { 2441: 2441: if (y.marked_empty()) { 2441: set_empty(); 2441: } 2441: else if (y.marked_zero_dim_univ()) { 2441: set_zero_dim_univ(); 2441: } 2441: } 2441: 2441: template 2441: inline Congruence_System 2441: BD_Shape::congruences() const { 2441: return minimized_congruences(); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::add_constraints(const Constraint_System& cs) { 2441: for (Constraint_System::const_iterator i = cs.begin(), 2441: cs_end = cs.end(); i != cs_end; ++i) { 2441: add_constraint(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::add_recycled_constraints(Constraint_System& cs) { 2441: add_constraints(cs); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::add_congruences(const Congruence_System& cgs) { 2441: for (Congruence_System::const_iterator i = cgs.begin(), 2441: cgs_end = cgs.end(); i != cgs_end; ++i) { 2441: add_congruence(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::add_recycled_congruences(Congruence_System& cgs) { 2441: add_congruences(cgs); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::refine_with_constraint(const Constraint& c) { 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: 2441: if (c_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_constraint(c)", c); 2441: } 2441: 2441: if (!marked_empty()) { 2441: refine_no_check(c); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::refine_with_constraints(const Constraint_System& cs) { 2441: 2441: if (cs.space_dimension() > space_dimension()) { 2441: throw_invalid_argument("refine_with_constraints(cs)", 2441: "cs and *this are space-dimension incompatible"); 2441: } 2441: 2441: for (Constraint_System::const_iterator i = cs.begin(), 2441: cs_end = cs.end(); !marked_empty() && i != cs_end; ++i) { 2441: refine_no_check(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::refine_with_congruence(const Congruence& cg) { 2441: const dimension_type cg_space_dim = cg.space_dimension(); 2441: 2441: if (cg_space_dim > space_dimension()) { 2441: throw_dimension_incompatible("refine_with_congruence(cg)", cg); 2441: } 2441: 2441: if (!marked_empty()) { 2441: refine_no_check(cg); 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::refine_with_congruences(const Congruence_System& cgs) { 2441: 2441: if (cgs.space_dimension() > space_dimension()) { 2441: throw_invalid_argument("refine_with_congruences(cgs)", 2441: "cgs and *this are space-dimension incompatible"); 2441: } 2441: 2441: for (Congruence_System::const_iterator i = cgs.begin(), 2441: cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i) { 2441: refine_no_check(*i); 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::refine_no_check(const Congruence& cg) { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: if (cg.is_proper_congruence()) { 2441: if (cg.is_inconsistent()) { 2441: set_empty(); 2441: } 2441: 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: Constraint c(cg); 2441: refine_no_check(c); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::can_recycle_constraint_systems() { 2441: return false; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: BD_Shape::can_recycle_congruence_systems() { 2441: return false; 2441: } 2441: 2441: template 2441: inline 2441: BD_Shape::BD_Shape(const Constraint_System& cs) 2441: : dbm(cs.space_dimension() + 1), status(), redundancy_dbm() { 2441: if (cs.space_dimension() > 0) { 2441: 2441: set_shortest_path_closed(); 2441: } 2441: add_constraints(cs); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: BD_Shape::BD_Shape(const Box& box, 2441: Complexity_Class) 2441: : dbm(box.space_dimension() + 1), status(), redundancy_dbm() { 2441: 2441: if (box.is_empty()) { 2441: set_empty(); 2441: } 2441: else if (box.space_dimension() > 0) { 2441: 2441: set_shortest_path_closed(); 2441: refine_with_constraints(box.constraints()); 2441: } 2441: } 2441: 2441: template 2441: inline 2441: BD_Shape::BD_Shape(const Grid& grid, 2441: Complexity_Class) 2441: : dbm(grid.space_dimension() + 1), status(), redundancy_dbm() { 2441: if (grid.space_dimension() > 0) { 2441: 2441: set_shortest_path_closed(); 2441: } 2441: 2441: refine_with_congruences(grid.minimized_congruences()); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: BD_Shape::BD_Shape(const Octagonal_Shape& os, 2441: Complexity_Class) 2441: : dbm(os.space_dimension() + 1), status(), redundancy_dbm() { 2441: 2441: if (os.is_empty()) { 2441: set_empty(); 2441: } 2441: else if (os.space_dimension() > 0) { 2441: 2441: set_shortest_path_closed(); 2441: refine_with_constraints(os.constraints()); 2441: 2441: 2441: 2441: } 2441: } 2441: 2441: template 2441: inline BD_Shape& 2441: BD_Shape::operator=(const BD_Shape& y) { 2441: dbm = y.dbm; 2441: status = y.status; 2441: if (y.marked_shortest_path_reduced()) { 2441: redundancy_dbm = y.redundancy_dbm; 2441: } 2441: return *this; 2441: } 2441: 2441: template 2441: inline 2441: BD_Shape::~BD_Shape() { 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::m_swap(BD_Shape& y) { 2441: using std::swap; 2441: swap(dbm, y.dbm); 2441: swap(status, y.status); 2441: swap(redundancy_dbm, y.redundancy_dbm); 2441: } 2441: 2441: template 2441: inline dimension_type 2441: BD_Shape::space_dimension() const { 2441: return dbm.num_rows() - 1; 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::is_empty() const { 2441: shortest_path_closure_assign(); 2441: return marked_empty(); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::bounds_from_above(const Linear_Expression& expr) const { 2441: return bounds(expr, true); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::bounds_from_below(const Linear_Expression& expr) const { 2441: return bounds(expr, false); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, 2441: bool& maximum) const { 2441: return max_min(expr, true, sup_n, sup_d, maximum); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::maximize(const Linear_Expression& expr, 2441: Coefficient& sup_n, Coefficient& sup_d, bool& maximum, 2441: Generator& g) const { 2441: return max_min(expr, true, sup_n, sup_d, maximum, g); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, 2441: bool& minimum) const { 2441: return max_min(expr, false, inf_n, inf_d, minimum); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::minimize(const Linear_Expression& expr, 2441: Coefficient& inf_n, Coefficient& inf_d, bool& minimum, 2441: Generator& g) const { 2441: return max_min(expr, false, inf_n, inf_d, minimum, g); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::is_topologically_closed() const { 2441: return true; 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::is_discrete() const { 2441: return affine_dimension() == 0; 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::topological_closure_assign() { 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const BD_Shape& x, const BD_Shape& y) { 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: return false; 2441: } 2441: 2441: 2441: if (x_space_dim == 0) { 2441: if (x.marked_empty()) { 2441: return y.marked_empty(); 2441: } 2441: else { 2441: return !y.marked_empty(); 2441: } 2441: } 2441: 2441: 2441: x.shortest_path_closure_assign(); 2441: y.shortest_path_closure_assign(); 2441: 2441: 2441: 2441: if (x.marked_empty()) { 2441: return y.marked_empty(); 2441: } 2441: if (y.marked_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: return x.dbm == y.dbm; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator!=(const BD_Shape& x, const BD_Shape& y) { 2441: return !(x == y); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: return false; 2441: } 2441: 2441: 2441: if (x_space_dim == 0) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: x.shortest_path_closure_assign(); 2441: y.shortest_path_closure_assign(); 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: return rectilinear_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: rectilinear_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir) { 2441: return rectilinear_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: return false; 2441: } 2441: 2441: 2441: if (x_space_dim == 0) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: x.shortest_path_closure_assign(); 2441: y.shortest_path_closure_assign(); 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: return euclidean_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: euclidean_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir) { 2441: return euclidean_distance_assign(r, x, y, dir); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, 2441: Temp& tmp1, 2441: Temp& tmp2) { 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: return false; 2441: } 2441: 2441: if (x_space_dim == 0) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: x.shortest_path_closure_assign(); 2441: y.shortest_path_closure_assign(); 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: return l_infinity_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir) { 2441: typedef Checked_Number Checked_Temp; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp0; Checked_Temp& tmp0 = holder_tmp0.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp1; Checked_Temp& tmp1 = holder_tmp1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp2; Checked_Temp& tmp2 = holder_tmp2.item(); 2441: return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2); 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: l_infinity_distance_assign(Checked_Number& r, 2441: const BD_Shape& x, 2441: const BD_Shape& y, 2441: const Rounding_Dir dir) { 2441: return l_infinity_distance_assign(r, x, y, dir); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::add_dbm_constraint(const dimension_type i, 2441: const dimension_type j, 2441: const N& k) { 2441: 2441: ((void) 0); 2441: N& dbm_ij = dbm[i][j]; 2441: if (dbm_ij > k) { 2441: dbm_ij = k; 2441: if (marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: } 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::add_dbm_constraint(const dimension_type i, 2441: const dimension_type j, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom) { 2441: 2441: ((void) 0); 2441: ((void) 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_k; N& k = holder_k.item(); 2441: div_round_up(k, numer, denom); 2441: add_dbm_constraint(i, j, k); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::time_elapse_assign(const BD_Shape& y) { 2441: 2441: if (space_dimension() != y.space_dimension()) { 2441: throw_dimension_incompatible("time_elapse_assign(y)", y); 2441: } 2441: 2441: 2441: C_Polyhedron ph_x(constraints()); 2441: C_Polyhedron ph_y(y.constraints()); 2441: ph_x.time_elapse_assign(ph_y); 2441: BD_Shape x(ph_x); 2441: m_swap(x); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::strictly_contains(const BD_Shape& y) const { 2441: const BD_Shape& x = *this; 2441: return x.contains(y) && !y.contains(x); 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::upper_bound_assign_if_exact(const BD_Shape& y) { 2441: if (space_dimension() != y.space_dimension()) { 2441: throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y); 2441: } 2441: 2441: 2441: 2441: const bool integer_upper_bound = false; 2441: return BHZ09_upper_bound_assign_if_exact(y); 2441: 2441: } 2441: 2441: template 2441: inline bool 2441: BD_Shape::integer_upper_bound_assign_if_exact(const BD_Shape& y) { 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_769 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(std::numeric_limits::is_integer)>) } 2441: 2441: ; 2441: if (space_dimension() != y.space_dimension()) { 2441: throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y); 2441: } 2441: const bool integer_upper_bound = true; 2441: return BHZ09_upper_bound_assign_if_exact(y); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape 2441: ::remove_higher_space_dimensions(const dimension_type new_dimension) { 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: if (new_dimension > space_dim) { 2441: throw_dimension_incompatible("remove_higher_space_dimensions(nd)", 2441: new_dimension); 2441: } 2441: 2441: 2441: 2441: 2441: if (new_dimension == space_dim) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: dbm.resize_no_copy(new_dimension + 1); 2441: 2441: 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: 2441: 2441: if (new_dimension == 0 && !marked_empty()) { 2441: set_zero_dim_univ(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p, 2441: unsigned complexity_threshold, 2441: bool wrap_individually) { 2441: Implementation::wrap_assign(*this, 2441: vars, w, r, o, cs_p, 2441: complexity_threshold, wrap_individually, 2441: "BD_Shape"); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::CC76_extrapolation_assign(const BD_Shape& y, unsigned* tp) { 2441: static N stop_points[] = { 2441: N(-2, ROUND_UP), 2441: N(-1, ROUND_UP), 2441: N( 0, ROUND_UP), 2441: N( 1, ROUND_UP), 2441: N( 2, ROUND_UP) 2441: }; 2441: CC76_extrapolation_assign(y, 2441: stop_points, 2441: stop_points 2441: + sizeof(stop_points)/sizeof(stop_points[0]), 2441: tp); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::H79_widening_assign(const BD_Shape& y, unsigned* tp) { 2441: 2441: 2441: C_Polyhedron ph_x(constraints()); 2441: C_Polyhedron ph_y(y.constraints()); 2441: ph_x.H79_widening_assign(ph_y, tp); 2441: BD_Shape x(ph_x); 2441: m_swap(x); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::widening_assign(const BD_Shape& y, unsigned* tp) { 2441: H79_widening_assign(y, tp); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::limited_H79_extrapolation_assign(const BD_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp) { 2441: 2441: 2441: C_Polyhedron ph_x(constraints()); 2441: C_Polyhedron ph_y(y.constraints()); 2441: ph_x.limited_H79_extrapolation_assign(ph_y, cs, tp); 2441: BD_Shape x(ph_x); 2441: m_swap(x); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: BD_Shape::total_memory_in_bytes() const { 2441: return sizeof(*this) + external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: inline int32_t 2441: BD_Shape::hash_code() const { 2441: return hash_code_from_dimension(space_dimension()); 2441: } 2441: 2441: template 2441: template 2441: inline void 2441: BD_Shape::generalized_refine_with_linear_form_inequality( 2441: const Linear_Form >& left, 2441: const Linear_Form >& right, 2441: const Relation_Symbol relsym) { 2441: switch (relsym) { 2441: case EQUAL: 2441: 2441: refine_with_linear_form_inequality(left, right); 2441: refine_with_linear_form_inequality(right, left); 2441: break; 2441: case LESS_THAN: 2441: case LESS_OR_EQUAL: 2441: refine_with_linear_form_inequality(left, right); 2441: break; 2441: case GREATER_THAN: 2441: case GREATER_OR_EQUAL: 2441: refine_with_linear_form_inequality(right, left); 2441: break; 2441: case NOT_EQUAL: 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: } 2441: } 2441: 2441: template 2441: template 2441: inline void 2441: BD_Shape 2441: ::refine_fp_interval_abstract_store(Box >& 2441: store) const { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_931 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: typedef Interval FP_Interval_Type; 2441: store.intersection_assign(Box(*this)); 2441: } 2441: 2441: template 2441: inline void 2441: BD_Shape::drop_some_non_integer_points_helper(N& elem) { 2441: if (!is_integer(elem)) { 2441: Result r = floor_assign_r(elem, elem, ROUND_DOWN); 2441: (void)(r); 2441: ((void) 0); 2441: reset_shortest_path_closed(); 2441: } 2441: } 2441: 2441: 2441: template 2441: inline void 2441: swap(BD_Shape& x, BD_Shape& y) { 2441: x.m_swap(y); 2441: } 2441: 2441: } 2441: # 2372 "../../src/BD_Shape_defs.hh" 2 2441: # 1 "../../src/BD_Shape_templates.hh" 1 2441: # 47 "../../src/BD_Shape_templates.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: BD_Shape::BD_Shape(const Congruence_System& cgs) 2441: : dbm(cgs.space_dimension() + 1), 2441: status(), 2441: redundancy_dbm() { 2441: add_congruences(cgs); 2441: } 2441: 2441: template 2441: BD_Shape::BD_Shape(const Generator_System& gs) 2441: : dbm(gs.space_dimension() + 1), status(), redundancy_dbm() { 2441: const Generator_System::const_iterator gs_begin = gs.begin(); 2441: const Generator_System::const_iterator gs_end = gs.end(); 2441: if (gs_begin == gs_end) { 2441: 2441: set_empty(); 2441: return; 2441: } 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: DB_Row& dbm_0 = dbm[0]; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: 2441: bool dbm_initialized = false; 2441: bool point_seen = false; 2441: 2441: for (Generator_System::const_iterator gs_i = gs_begin; 2441: gs_i != gs_end; ++gs_i) { 2441: const Generator& g = *gs_i; 2441: switch (g.type()) { 2441: case Generator::POINT: 2441: point_seen = true; 2441: 2441: case Generator::CLOSURE_POINT: 2441: if (!dbm_initialized) { 2441: 2441: dbm_initialized = true; 2441: const Coefficient& d = g.divisor(); 2441: 2441: 2441: for (dimension_type i = space_dim; i > 0; --i) { 2441: const Coefficient& g_i = g.expression().get(Variable(i - 1)); 2441: DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = space_dim; j > 0; --j) { 2441: if (i != j) { 2441: const Coefficient& g_j = g.expression().get(Variable(j - 1)); 2441: div_round_up(dbm_i[j], g_j - g_i, d); 2441: } 2441: } 2441: div_round_up(dbm_i[0], -g_i, d); 2441: } 2441: for (dimension_type j = space_dim; j > 0; --j) { 2441: const Coefficient& g_j = g.expression().get(Variable(j - 1)); 2441: div_round_up(dbm_0[j], g_j, d); 2441: } 2441: 2441: } 2441: else { 2441: 2441: 2441: const Coefficient& d = g.divisor(); 2441: 2441: 2441: for (dimension_type i = space_dim; i > 0; --i) { 2441: const Coefficient& g_i = g.expression().get(Variable(i - 1)); 2441: DB_Row& dbm_i = dbm[i]; 2441: 2441: for (dimension_type j = space_dim; j > 0; --j) { 2441: const Coefficient& g_j = g.expression().get(Variable(j - 1)); 2441: div_round_up(tmp, g_j - g_i, d); 2441: max_assign(dbm_i[j], tmp); 2441: } 2441: div_round_up(tmp, -g_i, d); 2441: max_assign(dbm_i[0], tmp); 2441: } 2441: for (dimension_type j = space_dim; j > 0; --j) { 2441: const Coefficient& g_j = g.expression().get(Variable(j - 1)); 2441: div_round_up(tmp, g_j, d); 2441: max_assign(dbm_0[j], tmp); 2441: } 2441: } 2441: break; 2441: default: 2441: 2441: break; 2441: } 2441: } 2441: 2441: if (!point_seen) { 2441: 2441: throw_invalid_argument("BD_Shape(gs)", 2441: "the non-empty generator system gs " 2441: "contains no points."); 2441: } 2441: 2441: 2441: for (Generator_System::const_iterator gs_i = gs_begin; 2441: gs_i != gs_end; ++gs_i) { 2441: const Generator& g = *gs_i; 2441: switch (g.type()) { 2441: case Generator::LINE: 2441: 2441: 2441: for (dimension_type i = space_dim; i > 0; --i) { 2441: const Coefficient& g_i = g.expression().get(Variable(i - 1)); 2441: DB_Row& dbm_i = dbm[i]; 2441: 2441: for (dimension_type j = space_dim; j > 0; --j) { 2441: if (g_i != g.expression().get(Variable(j - 1))) { 2441: assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: if (g_i != 0) { 2441: assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: for (Generator::expr_type::const_iterator i = g.expression().begin(), 2441: i_end = g.expression().end(); i != i_end; ++i) { 2441: assign_r(dbm_0[i.variable().space_dimension()], 2441: PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: break; 2441: case Generator::RAY: 2441: 2441: 2441: for (dimension_type i = space_dim; i > 0; --i) { 2441: const Coefficient& g_i = g.expression().get(Variable(i - 1)); 2441: DB_Row& dbm_i = dbm[i]; 2441: 2441: for (dimension_type j = space_dim; j > 0; --j) { 2441: if (g_i < g.expression().get(Variable(j - 1))) { 2441: assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: if (g_i < 0) { 2441: assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: for (Generator::expr_type::const_iterator i = g.expression().begin(), 2441: i_end = g.expression().end(); i != i_end; ++i) { 2441: if (*i > 0) { 2441: assign_r(dbm_0[i.variable().space_dimension()], 2441: PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: break; 2441: default: 2441: 2441: break; 2441: } 2441: } 2441: set_shortest_path_closed(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: BD_Shape::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity) 2441: : dbm(), status(), redundancy_dbm() { 2441: const dimension_type num_dimensions = ph.space_dimension(); 2441: 2441: if (ph.marked_empty()) { 2441: *this = BD_Shape(num_dimensions, EMPTY); 2441: return; 2441: } 2441: 2441: if (num_dimensions == 0) { 2441: *this = BD_Shape(num_dimensions, UNIVERSE); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (complexity == ANY_COMPLEXITY 2441: || (!ph.has_pending_constraints() && ph.generators_are_up_to_date())) { 2441: *this = BD_Shape(ph.generators()); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: ((void) 0); 2441: 2441: if (!ph.has_something_pending() && ph.constraints_are_minimized()) { 2441: 2441: 2441: if (ph.is_universe()) { 2441: *this = BD_Shape(num_dimensions, UNIVERSE); 2441: return; 2441: } 2441: } 2441: 2441: 2441: for (Constraint_System::const_iterator i = ph.con_sys.begin(), 2441: cs_end = ph.con_sys.end(); i != cs_end; ++i) { 2441: if (i->is_inconsistent()) { 2441: *this = BD_Shape(num_dimensions, EMPTY); 2441: return; 2441: } 2441: } 2441: 2441: 2441: 2441: if (complexity == SIMPLEX_COMPLEXITY) { 2441: MIP_Problem lp(num_dimensions); 2441: lp.set_optimization_mode(MAXIMIZATION); 2441: 2441: const Constraint_System& ph_cs = ph.constraints(); 2441: if (!ph_cs.has_strict_inequalities()) { 2441: lp.add_constraints(ph_cs); 2441: } 2441: else { 2441: 2441: for (Constraint_System::const_iterator i = ph_cs.begin(), 2441: ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) { 2441: const Constraint& c = *i; 2441: if (c.is_strict_inequality()) { 2441: Linear_Expression expr(c.expression()); 2441: lp.add_constraint(expr >= 0); 2441: } 2441: else { 2441: lp.add_constraint(c); 2441: } 2441: } 2441: } 2441: 2441: 2441: if (!lp.is_satisfiable()) { 2441: *this = BD_Shape(num_dimensions, EMPTY); 2441: return; 2441: } 2441: 2441: 2441: *this = BD_Shape(num_dimensions, UNIVERSE); 2441: 2441: Generator g(point()); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: for (dimension_type i = 1; i <= num_dimensions; ++i) { 2441: Variable x(i-1); 2441: 2441: lp.set_objective_function(x); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: div_round_up(dbm[0][i], numer, denom); 2441: } 2441: 2441: for (dimension_type j = 1; j <= num_dimensions; ++j) { 2441: if (i == j) { 2441: continue; 2441: } 2441: Variable y(j-1); 2441: lp.set_objective_function(x - y); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: div_round_up(dbm[j][i], numer, denom); 2441: } 2441: } 2441: 2441: lp.set_objective_function(-x); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, numer, denom); 2441: div_round_up(dbm[i][0], numer, denom); 2441: } 2441: } 2441: set_shortest_path_closed(); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: *this = BD_Shape(num_dimensions, UNIVERSE); 2441: refine_with_constraints(ph.constraints()); 2441: } 2441: 2441: template 2441: dimension_type 2441: BD_Shape::affine_dimension() const { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (space_dim == 0) { 2441: return 0; 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return 0; 2441: } 2441: 2441: 2441: 2441: std::vector predecessor; 2441: compute_predecessors(predecessor); 2441: 2441: 2441: 2441: dimension_type affine_dim = 0; 2441: 2441: for (dimension_type i = 1; i <= space_dim; ++i) { 2441: if (predecessor[i] == i) { 2441: ++affine_dim; 2441: } 2441: } 2441: return affine_dim; 2441: } 2441: 2441: template 2441: Congruence_System 2441: BD_Shape::minimized_congruences() const { 2441: 2441: 2441: shortest_path_closure_assign(); 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: Congruence_System cgs(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cgs = Congruence_System::zero_dim_empty(); 2441: } 2441: return cgs; 2441: } 2441: 2441: if (marked_empty()) { 2441: cgs.insert(Congruence::zero_dim_false()); 2441: return cgs; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: 2441: 2441: std::vector leaders; 2441: compute_leaders(leaders); 2441: 2441: 2441: const DB_Row& dbm_0 = dbm[0]; 2441: for (dimension_type i = 1; i <= space_dim; ++i) { 2441: const dimension_type leader = leaders[i]; 2441: if (i != leader) { 2441: 2441: if (leader == 0) { 2441: 2441: ((void) 0); 2441: numer_denom(dbm_0[i], numer, denom); 2441: cgs.insert(denom*Variable(i-1) == numer); 2441: } 2441: else { 2441: 2441: ((void) 0); 2441: numer_denom(dbm[i][leader], numer, denom); 2441: cgs.insert(denom*Variable(leader-1) - denom*Variable(i-1) == numer); 2441: } 2441: } 2441: } 2441: return cgs; 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::add_constraint(const Constraint& c) { 2441: 2441: if (c.space_dimension() > space_dimension()) { 2441: throw_dimension_incompatible("add_constraint(c)", c); 2441: } 2441: 2441: if (c.is_strict_inequality()) { 2441: if (c.is_inconsistent()) { 2441: set_empty(); 2441: return; 2441: } 2441: if (c.is_tautological()) { 2441: return; 2441: } 2441: 2441: throw_invalid_argument("add_constraint(c)", 2441: "strict inequalities are not allowed"); 2441: } 2441: 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: 2441: if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) { 2441: throw_invalid_argument("add_constraint(c)", 2441: "c is not a bounded difference constraint"); 2441: } 2441: const Coefficient& inhomo = c.inhomogeneous_term(); 2441: if (num_vars == 0) { 2441: 2441: if (inhomo < 0 2441: || (inhomo != 0 && c.is_equality())) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: 2441: 2441: const bool negative = (coeff < 0); 2441: if (negative) { 2441: neg_assign(coeff); 2441: } 2441: bool changed = false; 2441: N& x = negative ? dbm[i][j] : dbm[j][i]; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, inhomo, coeff); 2441: if (x > d) { 2441: x = d; 2441: changed = true; 2441: } 2441: 2441: if (c.is_equality()) { 2441: N& y = negative ? dbm[j][i] : dbm[i][j]; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_c_term; Parma_Polyhedra_Library::Coefficient& minus_c_term = holder_minus_c_term.item(); 2441: neg_assign(minus_c_term, inhomo); 2441: div_round_up(d, minus_c_term, coeff); 2441: if (y > d) { 2441: y = d; 2441: changed = true; 2441: } 2441: } 2441: 2441: 2441: 2441: if (changed && marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::add_congruence(const Congruence& cg) { 2441: const dimension_type cg_space_dim = cg.space_dimension(); 2441: 2441: 2441: if (space_dimension() < cg_space_dim) { 2441: throw_dimension_incompatible("add_congruence(cg)", cg); 2441: } 2441: 2441: if (cg.is_proper_congruence()) { 2441: if (cg.is_tautological()) { 2441: return; 2441: } 2441: if (cg.is_inconsistent()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: throw_invalid_argument("add_congruence(cg)", 2441: "cg is a non-trivial, proper congruence"); 2441: } 2441: 2441: ((void) 0); 2441: Constraint c(cg); 2441: add_constraint(c); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::refine_no_check(const Constraint& c) { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: 2441: if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) { 2441: return; 2441: } 2441: const Coefficient& inhomo = c.inhomogeneous_term(); 2441: if (num_vars == 0) { 2441: 2441: if (inhomo < 0 2441: || (c.is_equality() && inhomo != 0) 2441: || (c.is_strict_inequality() && inhomo == 0)) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: 2441: 2441: const bool negative = (coeff < 0); 2441: N& x = negative ? dbm[i][j] : dbm[j][i]; 2441: N& y = negative ? dbm[j][i] : dbm[i][j]; 2441: if (negative) { 2441: neg_assign(coeff); 2441: } 2441: bool changed = false; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, inhomo, coeff); 2441: if (x > d) { 2441: x = d; 2441: changed = true; 2441: } 2441: 2441: if (c.is_equality()) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_c_term; Parma_Polyhedra_Library::Coefficient& minus_c_term = holder_minus_c_term.item(); 2441: neg_assign(minus_c_term, inhomo); 2441: div_round_up(d, minus_c_term, coeff); 2441: if (y > d) { 2441: y = d; 2441: changed = true; 2441: } 2441: } 2441: 2441: 2441: 2441: if (changed && marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::concatenate_assign(const BD_Shape& y) { 2441: BD_Shape& x = *this; 2441: 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: const dimension_type y_space_dim = y.space_dimension(); 2441: 2441: 2441: 2441: if (y_space_dim == 0 && y.marked_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (x_space_dim == 0 && marked_empty()) { 2441: dbm.grow(y_space_dim + 1); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: add_space_dimensions_and_embed(y_space_dim); 2441: const dimension_type new_space_dim = x_space_dim + y_space_dim; 2441: for (dimension_type i = x_space_dim + 1; i <= new_space_dim; ++i) { 2441: DB_Row& dbm_i = dbm[i]; 2441: dbm_i[0] = y.dbm[i - x_space_dim][0]; 2441: dbm[0][i] = y.dbm[0][i - x_space_dim]; 2441: for (dimension_type j = x_space_dim + 1; j <= new_space_dim; ++j) { 2441: dbm_i[j] = y.dbm[i - x_space_dim][j - x_space_dim]; 2441: } 2441: } 2441: 2441: if (marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::contains(const BD_Shape& y) const { 2441: const BD_Shape& x = *this; 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("contains(y)", y); 2441: } 2441: if (x_space_dim == 0) { 2441: 2441: 2441: 2441: 2441: return marked_empty() ? y.marked_empty() : true; 2441: } 2441: # 663 "../../src/BD_Shape_templates.hh" 2441: y.shortest_path_closure_assign(); 2441: 2441: if (y.marked_empty()) { 2441: return true; 2441: } 2441: 2441: if (x.is_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: for (dimension_type i = x_space_dim + 1; i-- > 0; ) { 2441: const DB_Row& x_dbm_i = x.dbm[i]; 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: for (dimension_type j = x_space_dim + 1; j-- > 0; ) { 2441: if (x_dbm_i[j] < y_dbm_i[j]) { 2441: return false; 2441: } 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::is_disjoint_from(const BD_Shape& y) const { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("is_disjoint_from(y)", y); 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: y.shortest_path_closure_assign(); 2441: if (y.marked_empty()) { 2441: return true; 2441: } 2441: # 716 "../../src/BD_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: for (dimension_type i = space_dim+1; i-- > 0; ) { 2441: const DB_Row& x_i = dbm[i]; 2441: for (dimension_type j = space_dim+1; j-- > 0; ) { 2441: neg_assign_r(tmp, y.dbm[j][i], ROUND_UP); 2441: if (x_i[j] < tmp) { 2441: return true; 2441: } 2441: } 2441: } 2441: 2441: return false; 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::is_universe() const { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: const DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: if (!is_plus_infinity(dbm_i[j])) { 2441: return false; 2441: } 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::is_bounded() const { 2441: shortest_path_closure_assign(); 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (marked_empty() || space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: const DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: if (i != j) { 2441: if (is_plus_infinity(dbm_i[j])) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::contains_integer_point() const { 2441: 2441: if (is_empty()) { 2441: return false; 2441: } 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: if (std::numeric_limits::is_integer) { 2441: return true; 2441: } 2441: 2441: 2441: BD_Shape bds_z(space_dim); 2441: typedef BD_Shape::N Z; 2441: bds_z.reset_shortest_path_closed(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: bool all_integers = true; 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: DB_Row& z_i = bds_z.dbm[i]; 2441: const DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: const N& dbm_i_j = dbm_i[j]; 2441: if (is_plus_infinity(dbm_i_j)) { 2441: continue; 2441: } 2441: if (is_integer(dbm_i_j)) { 2441: assign_r(z_i[j], dbm_i_j, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: all_integers = false; 2441: Z& z_i_j = z_i[j]; 2441: 2441: neg_assign_r(tmp, dbm_i_j, ROUND_NOT_NEEDED); 2441: assign_r(z_i_j, tmp, ROUND_UP); 2441: neg_assign_r(z_i_j, z_i_j, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: } 2441: return all_integers || !bds_z.is_empty(); 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const { 2441: dimension_type space_dim = space_dimension(); 2441: 2441: if (space_dim < expr.space_dimension()) { 2441: throw_dimension_incompatible("frequency(e, ...)", "e", expr); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: if (is_empty()) { 2441: return false; 2441: } 2441: freq_n = 0; 2441: freq_d = 1; 2441: val_n = expr.inhomogeneous_term(); 2441: val_d = 1; 2441: return true; 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: Linear_Expression le = expr; 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_val_denom; Parma_Polyhedra_Library::Coefficient& val_denom = holder_val_denom.item(); 2441: val_denom = 1; 2441: 2441: 2441: 2441: for (dimension_type i = dbm.num_rows(); i-- > 1; ) { 2441: const Variable v(i-1); 2441: coeff = le.coefficient(v); 2441: if (coeff == 0) { 2441: continue; 2441: } 2441: const DB_Row& dbm_i = dbm[i]; 2441: 2441: assign_r(tmp, dbm_i[0], ROUND_NOT_NEEDED); 2441: if (is_additive_inverse(dbm[0][i], tmp)) { 2441: 2441: numer_denom(tmp, numer, denom); 2441: sub_mul_assign(le, coeff, v); 2441: le *= denom; 2441: le -= numer*coeff; 2441: val_denom *= denom; 2441: continue; 2441: } 2441: 2441: 2441: else { 2441: bool constant_v = false; 2441: for (Linear_Expression::const_iterator j = le.begin(), 2441: j_end = le.lower_bound(Variable(i - 1)); j != j_end; ++j) { 2441: const Variable vj = j.variable(); 2441: const dimension_type j_dim = vj.space_dimension(); 2441: assign_r(tmp, dbm_i[j_dim], ROUND_NOT_NEEDED); 2441: if (is_additive_inverse(dbm[j_dim][i], tmp)) { 2441: 2441: 2441: 2441: numer_denom(tmp, numer, denom); 2441: 2441: 2441: sub_mul_assign(le, coeff, v); 2441: add_mul_assign(le, coeff, vj); 2441: le *= denom; 2441: le -= numer*coeff; 2441: val_denom *= denom; 2441: constant_v = true; 2441: break; 2441: } 2441: } 2441: if (!constant_v) { 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: 2441: 2441: freq_n = 0; 2441: freq_d = 1; 2441: 2441: 2441: normalize2(le.inhomogeneous_term(), val_denom, val_n, val_d); 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::constrains(const Variable var) const { 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dimension() < var_space_dim) { 2441: throw_dimension_incompatible("constrains(v)", "v", var); 2441: } 2441: shortest_path_closure_assign(); 2441: 2441: 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: 2441: const DB_Row& dbm_v = dbm[var_space_dim]; 2441: for (dimension_type i = dbm.num_rows(); i-- > 0; ) { 2441: if (!is_plus_infinity(dbm_v[i]) 2441: || !is_plus_infinity(dbm[i][var_space_dim])) { 2441: return true; 2441: } 2441: } 2441: 2441: 2441: 2441: return is_empty(); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape 2441: ::compute_predecessors(std::vector& predecessor) const { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type predecessor_size = dbm.num_rows(); 2441: 2441: predecessor.reserve(predecessor_size); 2441: for (dimension_type i = 0; i < predecessor_size; ++i) { 2441: predecessor.push_back(i); 2441: } 2441: 2441: for (dimension_type i = predecessor_size; i-- > 1; ) { 2441: if (i == predecessor[i]) { 2441: const DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = i; j-- > 0; ) { 2441: if (j == predecessor[j] 2441: && is_additive_inverse(dbm[j][i], dbm_i[j])) { 2441: 2441: predecessor[i] = j; 2441: break; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::compute_leaders(std::vector& leaders) const { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: compute_predecessors(leaders); 2441: 2441: ((void) 0); 2441: for (dimension_type i = 1, l_size = leaders.size(); i != l_size; ++i) { 2441: const dimension_type leaders_i = leaders[i]; 2441: ((void) 0); 2441: if (leaders_i != i) { 2441: const dimension_type leaders_leaders_i = leaders[leaders_i]; 2441: ((void) 0); 2441: leaders[i] = leaders_leaders_i; 2441: } 2441: } 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::is_shortest_path_reduced() const { 2441: 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (space_dim == 0) { 2441: return true; 2441: } 2441: 2441: 2441: 2441: if (!marked_shortest_path_reduced()) { 2441: return false; 2441: } 2441: 2441: const BD_Shape x_copy = *this; 2441: x_copy.shortest_path_closure_assign(); 2441: 2441: if (x_copy.marked_empty()) { 2441: return false; 2441: } 2441: 2441: std::vector leader(space_dim + 1); 2441: 2441: 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: leader[i] = i; 2441: } 2441: 2441: 2441: 2441: 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: const DB_Row& x_copy_dbm_i = x_copy.dbm[i]; 2441: for (dimension_type j = i + 1; j <= space_dim; ++j) { 2441: if (is_additive_inverse(x_copy.dbm[j][i], x_copy_dbm_i[j])) { 2441: 2441: 2441: leader[j] = leader[i]; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c; N& c = holder_c.item(); 2441: for (dimension_type k = 0; k <= space_dim; ++k) { 2441: if (leader[k] == k) { 2441: const DB_Row& x_k = x_copy.dbm[k]; 2441: for (dimension_type i = 0; i <= space_dim; ++i) { 2441: if (leader[i] == i) { 2441: const DB_Row& x_i = x_copy.dbm[i]; 2441: const Bit_Row& redundancy_i = redundancy_dbm[i]; 2441: const N& x_i_k = x_i[k]; 2441: for (dimension_type j = 0; j <= space_dim; ++j) { 2441: if (leader[j] == j) { 2441: const N& x_i_j = x_i[j]; 2441: if (!is_plus_infinity(x_i_j)) { 2441: add_assign_r(c, x_i_k, x_k[j], ROUND_UP); 2441: if (x_i_j >= c && !redundancy_i[j]) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: std::vector var_conn(space_dim + 1); 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: var_conn[i] = space_dim + 1; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: for (dimension_type i = 0; i <= space_dim; ++i) { 2441: 2441: 2441: dimension_type t = 0; 2441: dimension_type leader_i = leader[i]; 2441: 2441: if (leader_i == i) { 2441: for (dimension_type j = 0; j <= space_dim; ++j) { 2441: dimension_type leader_j = leader[j]; 2441: 2441: 2441: if (j != leader_j) { 2441: if (!redundancy_dbm[i][j]) { 2441: if (t == 1) { 2441: 2441: return false; 2441: } 2441: else { 2441: if (leader_j != i) { 2441: 2441: return false; 2441: } 2441: else { 2441: ++t; 2441: var_conn[i] = j; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: else { 2441: for (dimension_type j = 0; j <= space_dim; ++j) { 2441: if (!redundancy_dbm[i][j]) { 2441: dimension_type leader_j = leader[j]; 2441: if (leader_i != leader_j) { 2441: 2441: return false; 2441: } 2441: else { 2441: if (t == 1) { 2441: 2441: return false; 2441: } 2441: else { 2441: ++t; 2441: var_conn[i] = j; 2441: } 2441: } 2441: 2441: 2441: if (t == 0) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: std::vector just_checked(space_dim + 1); 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: just_checked[i] = false; 2441: } 2441: 2441: 2441: for (dimension_type i = 0; i <= space_dim; ++i) { 2441: 2441: if (!just_checked[i]) { 2441: dimension_type v_con = var_conn[i]; 2441: 2441: 2441: if (v_con != space_dim + 1) { 2441: 2441: 2441: while (v_con != i) { 2441: just_checked[v_con] = true; 2441: v_con = var_conn[v_con]; 2441: 2441: 2441: if (just_checked[v_con]) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: just_checked[i] = true; 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::bounds(const Linear_Expression& expr, 2441: const bool from_above) const { 2441: 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((from_above 2441: ? "bounds_from_above(e)" 2441: : "bounds_from_below(e)"), "e", expr); 2441: } 2441: shortest_path_closure_assign(); 2441: 2441: if (space_dim == 0 || marked_empty()) { 2441: return true; 2441: } 2441: 2441: 2441: const Constraint& c = from_above ? expr <= 0 : expr >= 0; 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: 2441: if (BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) { 2441: if (num_vars == 0) { 2441: 2441: return true; 2441: } 2441: 2441: const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i]; 2441: return !is_plus_infinity(x); 2441: } 2441: else { 2441: 2441: Optimization_Mode mode_bounds 2441: = from_above ? MAXIMIZATION : MINIMIZATION; 2441: MIP_Problem mip(space_dim, constraints(), expr, mode_bounds); 2441: 2441: return mip.solve() == OPTIMIZED_MIP_PROBLEM; 2441: } 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::max_min(const Linear_Expression& expr, 2441: const bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, 2441: bool& included) const { 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((maximize 2441: ? "maximize(e, ...)" 2441: : "minimize(e, ...)"), "e", expr); 2441: } 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: else { 2441: ext_n = expr.inhomogeneous_term(); 2441: ext_d = 1; 2441: included = true; 2441: return true; 2441: } 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: const Constraint& c = maximize ? expr <= 0 : expr >= 0; 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: 2441: if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) { 2441: Optimization_Mode mode_max_min 2441: = maximize ? MAXIMIZATION : MINIMIZATION; 2441: MIP_Problem mip(space_dim, constraints(), expr, mode_max_min); 2441: if (mip.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: mip.optimal_value(ext_n, ext_d); 2441: included = true; 2441: return true; 2441: } 2441: else { 2441: 2441: return false; 2441: } 2441: } 2441: else { 2441: 2441: if (num_vars == 0) { 2441: 2441: ext_n = expr.inhomogeneous_term(); 2441: ext_d = 1; 2441: included = true; 2441: return true; 2441: } 2441: 2441: 2441: const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i]; 2441: if (!is_plus_infinity(x)) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = maximize ? b : minus_b; 2441: assign_r(d, sc_b, ROUND_UP); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_expr; N& coeff_expr = holder_coeff_expr.item(); 2441: ((void) 0); 2441: const Coefficient& coeff_i = expr.get(Variable(i - 1)); 2441: const int sign_i = sgn(coeff_i); 2441: if (sign_i > 0) { 2441: assign_r(coeff_expr, coeff_i, ROUND_UP); 2441: } 2441: else { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_coeff_i; Parma_Polyhedra_Library::Coefficient& minus_coeff_i = holder_minus_coeff_i.item(); 2441: neg_assign(minus_coeff_i, coeff_i); 2441: assign_r(coeff_expr, minus_coeff_i, ROUND_UP); 2441: } 2441: 2441: add_mul_assign_r(d, coeff_expr, x, ROUND_UP); 2441: numer_denom(d, ext_n, ext_d); 2441: if (!maximize) { 2441: neg_assign(ext_n); 2441: } 2441: included = true; 2441: return true; 2441: } 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::max_min(const Linear_Expression& expr, 2441: const bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, 2441: bool& included, 2441: Generator& g) const { 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((maximize 2441: ? "maximize(e, ...)" 2441: : "minimize(e, ...)"), "e", expr); 2441: } 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: else { 2441: ext_n = expr.inhomogeneous_term(); 2441: ext_d = 1; 2441: included = true; 2441: g = point(); 2441: return true; 2441: } 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: Optimization_Mode mode_max_min 2441: = maximize ? MAXIMIZATION : MINIMIZATION; 2441: MIP_Problem mip(space_dim, constraints(), expr, mode_max_min); 2441: if (mip.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = mip.optimizing_point(); 2441: mip.evaluate_objective_function(g, ext_n, ext_d); 2441: included = true; 2441: return true; 2441: } 2441: 2441: return false; 2441: } 2441: 2441: template 2441: Poly_Con_Relation 2441: BD_Shape::relation_with(const Congruence& cg) const { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (cg.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("relation_with(cg)", cg); 2441: } 2441: 2441: 2441: if (cg.is_equality()) { 2441: Constraint c(cg); 2441: return relation_with(c); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: if (space_dim == 0) { 2441: if (cg.is_inconsistent()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: 2441: 2441: Linear_Expression le = Linear_Expression(cg.expression()); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_numer; Parma_Polyhedra_Library::Coefficient& min_numer = holder_min_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_denom; Parma_Polyhedra_Library::Coefficient& min_denom = holder_min_denom.item(); 2441: bool min_included; 2441: bool bounded_below = minimize(le, min_numer, min_denom, min_included); 2441: 2441: 2441: 2441: if (!bounded_below) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_numer; Parma_Polyhedra_Library::Coefficient& max_numer = holder_max_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_denom; Parma_Polyhedra_Library::Coefficient& max_denom = holder_max_denom.item(); 2441: bool max_included; 2441: bool bounded_above = maximize(le, max_numer, max_denom, max_included); 2441: 2441: 2441: 2441: if (!bounded_above) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: Parma_Polyhedra_Library::Dirty_Temp holder_signed_distance; Parma_Polyhedra_Library::Coefficient& signed_distance = holder_signed_distance.item(); 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_value; Parma_Polyhedra_Library::Coefficient& min_value = holder_min_value.item(); 2441: min_value = min_numer / min_denom; 2441: const Coefficient& modulus = cg.modulus(); 2441: signed_distance = min_value % modulus; 2441: min_value -= signed_distance; 2441: if (min_value * min_denom < min_numer) { 2441: min_value += modulus; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_value; Parma_Polyhedra_Library::Coefficient& max_value = holder_max_value.item(); 2441: max_value = max_numer / max_denom; 2441: signed_distance = max_value % modulus; 2441: max_value += signed_distance; 2441: if (max_value * max_denom > max_numer) { 2441: max_value -= modulus; 2441: } 2441: 2441: 2441: 2441: if (max_value < min_value) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: } 2441: 2441: 2441: template 2441: Poly_Con_Relation 2441: BD_Shape::relation_with(const Constraint& c) const { 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (c_space_dim > space_dim) { 2441: throw_dimension_incompatible("relation_with(c)", c); 2441: } 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: if (space_dim == 0) { 2441: if ((c.is_equality() && c.inhomogeneous_term() != 0) 2441: || (c.is_inequality() && c.inhomogeneous_term() < 0)) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0) { 2441: 2441: 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: else if (c.is_equality() || c.inhomogeneous_term() == 0) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: else { 2441: 2441: 2441: 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: Linear_Expression le(c.expression()); 2441: le.set_inhomogeneous_term(Coefficient_zero()); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_numer; Parma_Polyhedra_Library::Coefficient& max_numer = holder_max_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_denom; Parma_Polyhedra_Library::Coefficient& max_denom = holder_max_denom.item(); 2441: bool max_included; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_numer; Parma_Polyhedra_Library::Coefficient& min_numer = holder_min_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_denom; Parma_Polyhedra_Library::Coefficient& min_denom = holder_min_denom.item(); 2441: bool min_included; 2441: bool bounded_above = maximize(le, max_numer, max_denom, max_included); 2441: bool bounded_below = minimize(le, min_numer, min_denom, min_included); 2441: if (!bounded_above) { 2441: if (!bounded_below) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: min_numer += c.inhomogeneous_term() * min_denom; 2441: switch (sgn(min_numer)) { 2441: case 1: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case 0: 2441: if (c.is_strict_inequality() || c.is_equality()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case -1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: } 2441: if (!bounded_below) { 2441: max_numer += c.inhomogeneous_term() * max_denom; 2441: switch (sgn(max_numer)) { 2441: case 1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case 0: 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: else { 2441: max_numer += c.inhomogeneous_term() * max_denom; 2441: min_numer += c.inhomogeneous_term() * min_denom; 2441: switch (sgn(max_numer)) { 2441: case 1: 2441: switch (sgn(min_numer)) { 2441: case 1: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case 0: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: return Poly_Con_Relation::is_included(); 2441: case -1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: case 0: 2441: if (min_numer == 0) { 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint() 2441: && Poly_Con_Relation::saturates(); 2441: } 2441: return Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::saturates(); 2441: } 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: } 2441: 2441: 2441: if (num_vars == 0) { 2441: 2441: switch (sgn(c.inhomogeneous_term())) { 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: case 0: 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: case 1: 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: const bool negative = (coeff < 0); 2441: const N& x = negative ? dbm[i][j] : dbm[j][i]; 2441: const N& y = negative ? dbm[j][i] : dbm[i][j]; 2441: if (negative) { 2441: neg_assign(coeff); 2441: } 2441: # 1672 "../../src/BD_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_x; mpq_class& q_x = holder_q_x.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_y; mpq_class& q_y = holder_q_y.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; mpq_class& d = holder_d.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d1; mpq_class& d1 = holder_d1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_denom; mpq_class& c_denom = holder_c_denom.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_denom; mpq_class& q_denom = holder_q_denom.item(); 2441: assign_r(c_denom, coeff, ROUND_NOT_NEEDED); 2441: assign_r(d, c.inhomogeneous_term(), ROUND_NOT_NEEDED); 2441: neg_assign_r(d1, d, ROUND_NOT_NEEDED); 2441: div_assign_r(d, d, c_denom, ROUND_NOT_NEEDED); 2441: div_assign_r(d1, d1, c_denom, ROUND_NOT_NEEDED); 2441: 2441: if (is_plus_infinity(x)) { 2441: if (!is_plus_infinity(y)) { 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: numer_denom(y, numer, denom); 2441: assign_r(q_denom, denom, ROUND_NOT_NEEDED); 2441: assign_r(q_y, numer, ROUND_NOT_NEEDED); 2441: div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED); 2441: if (q_y < d1) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: if (q_y == d1 && c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: 2441: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: numer_denom(x, numer, denom); 2441: assign_r(q_denom, denom, ROUND_NOT_NEEDED); 2441: assign_r(q_x, numer, ROUND_NOT_NEEDED); 2441: div_assign_r(q_x, q_x, q_denom, ROUND_NOT_NEEDED); 2441: 2441: if (!is_plus_infinity(y)) { 2441: numer_denom(y, numer, denom); 2441: assign_r(q_denom, denom, ROUND_NOT_NEEDED); 2441: assign_r(q_y, numer, ROUND_NOT_NEEDED); 2441: div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED); 2441: if (q_x == d && q_y == d1) { 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: 2441: 2441: if (q_y < d1) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: if (q_y == d1 && c.is_strict_inequality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: if (d > q_x) { 2441: if (c.is_equality()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: if (d == q_x && c.is_nonstrict_inequality()) { 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: template 2441: Poly_Gen_Relation 2441: BD_Shape::relation_with(const Generator& g) const { 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type g_space_dim = g.space_dimension(); 2441: 2441: 2441: if (space_dim < g_space_dim) { 2441: throw_dimension_incompatible("relation_with(g)", g); 2441: } 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: 2441: 2441: if (space_dim == 0) { 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: const bool is_line = g.is_line(); 2441: const bool is_line_or_ray = g.is_line_or_ray(); 2441: # 1792 "../../src/BD_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_product; Parma_Polyhedra_Library::Coefficient& product = holder_product.item(); 2441: 2441: 2441: for (dimension_type i = 0; i <= space_dim; ++i) { 2441: const Coefficient& g_coeff_y = (i > g_space_dim || i == 0) 2441: ? Coefficient_zero() : g.coefficient(Variable(i-1)); 2441: const DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = i + 1; j <= space_dim; ++j) { 2441: const Coefficient& g_coeff_x = (j > g_space_dim) 2441: ? Coefficient_zero() : g.coefficient(Variable(j-1)); 2441: const N& dbm_ij = dbm_i[j]; 2441: const N& dbm_ji = dbm[j][i]; 2441: if (is_additive_inverse(dbm_ji, dbm_ij)) { 2441: 2441: 2441: numer_denom(dbm_ij, numer, denom); 2441: product = g_coeff_y; 2441: product -= g_coeff_x; 2441: product *= denom; 2441: if (!is_line_or_ray) { 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (product != 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(dbm_ij)) { 2441: 2441: 2441: 2441: numer_denom(dbm_ij, numer, denom); 2441: product = g_coeff_y; 2441: product -= g_coeff_x; 2441: product *= denom; 2441: if (!is_line_or_ray) { 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (is_line) { 2441: if (product != 0) { 2441: 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: else { 2441: 2441: if (product < 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: } 2441: 2441: if (!is_plus_infinity(dbm_ji)) { 2441: 2441: 2441: numer_denom(dbm_ji, numer, denom); 2441: product = 0; 2441: add_mul_assign(product, denom, g_coeff_x); 2441: add_mul_assign(product, -denom, g_coeff_y); 2441: if (!is_line_or_ray) { 2441: add_mul_assign(product, numer, g.divisor()); 2441: } 2441: if (is_line) { 2441: if (product != 0) { 2441: 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: else { 2441: 2441: if (product < 0) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::shortest_path_closure_assign() const { 2441: 2441: if (marked_empty() || marked_shortest_path_closed()) { 2441: return; 2441: } 2441: const dimension_type num_dimensions = space_dimension(); 2441: 2441: if (num_dimensions == 0) { 2441: return; 2441: } 2441: 2441: 2441: BD_Shape& x = const_cast&>(*this); 2441: 2441: 2441: for (dimension_type h = num_dimensions + 1; h-- > 0; ) { 2441: ((void) 0); 2441: assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED); 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum; N& sum = holder_sum.item(); 2441: for (dimension_type k = num_dimensions + 1; k-- > 0; ) { 2441: const DB_Row& x_dbm_k = x.dbm[k]; 2441: for (dimension_type i = num_dimensions + 1; i-- > 0; ) { 2441: DB_Row& x_dbm_i = x.dbm[i]; 2441: const N& x_dbm_i_k = x_dbm_i[k]; 2441: if (!is_plus_infinity(x_dbm_i_k)) { 2441: for (dimension_type j = num_dimensions + 1; j-- > 0; ) { 2441: const N& x_dbm_k_j = x_dbm_k[j]; 2441: if (!is_plus_infinity(x_dbm_k_j)) { 2441: 2441: add_assign_r(sum, x_dbm_i_k, x_dbm_k_j, ROUND_UP); 2441: min_assign(x_dbm_i[j], sum); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: for (dimension_type h = num_dimensions + 1; h-- > 0; ) { 2441: N& x_dbm_hh = x.dbm[h][h]; 2441: if (sgn(x_dbm_hh) < 0) { 2441: x.set_empty(); 2441: return; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: 2441: x.set_shortest_path_closed(); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::incremental_shortest_path_closure_assign(Variable var) const { 2441: 2441: if (marked_empty() || marked_shortest_path_closed()) { 2441: return; 2441: } 2441: const dimension_type num_dimensions = space_dimension(); 2441: ((void) 0); 2441: 2441: 2441: 2441: BD_Shape& x = const_cast(*this); 2441: 2441: 2441: for (dimension_type h = num_dimensions + 1; h-- > 0; ) { 2441: ((void) 0); 2441: assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED); 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum; N& sum = holder_sum.item(); 2441: const dimension_type v = var.id() + 1; 2441: DB_Row& x_v = x.dbm[v]; 2441: 2441: for (dimension_type k = num_dimensions + 1; k-- > 0; ) { 2441: DB_Row& x_k = x.dbm[k]; 2441: const N& x_v_k = x_v[k]; 2441: const N& x_k_v = x_k[v]; 2441: const bool x_v_k_finite = !is_plus_infinity(x_v_k); 2441: const bool x_k_v_finite = !is_plus_infinity(x_k_v); 2441: 2441: if (x_v_k_finite) { 2441: if (x_k_v_finite) { 2441: 2441: for (dimension_type i = num_dimensions + 1; i-- > 0; ) { 2441: DB_Row& x_i = x.dbm[i]; 2441: const N& x_i_k = x_i[k]; 2441: if (!is_plus_infinity(x_i_k)) { 2441: add_assign_r(sum, x_i_k, x_k_v, ROUND_UP); 2441: min_assign(x_i[v], sum); 2441: } 2441: const N& x_k_i = x_k[i]; 2441: if (!is_plus_infinity(x_k_i)) { 2441: add_assign_r(sum, x_v_k, x_k_i, ROUND_UP); 2441: min_assign(x_v[i], sum); 2441: } 2441: } 2441: } 2441: else { 2441: 2441: for (dimension_type i = num_dimensions + 1; i-- > 0; ) { 2441: const N& x_k_i = x_k[i]; 2441: if (!is_plus_infinity(x_k_i)) { 2441: add_assign_r(sum, x_v_k, x_k_i, ROUND_UP); 2441: min_assign(x_v[i], sum); 2441: } 2441: } 2441: } 2441: } 2441: else if (x_k_v_finite) { 2441: 2441: for (dimension_type i = num_dimensions + 1; i-- > 0; ) { 2441: DB_Row& x_i = x.dbm[i]; 2441: const N& x_i_k = x_i[k]; 2441: if (!is_plus_infinity(x_i_k)) { 2441: add_assign_r(sum, x_i_k, x_k_v, ROUND_UP); 2441: min_assign(x_i[v], sum); 2441: } 2441: } 2441: } 2441: else { 2441: 2441: continue; 2441: } 2441: } 2441: 2441: 2441: 2441: for (dimension_type i = num_dimensions + 1; i-- > 0; ) { 2441: DB_Row& x_i = x.dbm[i]; 2441: const N& x_i_v = x_i[v]; 2441: if (!is_plus_infinity(x_i_v)) { 2441: for (dimension_type j = num_dimensions + 1; j-- > 0; ) { 2441: const N& x_v_j = x_v[j]; 2441: if (!is_plus_infinity(x_v_j)) { 2441: add_assign_r(sum, x_i_v, x_v_j, ROUND_UP); 2441: min_assign(x_i[j], sum); 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: for (dimension_type h = num_dimensions + 1; h-- > 0; ) { 2441: N& x_dbm_hh = x.dbm[h][h]; 2441: if (sgn(x_dbm_hh) < 0) { 2441: x.set_empty(); 2441: return; 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: 2441: x.set_shortest_path_closed(); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::shortest_path_reduction_assign() const { 2441: 2441: if (marked_shortest_path_reduced()) { 2441: return; 2441: } 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: std::vector predecessor; 2441: compute_predecessors(predecessor); 2441: std::vector leaders; 2441: compute_leader_indices(predecessor, leaders); 2441: const dimension_type num_leaders = leaders.size(); 2441: 2441: Bit_Matrix redundancy(space_dim + 1, space_dim + 1); 2441: 2441: 2441: Bit_Row& red_0 = redundancy[0]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: red_0.set(j); 2441: } 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: redundancy[i] = red_0; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c; N& c = holder_c.item(); 2441: for (dimension_type l_i = 0; l_i < num_leaders; ++l_i) { 2441: const dimension_type i = leaders[l_i]; 2441: const DB_Row& dbm_i = dbm[i]; 2441: Bit_Row& redundancy_i = redundancy[i]; 2441: for (dimension_type l_j = 0; l_j < num_leaders; ++l_j) { 2441: const dimension_type j = leaders[l_j]; 2441: if (redundancy_i[j]) { 2441: const N& dbm_i_j = dbm_i[j]; 2441: redundancy_i.clear(j); 2441: for (dimension_type l_k = 0; l_k < num_leaders; ++l_k) { 2441: const dimension_type k = leaders[l_k]; 2441: add_assign_r(c, dbm_i[k], dbm[k][j], ROUND_UP); 2441: if (dbm_i_j >= c) { 2441: redundancy_i.set(j); 2441: break; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: std::deque dealt_with(space_dim + 1, false); 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: 2441: 2441: if (i != predecessor[i] && !dealt_with[i]) { 2441: dimension_type j = i; 2441: while (true) { 2441: const dimension_type predecessor_j = predecessor[j]; 2441: if (j == predecessor_j) { 2441: 2441: ((void) 0); 2441: redundancy[i].clear(j); 2441: 2441: 2441: break; 2441: } 2441: 2441: ((void) 0); 2441: redundancy[predecessor_j].clear(j); 2441: dealt_with[predecessor_j] = true; 2441: j = predecessor_j; 2441: } 2441: } 2441: } 2441: 2441: 2441: BD_Shape& x = const_cast&>(*this); 2441: using std::swap; 2441: swap(x.redundancy_dbm, redundancy); 2441: x.set_shortest_path_reduced(); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::upper_bound_assign(const BD_Shape& y) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("upper_bound_assign(y)", y); 2441: } 2441: 2441: y.shortest_path_closure_assign(); 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: *this = y; 2441: return; 2441: } 2441: 2441: 2441: 2441: ((void) 0); 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: N& dbm_ij = dbm_i[j]; 2441: const N& y_dbm_ij = y_dbm_i[j]; 2441: if (dbm_ij < y_dbm_ij) { 2441: dbm_ij = y_dbm_ij; 2441: } 2441: } 2441: } 2441: 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) { 2441: 2441: const BD_Shape& x = *this; 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: if (x_space_dim == 0) { 2441: upper_bound_assign(y); 2441: return true; 2441: } 2441: 2441: if (x.marked_empty()) { 2441: *this = y; 2441: return true; 2441: } 2441: else if (y.is_empty()) { 2441: return true; 2441: } 2441: else if (x.is_empty()) { 2441: *this = y; 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: Variable epsilon(x_space_dim); 2441: Linear_Expression zero_expr; 2441: zero_expr.set_space_dimension(x_space_dim + 1); 2441: Linear_Expression db_expr; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: 2441: 2441: 2441: 2441: 2441: Constraint_System env_cs; 2441: Constraint_System x_cs_removed; 2441: Constraint_System y_cs_removed; 2441: x.shortest_path_reduction_assign(); 2441: y.shortest_path_reduction_assign(); 2441: for (dimension_type i = x_space_dim + 1; i-- > 0; ) { 2441: const Bit_Row& x_red_i = x.redundancy_dbm[i]; 2441: const Bit_Row& y_red_i = y.redundancy_dbm[i]; 2441: const DB_Row& x_dbm_i = x.dbm[i]; 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: for (dimension_type j = x_space_dim + 1; j-- > 0; ) { 2441: if (x_red_i[j] && y_red_i[j]) { 2441: continue; 2441: } 2441: if (!x_red_i[j]) { 2441: const N& x_dbm_ij = x_dbm_i[j]; 2441: ((void) 0); 2441: numer_denom(x_dbm_ij, numer, denom); 2441: 2441: db_expr = zero_expr; 2441: if (i > 0) { 2441: db_expr += Variable(i-1); 2441: } 2441: if (j > 0) { 2441: db_expr -= Variable(j-1); 2441: } 2441: if (denom != 1) { 2441: db_expr *= denom; 2441: } 2441: db_expr += numer; 2441: if (x_dbm_ij >= y_dbm_i[j]) { 2441: env_cs.insert(db_expr >= 0); 2441: } 2441: else { 2441: db_expr += epsilon; 2441: x_cs_removed.insert(db_expr == 0); 2441: } 2441: } 2441: if (!y_red_i[j]) { 2441: const N& y_dbm_ij = y_dbm_i[j]; 2441: const N& x_dbm_ij = x_dbm_i[j]; 2441: ((void) 0); 2441: numer_denom(y_dbm_ij, numer, denom); 2441: 2441: db_expr = zero_expr; 2441: if (i > 0) { 2441: db_expr += Variable(i-1); 2441: } 2441: if (j > 0) { 2441: db_expr -= Variable(j-1); 2441: } 2441: if (denom != 1) { 2441: db_expr *= denom; 2441: } 2441: db_expr += numer; 2441: if (y_dbm_ij >= x_dbm_ij) { 2441: 2441: if (!x_red_i[j] && x_dbm_ij == y_dbm_ij) { 2441: continue; 2441: } 2441: env_cs.insert(db_expr >= 0); 2441: } 2441: else { 2441: db_expr += epsilon; 2441: y_cs_removed.insert(db_expr == 0); 2441: } 2441: } 2441: } 2441: } 2441: 2441: if (x_cs_removed.empty()) { 2441: 2441: return true; 2441: } 2441: if (y_cs_removed.empty()) { 2441: 2441: *this = y; 2441: return true; 2441: } 2441: 2441: 2441: 2441: 2441: MIP_Problem env_lp(x_space_dim + 1, env_cs, epsilon, MAXIMIZATION); 2441: 2441: env_lp.solve(); 2441: ((void) 0); 2441: 2441: 2441: for (Constraint_System::const_iterator i = x_cs_removed.begin(), 2441: i_end = x_cs_removed.end(); i != i_end; ++i) { 2441: MIP_Problem lp_i(env_lp); 2441: lp_i.add_constraint(*i); 2441: 2441: if (lp_i.solve() == UNFEASIBLE_MIP_PROBLEM) { 2441: continue; 2441: } 2441: for (Constraint_System::const_iterator j = y_cs_removed.begin(), 2441: j_end = y_cs_removed.end(); j != j_end; ++j) { 2441: MIP_Problem lp_ij(lp_i); 2441: lp_ij.add_constraint(*j); 2441: 2441: switch (lp_ij.solve()) { 2441: case UNFEASIBLE_MIP_PROBLEM: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: case UNBOUNDED_MIP_PROBLEM: 2441: return false; 2441: case OPTIMIZED_MIP_PROBLEM: 2441: lp_ij.optimal_value(numer, denom); 2441: if (numer > 0) { 2441: return false; 2441: } 2441: break; 2441: } 2441: } 2441: } 2441: 2441: 2441: upper_bound_assign(y); 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: template 2441: bool 2441: BD_Shape::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) { 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_2368 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!integer_upper_bound || std::numeric_limits::is_integer)>) } 2441: 2441: 2441: 2441: ; 2441: 2441: 2441: 2441: const BD_Shape& x = *this; 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: if (x_space_dim == 0) { 2441: upper_bound_assign(y); 2441: return true; 2441: } 2441: 2441: if (x.marked_empty()) { 2441: *this = y; 2441: return true; 2441: } 2441: else if (y.is_empty()) { 2441: return true; 2441: } 2441: else if (x.is_empty()) { 2441: *this = y; 2441: return true; 2441: } 2441: 2441: 2441: x.shortest_path_reduction_assign(); 2441: y.shortest_path_reduction_assign(); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: BD_Shape ub(x); 2441: ub.upper_bound_assign(y); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lhs; N& lhs = holder_lhs.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_rhs; N& rhs = holder_rhs.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_zero; N& temp_zero = holder_temp_zero.item(); 2441: assign_r(temp_zero, 0, ROUND_NOT_NEEDED); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_temp_one; N& temp_one = holder_temp_one.item(); 2441: if (integer_upper_bound) { 2441: assign_r(temp_one, 1, ROUND_NOT_NEEDED); 2441: } 2441: for (dimension_type i = x_space_dim + 1; i-- > 0; ) { 2441: const DB_Row& x_i = x.dbm[i]; 2441: const Bit_Row& x_red_i = x.redundancy_dbm[i]; 2441: const DB_Row& y_i = y.dbm[i]; 2441: const DB_Row& ub_i = ub.dbm[i]; 2441: for (dimension_type j = x_space_dim + 1; j-- > 0; ) { 2441: 2441: if (x_red_i[j]) { 2441: continue; 2441: } 2441: 2441: ((void) 0); 2441: const N& x_i_j = x_i[j]; 2441: if (x_i_j < y_i[j]) { 2441: for (dimension_type k = x_space_dim + 1; k-- > 0; ) { 2441: const DB_Row& x_k = x.dbm[k]; 2441: const DB_Row& y_k = y.dbm[k]; 2441: const Bit_Row& y_red_k = y.redundancy_dbm[k]; 2441: const DB_Row& ub_k = ub.dbm[k]; 2441: const N& ub_k_j = (k == j) ? temp_zero : ub_k[j]; 2441: for (dimension_type ell = x_space_dim + 1; ell-- > 0; ) { 2441: 2441: if (y_red_k[ell]) { 2441: continue; 2441: } 2441: 2441: ((void) 0); 2441: const N& y_k_ell = y_k[ell]; 2441: if (y_k_ell < x_k[ell]) { 2441: 2441: 2441: add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP); 2441: const N& ub_i_ell = (i == ell) ? temp_zero : ub_i[ell]; 2441: add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP); 2441: if (integer_upper_bound) { 2441: 2441: 2441: add_assign_r(lhs, lhs, temp_one, ROUND_NOT_NEEDED); 2441: } 2441: 2441: if (lhs < rhs) { 2441: return false; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: m_swap(ub); 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::difference_assign(const BD_Shape& y) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("difference_assign(y)", y); 2441: } 2441: BD_Shape new_bd_shape(space_dim, EMPTY); 2441: 2441: BD_Shape& x = *this; 2441: 2441: x.shortest_path_closure_assign(); 2441: 2441: 2441: if (x.marked_empty()) { 2441: return; 2441: } 2441: y.shortest_path_closure_assign(); 2441: 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: x.set_empty(); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (y.contains(x)) { 2441: x.set_empty(); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: const Constraint_System& y_cs = y.constraints(); 2441: for (Constraint_System::const_iterator i = y_cs.begin(), 2441: y_cs_end = y_cs.end(); i != y_cs_end; ++i) { 2441: const Constraint& c = *i; 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (x.relation_with(c).implies(Poly_Con_Relation::is_included())) { 2441: continue; 2441: } 2441: BD_Shape z = x; 2441: const Linear_Expression e(c.expression()); 2441: z.add_constraint(e <= 0); 2441: if (!z.is_empty()) { 2441: new_bd_shape.upper_bound_assign(z); 2441: } 2441: if (c.is_equality()) { 2441: z = x; 2441: z.add_constraint(e >= 0); 2441: if (!z.is_empty()) { 2441: new_bd_shape.upper_bound_assign(z); 2441: } 2441: } 2441: } 2441: *this = new_bd_shape; 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::simplify_using_context_assign(const BD_Shape& y) { 2441: BD_Shape& x = *this; 2441: const dimension_type dim = x.space_dimension(); 2441: 2441: if (dim != y.space_dimension()) { 2441: throw_dimension_incompatible("simplify_using_context_assign(y)", y); 2441: } 2441: 2441: if (dim == 0) { 2441: if (y.marked_empty()) { 2441: x.set_zero_dim_univ(); 2441: return false; 2441: } 2441: else { 2441: return !x.marked_empty(); 2441: } 2441: } 2441: 2441: 2441: 2441: y.shortest_path_closure_assign(); 2441: if (x.contains(y)) { 2441: BD_Shape res(dim, UNIVERSE); 2441: x.m_swap(res); 2441: return false; 2441: } 2441: 2441: 2441: x.shortest_path_closure_assign(); 2441: if (x.marked_empty()) { 2441: 2441: dimension_type i; 2441: dimension_type j; 2441: 2441: i = 0; 2441: const DB_Row& y_dbm_0 = y.dbm[0]; 2441: for (j = 1; j <= dim; ++j) { 2441: if (!is_plus_infinity(y_dbm_0[j])) { 2441: 2441: 2441: 2441: goto found; 2441: } 2441: } 2441: j = 0; 2441: for (i = 1; i <= dim; ++i) { 2441: if (!is_plus_infinity(y.dbm[i][0])) { 2441: 2441: 2441: 2441: goto found; 2441: } 2441: } 2441: 2441: for (i = 1; i <= dim; ++i) { 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: for (j = 1; j <= dim; ++j) { 2441: if (!is_plus_infinity(y_dbm_i[j])) { 2441: 2441: 2441: 2441: goto found; 2441: } 2441: } 2441: } 2441: 2441: 2441: return false; 2441: 2441: found: 2441: 2441: ((void) 0); 2441: BD_Shape res(dim, UNIVERSE); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: assign_r(tmp, 1, ROUND_UP); 2441: add_assign_r(tmp, tmp, y.dbm[i][j], ROUND_UP); 2441: ((void) 0); 2441: 2441: neg_assign_r(res.dbm[j][i], tmp, ROUND_DOWN); 2441: x.m_swap(res); 2441: return false; 2441: } 2441: 2441: 2441: 2441: 2441: BD_Shape target = x; 2441: target.intersection_assign(y); 2441: const bool bool_result = !target.is_empty(); 2441: 2441: 2441: x.shortest_path_reduction_assign(); 2441: 2441: dimension_type x_num_non_redundant = (dim+1)*(dim+1); 2441: for (dimension_type i = dim + 1; i-- > 0; ) { 2441: x_num_non_redundant -= x.redundancy_dbm[i].count_ones(); 2441: } 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: BD_Shape yy = y; 2441: 2441: 2441: BD_Shape res(dim, UNIVERSE); 2441: 2441: dimension_type res_num_non_redundant = 0; 2441: 2441: 2441: std::vector x_leaders; 2441: x.compute_leaders(x_leaders); 2441: 2441: 2441: const DB_Row& x_dbm_0 = x.dbm[0]; 2441: DB_Row& yy_dbm_0 = yy.dbm[0]; 2441: DB_Row& res_dbm_0 = res.dbm[0]; 2441: for (dimension_type j = 1; j <= dim; ++j) { 2441: 2441: 2441: if (x_leaders[j] != 0) { 2441: continue; 2441: } 2441: ((void) 0); 2441: if (x_dbm_0[j] < yy_dbm_0[j]) { 2441: res_dbm_0[j] = x_dbm_0[j]; 2441: ++res_num_non_redundant; 2441: 2441: yy_dbm_0[j] = x_dbm_0[j]; 2441: yy.reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: if (x.dbm[j][0] < yy.dbm[j][0]) { 2441: res.dbm[j][0] = x.dbm[j][0]; 2441: ++res_num_non_redundant; 2441: 2441: yy.dbm[j][0] = x.dbm[j][0]; 2441: yy.reset_shortest_path_closed(); 2441: } 2441: 2441: if (!yy.marked_shortest_path_closed()) { 2441: Variable var_j(j-1); 2441: yy.incremental_shortest_path_closure_assign(var_j); 2441: if (target.contains(yy)) { 2441: 2441: if (res_num_non_redundant < x_num_non_redundant) { 2441: res.reset_shortest_path_closed(); 2441: x.m_swap(res); 2441: } 2441: return bool_result; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: for (dimension_type i = 2; i <= dim; ++i) { 2441: const dimension_type j = x_leaders[i]; 2441: if (j == i || j == 0) { 2441: continue; 2441: } 2441: ((void) 0); 2441: if (x.dbm[i][j] < yy.dbm[i][j]) { 2441: res.dbm[i][j] = x.dbm[i][j]; 2441: ++res_num_non_redundant; 2441: 2441: yy.dbm[i][j] = x.dbm[i][j]; 2441: yy.reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: if (x.dbm[j][i] < yy.dbm[j][i]) { 2441: res.dbm[j][i] = x.dbm[j][i]; 2441: ++res_num_non_redundant; 2441: 2441: yy.dbm[j][i] = x.dbm[j][i]; 2441: yy.reset_shortest_path_closed(); 2441: } 2441: 2441: if (!yy.marked_shortest_path_closed()) { 2441: Variable var_j(j-1); 2441: yy.incremental_shortest_path_closure_assign(var_j); 2441: if (target.contains(yy)) { 2441: 2441: if (res_num_non_redundant < x_num_non_redundant) { 2441: res.reset_shortest_path_closed(); 2441: x.m_swap(res); 2441: } 2441: return bool_result; 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: for (dimension_type i = 0; i <= dim; ++i) { 2441: if (i != x_leaders[i]) { 2441: continue; 2441: } 2441: const DB_Row& x_dbm_i = x.dbm[i]; 2441: const Bit_Row& x_redundancy_dbm_i = x.redundancy_dbm[i]; 2441: DB_Row& yy_dbm_i = yy.dbm[i]; 2441: DB_Row& res_dbm_i = res.dbm[i]; 2441: for (dimension_type j = 0; j <= dim; ++j) { 2441: if (j != x_leaders[j] || x_redundancy_dbm_i[j]) { 2441: continue; 2441: } 2441: N& yy_dbm_ij = yy_dbm_i[j]; 2441: const N& x_dbm_ij = x_dbm_i[j]; 2441: if (x_dbm_ij < yy_dbm_ij) { 2441: res_dbm_i[j] = x_dbm_ij; 2441: ++res_num_non_redundant; 2441: 2441: yy_dbm_ij = x_dbm_ij; 2441: yy.reset_shortest_path_closed(); 2441: ((void) 0); 2441: Variable var(((i > 0) ? i : j) - 1); 2441: yy.incremental_shortest_path_closure_assign(var); 2441: if (target.contains(yy)) { 2441: 2441: if (res_num_non_redundant < x_num_non_redundant) { 2441: res.reset_shortest_path_closed(); 2441: x.m_swap(res); 2441: } 2441: return bool_result; 2441: } 2441: } 2441: } 2441: } 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return false; 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::add_space_dimensions_and_embed(const dimension_type m) { 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type new_space_dim = space_dim + m; 2441: const bool was_zero_dim_univ = (!marked_empty() && space_dim == 0); 2441: 2441: 2441: 2441: 2441: dbm.grow(new_space_dim + 1); 2441: 2441: 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: 2441: if (was_zero_dim_univ) { 2441: set_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::add_space_dimensions_and_project(const dimension_type m) { 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: dbm.grow(m + 1); 2441: if (!marked_empty()) { 2441: for (dimension_type i = m + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = m + 1; j-- > 0; ) { 2441: if (i != j) { 2441: assign_r(dbm_i[j], 0, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: } 2441: set_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const dimension_type new_space_dim = space_dim + m; 2441: dbm.grow(new_space_dim + 1); 2441: 2441: 2441: DB_Row& dbm_0 = dbm[0]; 2441: for (dimension_type i = space_dim + 1; i <= new_space_dim; ++i) { 2441: assign_r(dbm[i][0], 0, ROUND_NOT_NEEDED); 2441: assign_r(dbm_0[i], 0, ROUND_NOT_NEEDED); 2441: } 2441: 2441: if (marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::remove_space_dimensions(const Variables_Set& vars) { 2441: 2441: 2441: 2441: if (vars.empty()) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: const dimension_type old_space_dim = space_dimension(); 2441: 2441: 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (old_space_dim < min_space_dim) { 2441: throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: 2441: 2441: 2441: const dimension_type new_space_dim = old_space_dim - vars.size(); 2441: if (new_space_dim == 0) { 2441: dbm.resize_no_copy(1); 2441: if (!marked_empty()) { 2441: 2441: set_zero_dim_univ(); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: dbm.resize_no_copy(new_space_dim + 1); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: 2441: 2441: Variables_Set::const_iterator vsi = vars.begin(); 2441: Variables_Set::const_iterator vsi_end = vars.end(); 2441: dimension_type dst = *vsi + 1; 2441: dimension_type src = dst + 1; 2441: for (++vsi; vsi != vsi_end; ++vsi) { 2441: const dimension_type vsi_next = *vsi + 1; 2441: 2441: 2441: while (src < vsi_next) { 2441: using std::swap; 2441: swap(dbm[dst], dbm[src]); 2441: for (dimension_type i = old_space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: assign_or_swap(dbm_i[dst], dbm_i[src]); 2441: } 2441: ++dst; 2441: ++src; 2441: } 2441: ++src; 2441: } 2441: 2441: 2441: while (src <= old_space_dim) { 2441: using std::swap; 2441: swap(dbm[dst], dbm[src]); 2441: for (dimension_type i = old_space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: assign_or_swap(dbm_i[dst], dbm_i[src]); 2441: } 2441: ++src; 2441: ++dst; 2441: } 2441: 2441: 2441: dbm.resize_no_copy(new_space_dim + 1); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape::map_space_dimensions(const Partial_Function& pfunc) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: if (pfunc.has_empty_codomain()) { 2441: 2441: remove_higher_space_dimensions(0); 2441: return; 2441: } 2441: 2441: const dimension_type new_space_dim = pfunc.max_in_codomain() + 1; 2441: 2441: 2441: if (new_space_dim < space_dim) { 2441: shortest_path_closure_assign(); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: remove_higher_space_dimensions(new_space_dim); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: DB_Matrix x(new_space_dim+1); 2441: 2441: 2441: 2441: DB_Row& dbm_0 = dbm[0]; 2441: DB_Row& x_0 = x[0]; 2441: for (dimension_type j = 1; j <= space_dim; ++j) { 2441: dimension_type new_j; 2441: if (pfunc.maps(j - 1, new_j)) { 2441: assign_or_swap(x_0[new_j + 1], dbm_0[j]); 2441: assign_or_swap(x[new_j + 1][0], dbm[j][0]); 2441: } 2441: } 2441: 2441: for (dimension_type i = 1; i <= space_dim; ++i) { 2441: dimension_type new_i; 2441: if (pfunc.maps(i - 1, new_i)) { 2441: DB_Row& dbm_i = dbm[i]; 2441: ++new_i; 2441: DB_Row& x_new_i = x[new_i]; 2441: for (dimension_type j = i+1; j <= space_dim; ++j) { 2441: dimension_type new_j; 2441: if (pfunc.maps(j - 1, new_j)) { 2441: ++new_j; 2441: assign_or_swap(x_new_i[new_j], dbm_i[j]); 2441: assign_or_swap(x[new_j][new_i], dbm[j][i]); 2441: } 2441: } 2441: } 2441: } 2441: 2441: using std::swap; 2441: swap(dbm, x); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::intersection_assign(const BD_Shape& y) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("intersection_assign(y)", y); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: if (y.marked_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: bool changed = false; 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: N& dbm_ij = dbm_i[j]; 2441: const N& y_dbm_ij = y_dbm_i[j]; 2441: if (dbm_ij > y_dbm_ij) { 2441: dbm_ij = y_dbm_ij; 2441: changed = true; 2441: } 2441: } 2441: } 2441: 2441: if (changed && marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape::CC76_extrapolation_assign(const BD_Shape& y, 2441: Iterator first, Iterator last, 2441: unsigned* tp) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("CC76_extrapolation_assign(y)", y); 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: y.shortest_path_closure_assign(); 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: if (tp != 0 && *tp > 0) { 2441: BD_Shape x_tmp(*this); 2441: x_tmp.CC76_extrapolation_assign(y, first, last, 0); 2441: 2441: if (!contains(x_tmp)) { 2441: --(*tp); 2441: } 2441: return; 2441: } 2441: # 3108 "../../src/BD_Shape_templates.hh" 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: N& dbm_ij = dbm_i[j]; 2441: const N& y_dbm_ij = y_dbm_i[j]; 2441: if (y_dbm_ij < dbm_ij) { 2441: Iterator k = std::lower_bound(first, last, dbm_ij); 2441: if (k != last) { 2441: if (dbm_ij < *k) { 2441: assign_r(dbm_ij, *k, ROUND_UP); 2441: } 2441: } 2441: else { 2441: assign_r(dbm_ij, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: } 2441: } 2441: reset_shortest_path_closed(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::get_limiting_shape(const Constraint_System& cs, 2441: BD_Shape& limiting_shape) const { 2441: 2441: ((void) 0); 2441: 2441: shortest_path_closure_assign(); 2441: bool changed = false; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff; Parma_Polyhedra_Library::Coefficient& coeff = holder_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_c_term; Parma_Polyhedra_Library::Coefficient& minus_c_term = holder_minus_c_term.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d1; N& d1 = holder_d1.item(); 2441: for (Constraint_System::const_iterator cs_i = cs.begin(), 2441: cs_end = cs.end(); cs_i != cs_end; ++cs_i) { 2441: const Constraint& c = *cs_i; 2441: dimension_type num_vars = 0; 2441: dimension_type i = 0; 2441: dimension_type j = 0; 2441: 2441: if (BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) { 2441: 2441: 2441: const bool negative = (coeff < 0); 2441: const N& x = negative ? dbm[i][j] : dbm[j][i]; 2441: const N& y = negative ? dbm[j][i] : dbm[i][j]; 2441: DB_Matrix& ls_dbm = limiting_shape.dbm; 2441: if (negative) { 2441: neg_assign(coeff); 2441: } 2441: 2441: div_round_up(d, c.inhomogeneous_term(), coeff); 2441: if (x <= d) { 2441: if (c.is_inequality()) { 2441: N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i]; 2441: if (ls_x > d) { 2441: ls_x = d; 2441: changed = true; 2441: } 2441: } 2441: else { 2441: 2441: neg_assign(minus_c_term, c.inhomogeneous_term()); 2441: div_round_up(d1, minus_c_term, coeff); 2441: if (y <= d1) { 2441: N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i]; 2441: N& ls_y = negative ? ls_dbm[j][i] : ls_dbm[i][j]; 2441: if ((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) { 2441: ls_x = d; 2441: ls_y = d1; 2441: changed = true; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: if (changed && limiting_shape.marked_shortest_path_closed()) { 2441: limiting_shape.reset_shortest_path_closed(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::limited_CC76_extrapolation_assign(const BD_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp) { 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)", 2441: y); 2441: } 2441: 2441: 2441: const dimension_type cs_space_dim = cs.space_dimension(); 2441: if (space_dim < cs_space_dim) { 2441: throw_invalid_argument("limited_CC76_extrapolation_assign(y, cs)", 2441: "cs is space_dimension incompatible"); 2441: } 2441: 2441: 2441: if (cs.has_strict_inequalities()) { 2441: throw_invalid_argument("limited_CC76_extrapolation_assign(y, cs)", 2441: "cs has strict inequalities"); 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: BD_Shape limiting_shape(space_dim, UNIVERSE); 2441: get_limiting_shape(cs, limiting_shape); 2441: CC76_extrapolation_assign(y, tp); 2441: intersection_assign(limiting_shape); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("BHMZ05_widening_assign(y)", y); 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: const dimension_type y_affine_dim = y.affine_dimension(); 2441: 2441: 2441: 2441: if (y_affine_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: const dimension_type x_affine_dim = affine_dimension(); 2441: ((void) 0); 2441: if (x_affine_dim != y_affine_dim) { 2441: return; 2441: } 2441: 2441: if (tp != 0 && *tp > 0) { 2441: BD_Shape x_tmp(*this); 2441: x_tmp.BHMZ05_widening_assign(y, 0); 2441: 2441: if (!contains(x_tmp)) { 2441: --(*tp); 2441: } 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: y.shortest_path_reduction_assign(); 2441: 2441: 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: const Bit_Row& y_redundancy_i = y.redundancy_dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: N& dbm_ij = dbm_i[j]; 2441: 2441: 2441: 2441: if (y_redundancy_i[j] || y_dbm_i[j] != dbm_ij) { 2441: assign_r(dbm_ij, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: reset_shortest_path_closed(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::limited_BHMZ05_extrapolation_assign(const BD_Shape& y, 2441: const Constraint_System& cs, 2441: unsigned* tp) { 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("limited_BHMZ05_extrapolation_assign(y, cs)", 2441: y); 2441: } 2441: 2441: 2441: const dimension_type cs_space_dim = cs.space_dimension(); 2441: if (space_dim < cs_space_dim) { 2441: throw_invalid_argument("limited_BHMZ05_extrapolation_assign(y, cs)", 2441: "cs is space-dimension incompatible"); 2441: } 2441: 2441: if (cs.has_strict_inequalities()) { 2441: throw_invalid_argument("limited_BHMZ05_extrapolation_assign(y, cs)", 2441: "cs has strict inequalities"); 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: BD_Shape limiting_shape(space_dim, UNIVERSE); 2441: get_limiting_shape(cs, limiting_shape); 2441: BHMZ05_widening_assign(y, tp); 2441: intersection_assign(limiting_shape); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::CC76_narrowing_assign(const BD_Shape& y) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("CC76_narrowing_assign(y)", y); 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: y.shortest_path_closure_assign(); 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: bool changed = false; 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: const DB_Row& y_dbm_i = y.dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: N& dbm_ij = dbm_i[j]; 2441: const N& y_dbm_ij = y_dbm_i[j]; 2441: if (!is_plus_infinity(dbm_ij) 2441: && !is_plus_infinity(y_dbm_ij) 2441: && dbm_ij != y_dbm_ij) { 2441: dbm_ij = y_dbm_ij; 2441: changed = true; 2441: } 2441: } 2441: } 2441: if (changed && marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape 2441: ::deduce_v_minus_u_bounds(const dimension_type v, 2441: const dimension_type last_v, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& ub_v) { 2441: ((void) 0); 2441: ((void) 0); 2441: # 3423 "../../src/BD_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_mpq_sc_denom; mpq_class& mpq_sc_denom = holder_mpq_sc_denom.item(); 2441: assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED); 2441: const DB_Row& dbm_0 = dbm[0]; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_lb_u; mpq_class& minus_lb_u = holder_minus_lb_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ub_u; mpq_class& ub_u = holder_ub_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_up_approx; N& up_approx = holder_up_approx.item(); 2441: for (Linear_Expression::const_iterator u = sc_expr.begin(), 2441: u_end = sc_expr.lower_bound(Variable(last_v)); u != u_end; ++u) { 2441: const dimension_type u_dim = u.variable().space_dimension(); 2441: if (u_dim == v) { 2441: continue; 2441: } 2441: const Coefficient& expr_u = *u; 2441: if (expr_u < 0) { 2441: continue; 2441: } 2441: ((void) 0); 2441: if (expr_u >= sc_denom) { 2441: 2441: sub_assign_r(dbm[u_dim][v], ub_v, dbm_0[u_dim], ROUND_UP); 2441: } 2441: else { 2441: DB_Row& dbm_u = dbm[u_dim]; 2441: const N& dbm_u0 = dbm_u[0]; 2441: if (!is_plus_infinity(dbm_u0)) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: assign_r(minus_lb_u, dbm_u0, ROUND_NOT_NEEDED); 2441: assign_r(q, expr_u, ROUND_NOT_NEEDED); 2441: div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED); 2441: assign_r(ub_u, dbm_0[u_dim], ROUND_NOT_NEEDED); 2441: 2441: add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED); 2441: 2441: sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED); 2441: assign_r(up_approx, minus_lb_u, ROUND_UP); 2441: 2441: add_assign_r(dbm_u[v], ub_v, up_approx, ROUND_UP); 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape 2441: ::deduce_u_minus_v_bounds(const dimension_type v, 2441: const dimension_type last_v, 2441: const Linear_Expression& sc_expr, 2441: Coefficient_traits::const_reference sc_denom, 2441: const N& minus_lb_v) { 2441: ((void) 0); 2441: ((void) 0); 2441: # 3490 "../../src/BD_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_mpq_sc_denom; mpq_class& mpq_sc_denom = holder_mpq_sc_denom.item(); 2441: assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED); 2441: DB_Row& dbm_0 = dbm[0]; 2441: DB_Row& dbm_v = dbm[v]; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ub_u; mpq_class& ub_u = holder_ub_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_lb_u; mpq_class& minus_lb_u = holder_minus_lb_u.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_up_approx; N& up_approx = holder_up_approx.item(); 2441: 2441: for (Linear_Expression::const_iterator u = sc_expr.begin(), 2441: u_end = sc_expr.lower_bound(Variable(last_v)); u != u_end; ++u) { 2441: const Variable u_var = u.variable(); 2441: const dimension_type u_dim = u_var.space_dimension(); 2441: if (u_var.space_dimension() == v) { 2441: continue; 2441: } 2441: const Coefficient& expr_u = *u; 2441: if (expr_u < 0) { 2441: continue; 2441: } 2441: ((void) 0); 2441: if (expr_u >= sc_denom) { 2441: 2441: 2441: sub_assign_r(dbm_v[u_dim], minus_lb_v, dbm[u_dim][0], ROUND_UP); 2441: } 2441: else { 2441: const N& dbm_0u = dbm_0[u_dim]; 2441: if (!is_plus_infinity(dbm_0u)) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: assign_r(ub_u, dbm_0u, ROUND_NOT_NEEDED); 2441: assign_r(q, expr_u, ROUND_NOT_NEEDED); 2441: div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED); 2441: assign_r(minus_lb_u, dbm[u_dim][0], ROUND_NOT_NEEDED); 2441: 2441: add_assign_r(minus_lb_u, minus_lb_u, ub_u, ROUND_NOT_NEEDED); 2441: 2441: sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED); 2441: assign_r(up_approx, ub_u, ROUND_UP); 2441: 2441: add_assign_r(dbm_v[u_dim], up_approx, minus_lb_v, ROUND_UP); 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::forget_all_dbm_constraints(const dimension_type v) { 2441: ((void) 0); 2441: DB_Row& dbm_v = dbm[v]; 2441: for (dimension_type i = dbm.num_rows(); i-- > 0; ) { 2441: assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::forget_binary_dbm_constraints(const dimension_type v) { 2441: ((void) 0); 2441: DB_Row& dbm_v = dbm[v]; 2441: for (dimension_type i = dbm.num_rows()-1; i > 0; --i) { 2441: assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::unconstrain(const Variable var) { 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dimension() < var_space_dim) { 2441: throw_dimension_incompatible("unconstrain(var)", var_space_dim); 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: forget_all_dbm_constraints(var_space_dim); 2441: 2441: reset_shortest_path_reduced(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::unconstrain(const Variables_Set& vars) { 2441: 2441: 2441: if (vars.empty()) { 2441: return; 2441: } 2441: 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (space_dimension() < min_space_dim) { 2441: throw_dimension_incompatible("unconstrain(vs)", min_space_dim); 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: for (Variables_Set::const_iterator vsi = vars.begin(), 2441: vsi_end = vars.end(); vsi != vsi_end; ++vsi) { 2441: forget_all_dbm_constraints(*vsi + 1); 2441: } 2441: 2441: reset_shortest_path_reduced(); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::refine(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator) { 2441: ((void) 0); 2441: ((void) 0); 2441: const dimension_type v = var.id() + 1; 2441: ((void) 0); 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w = expr.last_nonzero(); 2441: 2441: if (w != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, w)) { 2441: ++t; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (t == 1 && expr.get(Variable(w - 1)) != denominator) { 2441: t = 2; 2441: } 2441: 2441: 2441: 2441: 2441: const DB_Row& dbm_0 = dbm[0]; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign(minus_denom, denominator); 2441: 2441: if (t == 0) { 2441: 2441: switch (relsym) { 2441: case EQUAL: 2441: 2441: add_dbm_constraint(0, v, b, denominator); 2441: add_dbm_constraint(v, 0, b, minus_denom); 2441: break; 2441: case LESS_OR_EQUAL: 2441: 2441: add_dbm_constraint(0, v, b, denominator); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: 2441: 2441: add_dbm_constraint(v, 0, b, minus_denom); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: ((void) 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: switch (relsym) { 2441: case EQUAL: 2441: 2441: div_round_up(d, b, denominator); 2441: add_dbm_constraint(w, v, d); 2441: 2441: 2441: div_round_up(d, b, minus_denom); 2441: add_dbm_constraint(v, w, d); 2441: break; 2441: case LESS_OR_EQUAL: 2441: 2441: div_round_up(d, b, denominator); 2441: add_dbm_constraint(w, v, d); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: 2441: 2441: div_round_up(d, b, minus_denom); 2441: add_dbm_constraint(v, w, d); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = is_sc ? b : minus_b; 2441: const Coefficient& minus_sc_b = is_sc ? minus_b : b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum; N& sum = holder_sum.item(); 2441: 2441: dimension_type pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type pinf_count = 0; 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: 2441: switch (relsym) { 2441: case EQUAL: 2441: { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_neg_sum; N& neg_sum = holder_neg_sum.item(); 2441: 2441: dimension_type neg_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type neg_pinf_count = 0; 2441: 2441: 2441: 2441: 2441: 2441: assign_r(sum, sc_b, ROUND_UP); 2441: assign_r(neg_sum, minus_sc_b, ROUND_UP); 2441: 2441: 2441: 2441: 2441: for (Linear_Expression::const_iterator i = sc_expr.begin(), 2441: i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) { 2441: const dimension_type i_dim = i.variable().space_dimension(); 2441: const Coefficient& sc_i = *i; 2441: const int sign_i = sgn(sc_i); 2441: ((void) 0); 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: 2441: if (pinf_count <= 1) { 2441: const N& approx_i = dbm_0[i_dim]; 2441: if (!is_plus_infinity(approx_i)) { 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: else { 2441: ++pinf_count; 2441: pinf_index = i_dim; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& approx_minus_i = dbm[i_dim][0]; 2441: if (!is_plus_infinity(approx_minus_i)) { 2441: add_mul_assign_r(neg_sum, coeff_i, approx_minus_i, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = i_dim; 2441: } 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: neg_assign(minus_sc_i, sc_i); 2441: 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: 2441: if (pinf_count <= 1) { 2441: const N& approx_minus_i = dbm[i_dim][0]; 2441: if (!is_plus_infinity(approx_minus_i)) { 2441: add_mul_assign_r(sum, coeff_i, approx_minus_i, ROUND_UP); 2441: } 2441: else { 2441: ++pinf_count; 2441: pinf_index = i_dim; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& approx_i = dbm_0[i_dim]; 2441: if (!is_plus_infinity(approx_i)) { 2441: add_mul_assign_r(neg_sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = i_dim; 2441: } 2441: } 2441: } 2441: } 2441: 2441: if (pinf_count > 1 && neg_pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: reset_shortest_path_closed(); 2441: 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: 2441: 2441: if (pinf_count <= 1) { 2441: 2441: if (down_sc_denom != 1) { 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: dbm[0][v] = sum; 2441: 2441: deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum); 2441: } 2441: else { 2441: 2441: if (pinf_index != v 2441: && sc_expr.get(Variable(pinf_index - 1)) == sc_denom) { 2441: 2441: dbm[pinf_index][v] = sum; 2441: } 2441: } 2441: } 2441: 2441: 2441: if (neg_pinf_count <= 1) { 2441: 2441: if (down_sc_denom != 1) { 2441: div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (neg_pinf_count == 0) { 2441: 2441: DB_Row& dbm_v = dbm[v]; 2441: dbm_v[0] = neg_sum; 2441: 2441: deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, neg_sum); 2441: } 2441: 2441: else if (neg_pinf_index != v 2441: && sc_expr.get(Variable(neg_pinf_index - 1)) == sc_denom) { 2441: 2441: 2441: dbm[v][neg_pinf_index] = neg_sum; 2441: } 2441: } 2441: } 2441: break; 2441: 2441: case LESS_OR_EQUAL: 2441: 2441: 2441: 2441: 2441: assign_r(sum, sc_b, ROUND_UP); 2441: 2441: 2441: 2441: 2441: for (Linear_Expression::const_iterator i = sc_expr.begin(), 2441: i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) { 2441: const Coefficient& sc_i = *i; 2441: const dimension_type i_dim = i.variable().space_dimension(); 2441: const int sign_i = sgn(sc_i); 2441: ((void) 0); 2441: 2441: const N& approx_i = (sign_i > 0) ? dbm_0[i_dim] : dbm[i_dim][0]; 2441: if (is_plus_infinity(approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = i_dim; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: add_dbm_constraint(0, v, sum); 2441: 2441: deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum); 2441: } 2441: else if (pinf_count == 1) { 2441: if (expr.get(Variable(pinf_index - 1)) == denominator) { 2441: 2441: add_dbm_constraint(pinf_index, v, sum); 2441: } 2441: } 2441: break; 2441: 2441: case GREATER_OR_EQUAL: 2441: 2441: 2441: 2441: 2441: 2441: assign_r(sum, minus_sc_b, ROUND_UP); 2441: 2441: 2441: for (Linear_Expression::const_iterator i = sc_expr.begin(), 2441: i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) { 2441: const Coefficient& sc_i = *i; 2441: const dimension_type i_dim = i.variable().space_dimension(); 2441: const int sign_i = sgn(sc_i); 2441: ((void) 0); 2441: 2441: const N& approx_i = (sign_i > 0) ? dbm[i_dim][0] : dbm_0[i_dim]; 2441: if (is_plus_infinity(approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = i_dim; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: add_dbm_constraint(v, 0, sum); 2441: 2441: deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, sum); 2441: } 2441: else if (pinf_count == 1) { 2441: if (pinf_index != v 2441: && expr.get(Variable(pinf_index - 1)) == denominator) { 2441: 2441: 2441: add_dbm_constraint(v, pinf_index, sum); 2441: } 2441: } 2441: break; 2441: 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::affine_image(const Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("affine_image(v, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("affine_image(v, e, d)", "e", expr); 2441: } 2441: 2441: const dimension_type v = var.id() + 1; 2441: if (v > space_dim) { 2441: throw_dimension_incompatible("affine_image(v, e, d)", var.id()); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w = expr.last_nonzero(); 2441: 2441: if (w != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, w)) { 2441: ++t; 2441: } 2441: } 2441: # 4071 "../../src/BD_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign(minus_denom, denominator); 2441: 2441: if (t == 0) { 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: add_dbm_constraint(0, v, b, denominator); 2441: add_dbm_constraint(v, 0, b, minus_denom); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& a = expr.get(Variable(w - 1)); 2441: if (a == denominator || a == minus_denom) { 2441: 2441: if (w == v) { 2441: 2441: if (a == denominator) { 2441: if (b == 0) { 2441: 2441: return; 2441: } 2441: else { 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, denominator); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c; N& c = holder_c.item(); 2441: div_round_up(c, b, minus_denom); 2441: DB_Row& dbm_v = dbm[v]; 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: N& dbm_vi = dbm_v[i]; 2441: add_assign_r(dbm_vi, dbm_vi, c, ROUND_UP); 2441: N& dbm_iv = dbm[i][v]; 2441: add_assign_r(dbm_iv, dbm_iv, d, ROUND_UP); 2441: } 2441: 2441: } 2441: } 2441: else { 2441: 2441: 2441: forget_binary_dbm_constraints(v); 2441: 2441: using std::swap; 2441: swap(dbm[v][0], dbm[0][v]); 2441: 2441: reset_shortest_path_closed(); 2441: if (b != 0) { 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c; N& c = holder_c.item(); 2441: div_round_up(c, b, minus_denom); 2441: N& dbm_v0 = dbm[v][0]; 2441: add_assign_r(dbm_v0, dbm_v0, c, ROUND_UP); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, denominator); 2441: N& dbm_0v = dbm[0][v]; 2441: add_assign_r(dbm_0v, dbm_0v, d, ROUND_UP); 2441: } 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: if (a == denominator) { 2441: 2441: add_dbm_constraint(w, v, b, denominator); 2441: add_dbm_constraint(v, w, b, minus_denom); 2441: } 2441: else { 2441: 2441: 2441: 2441: const N& dbm_w0 = dbm[w][0]; 2441: if (!is_plus_infinity(dbm_w0)) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, denominator); 2441: add_assign_r(dbm[0][v], d, dbm_w0, ROUND_UP); 2441: reset_shortest_path_closed(); 2441: } 2441: const N& dbm_0w = dbm[0][w]; 2441: if (!is_plus_infinity(dbm_0w)) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c; N& c = holder_c.item(); 2441: div_round_up(c, b, minus_denom); 2441: add_assign_r(dbm[v][0], dbm_0w, c, ROUND_UP); 2441: reset_shortest_path_closed(); 2441: } 2441: } 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: # 4194 "../../src/BD_Shape_templates.hh" 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = is_sc ? b : minus_b; 2441: const Coefficient& minus_sc_b = is_sc ? minus_b : b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_pos_sum; N& pos_sum = holder_pos_sum.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_neg_sum; N& neg_sum = holder_neg_sum.item(); 2441: 2441: dimension_type pos_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: dimension_type neg_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type pos_pinf_count = 0; 2441: dimension_type neg_pinf_count = 0; 2441: 2441: 2441: assign_r(pos_sum, sc_b, ROUND_UP); 2441: assign_r(neg_sum, minus_sc_b, ROUND_UP); 2441: 2441: 2441: const DB_Row& dbm_0 = dbm[0]; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: 2441: 2441: 2441: for (Linear_Expression::const_iterator i = sc_expr.begin(), 2441: i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) { 2441: const Coefficient& sc_i = *i; 2441: const dimension_type i_dim = i.variable().space_dimension(); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: 2441: if (pos_pinf_count <= 1) { 2441: const N& up_approx_i = dbm_0[i_dim]; 2441: if (!is_plus_infinity(up_approx_i)) { 2441: add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP); 2441: } 2441: else { 2441: ++pos_pinf_count; 2441: pos_pinf_index = i_dim; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& up_approx_minus_i = dbm[i_dim][0]; 2441: if (!is_plus_infinity(up_approx_minus_i)) { 2441: add_mul_assign_r(neg_sum, coeff_i, up_approx_minus_i, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = i_dim; 2441: } 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: neg_assign(minus_sc_i, sc_i); 2441: 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: 2441: if (pos_pinf_count <= 1) { 2441: const N& up_approx_minus_i = dbm[i_dim][0]; 2441: if (!is_plus_infinity(up_approx_minus_i)) { 2441: add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP); 2441: } 2441: else { 2441: ++pos_pinf_count; 2441: pos_pinf_index = i_dim; 2441: } 2441: } 2441: 2441: if (neg_pinf_count <= 1) { 2441: const N& up_approx_i = dbm_0[i_dim]; 2441: if (!is_plus_infinity(up_approx_i)) { 2441: add_mul_assign_r(neg_sum, coeff_i, up_approx_i, ROUND_UP); 2441: } 2441: else { 2441: ++neg_pinf_count; 2441: neg_pinf_index = i_dim; 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: if (pos_pinf_count > 1 && neg_pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: reset_shortest_path_closed(); 2441: 2441: 2441: if (pos_pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pos_pinf_count == 0) { 2441: 2441: dbm[0][v] = pos_sum; 2441: 2441: deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, pos_sum); 2441: } 2441: else if (pos_pinf_index != v 2441: && sc_expr.get(Variable(pos_pinf_index - 1)) == sc_denom) { 2441: 2441: dbm[pos_pinf_index][v] = pos_sum; 2441: } 2441: } 2441: 2441: 2441: if (neg_pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (neg_pinf_count == 0) { 2441: 2441: DB_Row& dbm_v = dbm[v]; 2441: dbm_v[0] = neg_sum; 2441: 2441: deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, neg_sum); 2441: } 2441: 2441: else if (neg_pinf_index != v 2441: && sc_expr.get(Variable(neg_pinf_index - 1)) == sc_denom) { 2441: 2441: 2441: dbm[v][neg_pinf_index] = neg_sum; 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape::affine_form_image(const Variable var, 2441: const Linear_Form< Interval >& lf) { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_4375 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type lf_space_dim = lf.space_dimension(); 2441: if (space_dim < lf_space_dim) { 2441: throw_dimension_incompatible("affine_form_image(var_id, l)", "l", lf); 2441: } 2441: 2441: const dimension_type var_id = var.id() + 1; 2441: if (space_dim < var_id) { 2441: throw_dimension_incompatible("affine_form_image(var_id, l)", var.id()); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w_id = 0; 2441: 2441: for (dimension_type i = lf_space_dim; i-- > 0; ) { 2441: if (lf.coefficient(Variable(i)) != 0) { 2441: if (t++ == 1) { 2441: break; 2441: } 2441: else { 2441: w_id = i + 1; 2441: } 2441: } 2441: } 2441: typedef Interval FP_Interval_Type; 2441: 2441: const FP_Interval_Type& b = lf.inhomogeneous_term(); 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: if (t == 0) { 2441: inhomogeneous_affine_form_image(var_id, b); 2441: ((void) 0); 2441: return; 2441: } 2441: else if (t == 1) { 2441: const FP_Interval_Type& w_coeff = lf.coefficient(Variable(w_id - 1)); 2441: if (w_coeff == 1 || w_coeff == -1) { 2441: one_variable_affine_form_image(var_id, b, w_coeff, w_id, space_dim); 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: two_variables_affine_form_image(var_id, lf, space_dim); 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: template 2441: void 2441: BD_Shape 2441: ::inhomogeneous_affine_form_image(const dimension_type& var_id, 2441: const Interval& b) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_ub; N& b_ub = holder_b_ub.item(); 2441: assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_mlb; N& b_mlb = holder_b_mlb.item(); 2441: neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED); 2441: 2441: 2441: forget_all_dbm_constraints(var_id); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: add_dbm_constraint(0, var_id, b_ub); 2441: add_dbm_constraint(var_id, 0, b_mlb); 2441: return; 2441: } 2441: 2441: 2441: 2441: template 2441: template 2441: void BD_Shape 2441: ::one_variable_affine_form_image(const dimension_type& var_id, 2441: const Interval& b, 2441: const Interval& w_coeff, 2441: const dimension_type& w_id, 2441: const dimension_type& space_dim) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_ub; N& b_ub = holder_b_ub.item(); 2441: assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_mlb; N& b_mlb = holder_b_mlb.item(); 2441: neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED); 2441: 2441: 2441: bool is_w_coeff_one = (w_coeff == 1); 2441: 2441: if (w_id == var_id) { 2441: 2441: bool is_b_zero = (b_mlb == 0 && b_ub == 0); 2441: 2441: if (is_w_coeff_one) { 2441: if (is_b_zero) { 2441: 2441: return; 2441: } 2441: else { 2441: 2441: 2441: DB_Row& dbm_v = dbm[var_id]; 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: N& dbm_vi = dbm_v[i]; 2441: add_assign_r(dbm_vi, dbm_vi, b_mlb, ROUND_UP); 2441: N& dbm_iv = dbm[i][var_id]; 2441: add_assign_r(dbm_iv, dbm_iv, b_ub, ROUND_UP); 2441: } 2441: 2441: } 2441: } 2441: else { 2441: 2441: 2441: forget_binary_dbm_constraints(var_id); 2441: using std::swap; 2441: swap(dbm[var_id][0], dbm[0][var_id]); 2441: 2441: reset_shortest_path_closed(); 2441: if (!is_b_zero) { 2441: 2441: 2441: N& dbm_v0 = dbm[var_id][0]; 2441: add_assign_r(dbm_v0, dbm_v0, b_mlb, ROUND_UP); 2441: N& dbm_0v = dbm[0][var_id]; 2441: add_assign_r(dbm_0v, dbm_0v, b_ub, ROUND_UP); 2441: } 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_dbm_constraints(var_id); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: if (is_w_coeff_one) { 2441: 2441: 2441: add_dbm_constraint(w_id, var_id, b_ub); 2441: add_dbm_constraint(var_id, w_id, b_mlb); 2441: } 2441: else { 2441: 2441: 2441: const N& mlb_w = dbm[w_id][0]; 2441: if (!is_plus_infinity(mlb_w)) { 2441: 2441: add_assign_r(dbm[0][var_id], b_ub, mlb_w, ROUND_UP); 2441: reset_shortest_path_closed(); 2441: } 2441: const N& ub_w = dbm[0][w_id]; 2441: if (!is_plus_infinity(ub_w)) { 2441: 2441: add_assign_r(dbm[var_id][0], ub_w, b_mlb, ROUND_UP); 2441: reset_shortest_path_closed(); 2441: } 2441: } 2441: } 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: 2441: template 2441: template 2441: void BD_Shape 2441: ::two_variables_affine_form_image(const dimension_type& var_id, 2441: const Linear_Form< Interval >& lf, 2441: const dimension_type& space_dim) { 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: reset_shortest_path_closed(); 2441: 2441: Linear_Form< Interval > minus_lf(lf); 2441: minus_lf.negate(); 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_upper_bound; N& upper_bound = holder_upper_bound.item(); 2441: 2441: 2441: for (dimension_type curr_var = 1; curr_var < var_id; ++curr_var) { 2441: Variable current(curr_var - 1); 2441: linear_form_upper_bound(lf - current, upper_bound); 2441: assign_r(dbm[curr_var][var_id], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(minus_lf + current, upper_bound); 2441: assign_r(dbm[var_id][curr_var], upper_bound, ROUND_NOT_NEEDED); 2441: } 2441: for (dimension_type curr_var = var_id + 1; curr_var <= space_dim; 2441: ++curr_var) { 2441: Variable current(curr_var - 1); 2441: linear_form_upper_bound(lf - current, upper_bound); 2441: assign_r(dbm[curr_var][var_id], upper_bound, ROUND_NOT_NEEDED); 2441: linear_form_upper_bound(minus_lf + current, upper_bound); 2441: assign_r(dbm[var_id][curr_var], upper_bound, ROUND_NOT_NEEDED); 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lf_ub; N& lf_ub = holder_lf_ub.item(); 2441: linear_form_upper_bound(lf, lf_ub); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_lf_ub; N& minus_lf_ub = holder_minus_lf_ub.item(); 2441: linear_form_upper_bound(minus_lf, minus_lf_ub); 2441: assign_r(dbm[0][var_id], lf_ub, ROUND_NOT_NEEDED); 2441: assign_r(dbm[var_id][0], minus_lf_ub, ROUND_NOT_NEEDED); 2441: } 2441: 2441: template 2441: template 2441: void BD_Shape::refine_with_linear_form_inequality( 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right) { 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_4611 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: const dimension_type left_space_dim = left.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim < left_space_dim) { 2441: throw_dimension_incompatible( 2441: "refine_with_linear_form_inequality(left, right)", "left", left); 2441: } 2441: const dimension_type right_space_dim = right.space_dimension(); 2441: if (space_dim < right_space_dim) { 2441: throw_dimension_incompatible( 2441: "refine_with_linear_form_inequality(left, right)", "right", right); 2441: } 2441: 2441: 2441: dimension_type left_t = 0; 2441: 2441: dimension_type left_w_id = 0; 2441: 2441: 2441: dimension_type right_t = 0; 2441: 2441: dimension_type right_w_id = 0; 2441: 2441: typedef Interval FP_Interval_Type; 2441: 2441: 2441: for (dimension_type i = left_space_dim; i-- > 0; ) { 2441: if (left.coefficient(Variable(i)) != 0) { 2441: if (left_t++ == 1) { 2441: break; 2441: } 2441: else { 2441: left_w_id = i; 2441: } 2441: } 2441: } 2441: 2441: 2441: for (dimension_type i = right_space_dim; i-- > 0; ) { 2441: if (right.coefficient(Variable(i)) != 0) { 2441: if (right_t++ == 1) { 2441: break; 2441: } 2441: else { 2441: right_w_id = i; 2441: } 2441: } 2441: } 2441: 2441: const FP_Interval_Type& left_w_coeff = 2441: left.coefficient(Variable(left_w_id)); 2441: const FP_Interval_Type& right_w_coeff = 2441: right.coefficient(Variable(right_w_id)); 2441: 2441: if (left_t == 0) { 2441: if (right_t == 0) { 2441: 2441: 2441: ((void) 0); 2441: return; 2441: } 2441: else if (right_w_coeff == 1 || right_w_coeff == -1) { 2441: left_inhomogeneous_refine(right_t, right_w_id, left, right); 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: else if (left_t == 1) { 2441: if (left_w_coeff == 1 || left_w_coeff == -1) { 2441: if (right_t == 0 || (right_w_coeff == 1 || right_w_coeff == -1)) { 2441: left_one_var_refine(left_w_id, right_t, right_w_id, left, right); 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: } 2441: 2441: 2441: general_refine(left_w_id, right_w_id, left, right); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape 2441: ::export_interval_constraints(U& dest) const { 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim > dest.space_dimension()) { 2441: throw std::invalid_argument( 2441: "BD_Shape::export_interval_constraints"); 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: 2441: if (marked_empty()) { 2441: dest.set_empty(); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; N& tmp = holder_tmp.item(); 2441: const DB_Row& dbm_0 = dbm[0]; 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: 2441: const N& u = dbm_0[i+1]; 2441: if (!is_plus_infinity(u)) { 2441: if (!dest.restrict_upper(i, u.raw_value())) { 2441: return; 2441: } 2441: } 2441: 2441: const N& negated_l = dbm[i+1][0]; 2441: if (!is_plus_infinity(negated_l)) { 2441: neg_assign_r(tmp, negated_l, ROUND_DOWN); 2441: if (!dest.restrict_lower(i, tmp.raw_value())) { 2441: return; 2441: } 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape::left_inhomogeneous_refine(const dimension_type& right_t, 2441: const dimension_type& right_w_id, 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right) { 2441: 2441: typedef Interval FP_Interval_Type; 2441: 2441: if (right_t == 1) { 2441: 2441: 2441: const FP_Interval_Type& right_w_coeff = 2441: right.coefficient(Variable(right_w_id)); 2441: if (right_w_coeff == 1) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_plus_minus_a_minus; N& b_plus_minus_a_minus = holder_b_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_b = right.inhomogeneous_term(); 2441: sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(), 2441: ROUND_UP); 2441: add_dbm_constraint(right_w_id+1, 0, b_plus_minus_a_minus); 2441: return; 2441: } 2441: 2441: if (right_w_coeff == -1) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b_plus_minus_a_minus; N& b_plus_minus_a_minus = holder_b_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_b = right.inhomogeneous_term(); 2441: sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(), 2441: ROUND_UP); 2441: add_dbm_constraint(0, right_w_id+1, b_plus_minus_a_minus); 2441: return; 2441: } 2441: } 2441: } 2441: 2441: 2441: template 2441: template 2441: void 2441: BD_Shape 2441: ::left_one_var_refine(const dimension_type& left_w_id, 2441: const dimension_type& right_t, 2441: const dimension_type& right_w_id, 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right) { 2441: 2441: typedef Interval FP_Interval_Type; 2441: 2441: if (right_t == 0) { 2441: 2441: 2441: const FP_Interval_Type& left_w_coeff = 2441: left.coefficient(Variable(left_w_id)); 2441: 2441: if (left_w_coeff == 1) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: add_dbm_constraint(0, left_w_id+1, a_plus_minus_b_minus); 2441: return; 2441: } 2441: 2441: if (left_w_coeff == -1) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: add_dbm_constraint(left_w_id+1, 0, a_plus_minus_b_minus); 2441: return; 2441: } 2441: } 2441: else if (right_t == 1) { 2441: 2441: 2441: 2441: 2441: const FP_Interval_Type& left_w_coeff = 2441: left.coefficient(Variable(left_w_id)); 2441: 2441: const FP_Interval_Type& right_w_coeff = 2441: right.coefficient(Variable(right_w_id)); 2441: 2441: bool is_left_coeff_one = (left_w_coeff == 1); 2441: bool is_left_coeff_minus_one = (left_w_coeff == -1); 2441: bool is_right_coeff_one = (right_w_coeff == 1); 2441: bool is_right_coeff_minus_one = (right_w_coeff == -1); 2441: if (left_w_id == right_w_id) { 2441: if ((is_left_coeff_one && is_right_coeff_one) 2441: || 2441: (is_left_coeff_minus_one && is_right_coeff_minus_one)) { 2441: 2441: return; 2441: } 2441: if (is_left_coeff_one && is_right_coeff_minus_one) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: div_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1, 2441: ROUND_UP); 2441: add_dbm_constraint(0, left_w_id + 1, a_plus_minus_b_minus); 2441: return; 2441: } 2441: if (is_left_coeff_minus_one && is_right_coeff_one) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: div_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1, 2441: ROUND_UP); 2441: add_dbm_constraint(right_w_id + 1, 0, a_plus_minus_b_minus); 2441: return; 2441: } 2441: } 2441: else if (is_left_coeff_minus_one && is_right_coeff_one) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ub; N& ub = holder_ub.item(); 2441: ub = dbm[0][right_w_id + 1]; 2441: if (!is_plus_infinity(ub)) { 2441: add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP); 2441: add_dbm_constraint(left_w_id + 1, 0, ub); 2441: } 2441: ub = dbm[0][left_w_id + 1]; 2441: if (!is_plus_infinity(ub)) { 2441: add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP); 2441: add_dbm_constraint(right_w_id + 1, 0, ub); 2441: } 2441: return; 2441: } 2441: if (is_left_coeff_one && is_right_coeff_minus_one) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a_plus_minus_b_minus; N& a_plus_minus_b_minus = holder_a_plus_minus_b_minus.item(); 2441: const FP_Interval_Type& left_b = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_a = right.inhomogeneous_term(); 2441: sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(), 2441: ROUND_UP); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_ub; N& ub = holder_ub.item(); 2441: ub = dbm[right_w_id + 1][0]; 2441: if (!is_plus_infinity(ub)) { 2441: add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP); 2441: add_dbm_constraint(0, left_w_id + 1, ub); 2441: } 2441: ub = dbm[left_w_id + 1][0]; 2441: if (!is_plus_infinity(ub)) { 2441: add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP); 2441: add_dbm_constraint(0, right_w_id + 1, ub); 2441: } 2441: return; 2441: } 2441: if (is_left_coeff_one && is_right_coeff_one) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_plus_minus_a_minus; N& c_plus_minus_a_minus = holder_c_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_c = right.inhomogeneous_term(); 2441: sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(), 2441: ROUND_UP); 2441: add_dbm_constraint(right_w_id+1, left_w_id+1, c_plus_minus_a_minus); 2441: return; 2441: } 2441: if (is_left_coeff_minus_one && is_right_coeff_minus_one) { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_c_plus_minus_a_minus; N& c_plus_minus_a_minus = holder_c_plus_minus_a_minus.item(); 2441: const FP_Interval_Type& left_a = left.inhomogeneous_term(); 2441: const FP_Interval_Type& right_c = right.inhomogeneous_term(); 2441: sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(), 2441: ROUND_UP); 2441: add_dbm_constraint(left_w_id+1, right_w_id+1, c_plus_minus_a_minus); 2441: return; 2441: } 2441: } 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape 2441: ::general_refine(const dimension_type& left_w_id, 2441: const dimension_type& right_w_id, 2441: const Linear_Form< Interval >& left, 2441: const Linear_Form< Interval >& right) { 2441: 2441: typedef Interval FP_Interval_Type; 2441: Linear_Form right_minus_left(right); 2441: right_minus_left -= left; 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_low_coeff; N& low_coeff = holder_low_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_high_coeff; N& high_coeff = holder_high_coeff.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_upper_bound; N& upper_bound = holder_upper_bound.item(); 2441: 2441: dimension_type max_w_id = std::max(left_w_id, right_w_id); 2441: 2441: for (dimension_type first_v = 0; first_v < max_w_id; ++first_v) { 2441: for (dimension_type second_v = first_v+1; 2441: second_v <= max_w_id; ++second_v) { 2441: const FP_Interval_Type& lfv_coefficient = 2441: left.coefficient(Variable(first_v)); 2441: const FP_Interval_Type& lsv_coefficient = 2441: left.coefficient(Variable(second_v)); 2441: const FP_Interval_Type& rfv_coefficient = 2441: right.coefficient(Variable(first_v)); 2441: const FP_Interval_Type& rsv_coefficient = 2441: right.coefficient(Variable(second_v)); 2441: 2441: 2441: bool do_update = false; 2441: assign_r(low_coeff, lfv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lfv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: else { 2441: assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: } 2441: } 2441: else { 2441: assign_r(low_coeff, rfv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rfv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: else { 2441: assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: } 2441: } 2441: } 2441: 2441: if (do_update) { 2441: Variable first(first_v); 2441: Variable second(second_v); 2441: dimension_type n_first_var = first_v +1 ; 2441: dimension_type n_second_var = second_v + 1; 2441: linear_form_upper_bound(right_minus_left - first + second, 2441: upper_bound); 2441: add_dbm_constraint(n_first_var, n_second_var, upper_bound); 2441: linear_form_upper_bound(right_minus_left + first - second, 2441: upper_bound); 2441: add_dbm_constraint(n_second_var, n_first_var, upper_bound); 2441: } 2441: } 2441: } 2441: 2441: 2441: for (dimension_type v = 0; v < max_w_id; ++v) { 2441: const FP_Interval_Type& lv_coefficient = 2441: left.coefficient(Variable(v)); 2441: const FP_Interval_Type& rv_coefficient = 2441: right.coefficient(Variable(v)); 2441: 2441: 2441: bool do_update = false; 2441: assign_r(low_coeff, lv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, lv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: else { 2441: assign_r(low_coeff, rv_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(high_coeff, rv_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (low_coeff != 0 || high_coeff != 0) { 2441: do_update = true; 2441: } 2441: } 2441: 2441: if (do_update) { 2441: Variable var(v); 2441: dimension_type n_var = v + 1; 2441: linear_form_upper_bound(right_minus_left + var, upper_bound); 2441: add_dbm_constraint(0, n_var, upper_bound); 2441: linear_form_upper_bound(right_minus_left - var, upper_bound); 2441: add_dbm_constraint(n_var, 0, upper_bound); 2441: } 2441: } 2441: 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape:: 2441: linear_form_upper_bound(const Linear_Form< Interval >& lf, 2441: N& result) const { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_5061 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits::is_exact)>) } 2441: 2441: ; 2441: 2441: const dimension_type lf_space_dimension = lf.space_dimension(); 2441: ((void) 0); 2441: 2441: typedef Interval FP_Interval_Type; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_lb; N& curr_lb = holder_curr_lb.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_ub; N& curr_ub = holder_curr_ub.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_var_ub; N& curr_var_ub = holder_curr_var_ub.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_curr_minus_var_ub; N& curr_minus_var_ub = holder_curr_minus_var_ub.item(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_first_comparison_term; N& first_comparison_term = holder_first_comparison_term.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_second_comparison_term; N& second_comparison_term = holder_second_comparison_term.item(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_negator; N& negator = holder_negator.item(); 2441: 2441: assign_r(result, lf.inhomogeneous_term().upper(), ROUND_NOT_NEEDED); 2441: 2441: for (dimension_type curr_var = 0, n_var = 0; curr_var < lf_space_dimension; 2441: ++curr_var) { 2441: n_var = curr_var + 1; 2441: const FP_Interval_Type& 2441: curr_coefficient = lf.coefficient(Variable(curr_var)); 2441: assign_r(curr_lb, curr_coefficient.lower(), ROUND_NOT_NEEDED); 2441: assign_r(curr_ub, curr_coefficient.upper(), ROUND_NOT_NEEDED); 2441: if (curr_lb != 0 || curr_ub != 0) { 2441: assign_r(curr_var_ub, dbm[0][n_var], ROUND_NOT_NEEDED); 2441: neg_assign_r(curr_minus_var_ub, dbm[n_var][0], ROUND_NOT_NEEDED); 2441: 2441: if (curr_lb == 1 && curr_ub == 1) { 2441: add_assign_r(result, result, std::max(curr_var_ub, curr_minus_var_ub), 2441: ROUND_UP); 2441: } 2441: else if (curr_lb == -1 && curr_ub == -1) { 2441: neg_assign_r(negator, std::min(curr_var_ub, curr_minus_var_ub), 2441: ROUND_NOT_NEEDED); 2441: add_assign_r(result, result, negator, ROUND_UP); 2441: } 2441: else { 2441: 2441: assign_r(first_comparison_term, 0, ROUND_NOT_NEEDED); 2441: assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); 2441: add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub, 2441: ROUND_UP); 2441: add_mul_assign_r(second_comparison_term, curr_var_ub, curr_lb, 2441: ROUND_UP); 2441: assign_r(first_comparison_term, std::max(first_comparison_term, 2441: second_comparison_term), 2441: ROUND_NOT_NEEDED); 2441: assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); 2441: add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub, 2441: ROUND_UP); 2441: assign_r(first_comparison_term, std::max(first_comparison_term, 2441: second_comparison_term), 2441: ROUND_NOT_NEEDED); 2441: assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); 2441: add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_lb, 2441: ROUND_UP); 2441: assign_r(first_comparison_term, std::max(first_comparison_term, 2441: second_comparison_term), 2441: ROUND_NOT_NEEDED); 2441: 2441: add_assign_r(result, result, first_comparison_term, ROUND_UP); 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::affine_preimage(const Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("affine_preimage(v, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr); 2441: } 2441: 2441: 2441: const dimension_type v = var.id() + 1; 2441: if (v > space_dim) { 2441: throw_dimension_incompatible("affine_preimage(v, e, d)", var.id()); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type j = expr.last_nonzero(); 2441: 2441: if (j != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, j)) { 2441: ++t; 2441: } 2441: } 2441: # 5179 "../../src/BD_Shape_templates.hh" 2441: if (t == 0) { 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& a = expr.get(Variable(j - 1)); 2441: if (a == denominator || a == -denominator) { 2441: 2441: if (j == var.space_dimension()) { 2441: 2441: affine_image(var, denominator*var - b, a); 2441: } 2441: else { 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: ((void) 0); 2441: } 2441: return; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: 2441: const Coefficient& expr_v = expr.coefficient(var); 2441: if (expr_v != 0) { 2441: 2441: Linear_Expression inverse((expr_v + denominator)*var); 2441: inverse -= expr; 2441: affine_image(var, inverse, expr_v); 2441: } 2441: else { 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape 2441: ::bounded_affine_image(const Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type bds_space_dim = space_dimension(); 2441: const dimension_type v = var.id() + 1; 2441: if (v > bds_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: "v", var); 2441: } 2441: 2441: 2441: const dimension_type lb_space_dim = lb_expr.space_dimension(); 2441: if (bds_space_dim < lb_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: "lb", lb_expr); 2441: } 2441: const dimension_type ub_space_dim = ub_expr.space_dimension(); 2441: if (bds_space_dim < ub_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: "ub", ub_expr); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: const Coefficient& b = ub_expr.inhomogeneous_term(); 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w = ub_expr.last_nonzero(); 2441: 2441: if (w != 0) { 2441: ++t; 2441: if (!ub_expr.all_zeroes(1, w)) { 2441: ++t; 2441: } 2441: } 2441: # 5292 "../../src/BD_Shape_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign(minus_denom, denominator); 2441: 2441: if (t == 0) { 2441: 2441: generalized_affine_image(var, 2441: GREATER_OR_EQUAL, 2441: lb_expr, 2441: denominator); 2441: 2441: add_dbm_constraint(0, v, b, denominator); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& a = ub_expr.get(Variable(w - 1)); 2441: if (a == denominator || a == minus_denom) { 2441: 2441: if (w == v) { 2441: 2441: 2441: const Variable new_var(bds_space_dim); 2441: add_space_dimensions_and_embed(1); 2441: 2441: affine_image(new_var, ub_expr, denominator); 2441: 2441: shortest_path_closure_assign(); 2441: ((void) 0); 2441: 2441: generalized_affine_image(var, 2441: GREATER_OR_EQUAL, 2441: lb_expr, 2441: denominator); 2441: 2441: add_constraint(var <= new_var); 2441: 2441: remove_higher_space_dimensions(bds_space_dim); 2441: return; 2441: } 2441: else { 2441: 2441: 2441: 2441: generalized_affine_image(var, 2441: GREATER_OR_EQUAL, 2441: lb_expr, 2441: denominator); 2441: if (a == denominator) { 2441: 2441: add_dbm_constraint(w, v, b, denominator); 2441: } 2441: else { 2441: 2441: 2441: 2441: const N& dbm_w0 = dbm[w][0]; 2441: if (!is_plus_infinity(dbm_w0)) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: div_round_up(d, b, denominator); 2441: add_assign_r(dbm[0][v], d, dbm_w0, ROUND_UP); 2441: reset_shortest_path_closed(); 2441: } 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: } 2441: # 5373 "../../src/BD_Shape_templates.hh" 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = is_sc ? b : minus_b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -ub_expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? ub_expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_pos_sum; N& pos_sum = holder_pos_sum.item(); 2441: 2441: dimension_type pos_pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type pos_pinf_count = 0; 2441: 2441: 2441: assign_r(pos_sum, sc_b, ROUND_UP); 2441: 2441: 2441: const DB_Row& dbm_0 = dbm[0]; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: 2441: 2441: for (Linear_Expression::const_iterator i = sc_expr.begin(), 2441: i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) { 2441: const Coefficient& sc_i = *i; 2441: const dimension_type i_dim = i.variable().space_dimension(); 2441: const int sign_i = sgn(sc_i); 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: 2441: if (pos_pinf_count <= 1) { 2441: const N& up_approx_i = dbm_0[i_dim]; 2441: if (!is_plus_infinity(up_approx_i)) { 2441: add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP); 2441: } 2441: else { 2441: ++pos_pinf_count; 2441: pos_pinf_index = i_dim; 2441: } 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: neg_assign(minus_sc_i, sc_i); 2441: 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: 2441: if (pos_pinf_count <= 1) { 2441: const N& up_approx_minus_i = dbm[i_dim][0]; 2441: if (!is_plus_infinity(up_approx_minus_i)) { 2441: add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP); 2441: } 2441: else { 2441: ++pos_pinf_count; 2441: pos_pinf_index = i_dim; 2441: } 2441: } 2441: } 2441: } 2441: 2441: generalized_affine_image(var, 2441: GREATER_OR_EQUAL, 2441: lb_expr, 2441: denominator); 2441: 2441: if (pos_pinf_count > 1) { 2441: return; 2441: } 2441: 2441: 2441: reset_shortest_path_closed(); 2441: 2441: 2441: if (pos_pinf_count <= 1) { 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pos_pinf_count == 0) { 2441: 2441: dbm[0][v] = pos_sum; 2441: 2441: deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, pos_sum); 2441: } 2441: 2441: else if (pos_pinf_index != v 2441: && sc_expr.get(Variable(pos_pinf_index - 1)) == sc_denom) { 2441: 2441: dbm[pos_pinf_index][v] = pos_sum; 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape 2441: ::bounded_affine_preimage(const Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type v = var.id() + 1; 2441: if (v > space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "v", var); 2441: } 2441: 2441: 2441: const dimension_type lb_space_dim = lb_expr.space_dimension(); 2441: if (space_dim < lb_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "lb", lb_expr); 2441: } 2441: const dimension_type ub_space_dim = ub_expr.space_dimension(); 2441: if (space_dim < ub_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "ub", ub_expr); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: if (ub_expr.coefficient(var) == 0) { 2441: refine(var, LESS_OR_EQUAL, ub_expr, denominator); 2441: generalized_affine_preimage(var, GREATER_OR_EQUAL, 2441: lb_expr, denominator); 2441: return; 2441: } 2441: if (lb_expr.coefficient(var) == 0) { 2441: refine(var, GREATER_OR_EQUAL, lb_expr, denominator); 2441: generalized_affine_preimage(var, LESS_OR_EQUAL, 2441: ub_expr, denominator); 2441: return; 2441: } 2441: 2441: const Coefficient& lb_expr_v = lb_expr.coefficient(var); 2441: 2441: 2441: const Variable new_var(space_dim); 2441: add_space_dimensions_and_embed(1); 2441: const Linear_Expression lb_inverse 2441: = lb_expr - (lb_expr_v + denominator)*var; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lb_inverse_denom; Parma_Polyhedra_Library::Coefficient& lb_inverse_denom = holder_lb_inverse_denom.item(); 2441: neg_assign(lb_inverse_denom, lb_expr_v); 2441: affine_image(new_var, lb_inverse, lb_inverse_denom); 2441: shortest_path_closure_assign(); 2441: ((void) 0); 2441: generalized_affine_preimage(var, LESS_OR_EQUAL, 2441: ub_expr, denominator); 2441: if (sgn(denominator) == sgn(lb_inverse_denom)) { 2441: add_constraint(var >= new_var); 2441: } 2441: else { 2441: add_constraint(var <= new_var); 2441: } 2441: 2441: remove_higher_space_dimensions(space_dim); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::generalized_affine_image(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", 2441: "e", expr); 2441: } 2441: 2441: const dimension_type v = var.id() + 1; 2441: if (v > space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", 2441: var.id()); 2441: } 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", 2441: "r is the disequality relation symbol"); 2441: } 2441: if (relsym == EQUAL) { 2441: 2441: 2441: affine_image(var, expr, denominator); 2441: return; 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: const Coefficient& b = expr.inhomogeneous_term(); 2441: 2441: 2441: dimension_type t = 0; 2441: 2441: dimension_type w = expr.last_nonzero(); 2441: 2441: if (w != 0) { 2441: ++t; 2441: if (!expr.all_zeroes(1, w)) { 2441: ++t; 2441: } 2441: } 2441: # 5626 "../../src/BD_Shape_templates.hh" 2441: DB_Row& dbm_0 = dbm[0]; 2441: DB_Row& dbm_v = dbm[v]; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_denom; Parma_Polyhedra_Library::Coefficient& minus_denom = holder_minus_denom.item(); 2441: neg_assign(minus_denom, denominator); 2441: 2441: if (t == 0) { 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: reset_shortest_path_closed(); 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: 2441: add_dbm_constraint(0, v, b, denominator); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: 2441: 2441: add_dbm_constraint(v, 0, b, minus_denom); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: if (t == 1) { 2441: 2441: const Coefficient& a = expr.get(Variable(w - 1)); 2441: if (a == denominator || a == minus_denom) { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; N& d = holder_d.item(); 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: div_round_up(d, b, denominator); 2441: if (w == v) { 2441: 2441: 2441: reset_shortest_path_closed(); 2441: if (a == denominator) { 2441: 2441: 2441: 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: N& dbm_iv = dbm[i][v]; 2441: add_assign_r(dbm_iv, dbm_iv, d, ROUND_UP); 2441: assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: N& dbm_v0 = dbm_v[0]; 2441: add_assign_r(dbm_0[v], dbm_v0, d, ROUND_UP); 2441: 2441: assign_r(dbm_v0, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: forget_binary_dbm_constraints(v); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: if (a == denominator) { 2441: 2441: add_dbm_constraint(w, v, d); 2441: } 2441: else { 2441: 2441: 2441: 2441: const N& dbm_w0 = dbm[w][0]; 2441: if (!is_plus_infinity(dbm_w0)) { 2441: 2441: add_assign_r(dbm_0[v], d, dbm_w0, ROUND_UP); 2441: 2441: reset_shortest_path_closed(); 2441: } 2441: } 2441: } 2441: break; 2441: 2441: case GREATER_OR_EQUAL: 2441: div_round_up(d, b, minus_denom); 2441: if (w == v) { 2441: 2441: 2441: reset_shortest_path_closed(); 2441: if (a == denominator) { 2441: 2441: 2441: 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: N& dbm_vi = dbm_v[i]; 2441: add_assign_r(dbm_vi, dbm_vi, d, ROUND_UP); 2441: assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: N& dbm_0v = dbm_0[v]; 2441: add_assign_r(dbm_v[0], dbm_0v, d, ROUND_UP); 2441: 2441: assign_r(dbm_0v, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: forget_binary_dbm_constraints(v); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: if (a == denominator) { 2441: 2441: 2441: add_dbm_constraint(v, w, d); 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: const N& dbm_0w = dbm_0[w]; 2441: if (!is_plus_infinity(dbm_0w)) { 2441: 2441: add_assign_r(dbm_v[0], dbm_0w, d, ROUND_UP); 2441: 2441: reset_shortest_path_closed(); 2441: } 2441: } 2441: } 2441: break; 2441: 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: # 5792 "../../src/BD_Shape_templates.hh" 2441: const bool is_sc = (denominator > 0); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_b; Parma_Polyhedra_Library::Coefficient& minus_b = holder_minus_b.item(); 2441: neg_assign(minus_b, b); 2441: const Coefficient& sc_b = is_sc ? b : minus_b; 2441: const Coefficient& minus_sc_b = is_sc ? minus_b : b; 2441: const Coefficient& sc_denom = is_sc ? denominator : minus_denom; 2441: const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator; 2441: 2441: 2441: 2441: Linear_Expression minus_expr; 2441: if (!is_sc) { 2441: minus_expr = -expr; 2441: } 2441: const Linear_Expression& sc_expr = is_sc ? expr : minus_expr; 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_sum; N& sum = holder_sum.item(); 2441: 2441: dimension_type pinf_index = Suppress_Uninitialized_Warnings_Type::synonym(); 2441: 2441: dimension_type pinf_count = 0; 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_coeff_i; N& coeff_i = holder_coeff_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_minus_sc_i; Parma_Polyhedra_Library::Coefficient& minus_sc_i = holder_minus_sc_i.item(); 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: 2441: 2441: 2441: assign_r(sum, sc_b, ROUND_UP); 2441: 2441: 2441: 2441: ((void) 0); 2441: for (Linear_Expression::const_iterator i = sc_expr.begin(), 2441: i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) { 2441: const Coefficient& sc_i = *i; 2441: const dimension_type i_dim = i.variable().space_dimension(); 2441: const int sign_i = sgn(sc_i); 2441: ((void) 0); 2441: 2441: const N& approx_i = (sign_i > 0) ? dbm_0[i_dim] : dbm[i_dim][0]; 2441: if (is_plus_infinity(approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = i_dim; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: if (pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: add_dbm_constraint(0, v, sum); 2441: 2441: deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum); 2441: } 2441: else if (pinf_count == 1) { 2441: if (pinf_index != v 2441: && expr.get(Variable(pinf_index - 1)) == denominator) { 2441: 2441: add_dbm_constraint(pinf_index, v, sum); 2441: } 2441: } 2441: break; 2441: 2441: case GREATER_OR_EQUAL: 2441: 2441: 2441: 2441: 2441: 2441: assign_r(sum, minus_sc_b, ROUND_UP); 2441: 2441: for (Linear_Expression::const_iterator i = sc_expr.begin(), 2441: i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) { 2441: const Coefficient& sc_i = *i; 2441: const int sign_i = sgn(sc_i); 2441: ((void) 0); 2441: const dimension_type i_dim = i.variable().space_dimension(); 2441: 2441: const N& approx_i = (sign_i > 0) ? dbm[i_dim][0] : dbm_0[i_dim]; 2441: if (is_plus_infinity(approx_i)) { 2441: if (++pinf_count > 1) { 2441: break; 2441: } 2441: pinf_index = i_dim; 2441: continue; 2441: } 2441: if (sign_i > 0) { 2441: assign_r(coeff_i, sc_i, ROUND_UP); 2441: } 2441: else { 2441: neg_assign(minus_sc_i, sc_i); 2441: assign_r(coeff_i, minus_sc_i, ROUND_UP); 2441: } 2441: add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP); 2441: } 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: 2441: if (pinf_count > 1) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: if (sc_denom != 1) { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_down_sc_denom; N& down_sc_denom = holder_down_sc_denom.item(); 2441: assign_r(down_sc_denom, minus_sc_denom, ROUND_UP); 2441: neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP); 2441: div_assign_r(sum, sum, down_sc_denom, ROUND_UP); 2441: } 2441: 2441: if (pinf_count == 0) { 2441: 2441: add_dbm_constraint(v, 0, sum); 2441: 2441: deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, sum); 2441: } 2441: else if (pinf_count == 1) { 2441: if (pinf_index != v 2441: && expr.get(Variable(pinf_index - 1)) == denominator) { 2441: 2441: 2441: add_dbm_constraint(v, pinf_index, sum); 2441: } 2441: } 2441: break; 2441: 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::generalized_affine_image(const Linear_Expression& lhs, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& rhs) { 2441: 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type lhs_space_dim = lhs.space_dimension(); 2441: if (space_dim < lhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e1", lhs); 2441: } 2441: 2441: 2441: const dimension_type rhs_space_dim = rhs.space_dimension(); 2441: if (space_dim < rhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e2", rhs); 2441: } 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_image(e1, r, e2)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_image(e1, r, e2)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: dimension_type t_lhs = 0; 2441: 2441: dimension_type j_lhs = lhs.last_nonzero(); 2441: 2441: if (j_lhs != 0) { 2441: ++t_lhs; 2441: if (!lhs.all_zeroes(1, j_lhs)) { 2441: ++t_lhs; 2441: } 2441: --j_lhs; 2441: } 2441: 2441: const Coefficient& b_lhs = lhs.inhomogeneous_term(); 2441: 2441: if (t_lhs == 0) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(lhs <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(lhs == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(lhs >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: else if (t_lhs == 1) { 2441: 2441: 2441: 2441: Variable v(j_lhs); 2441: 2441: const Coefficient& denom = lhs.coefficient(v); 2441: Relation_Symbol new_relsym = relsym; 2441: if (denom < 0) { 2441: if (relsym == LESS_OR_EQUAL) { 2441: new_relsym = GREATER_OR_EQUAL; 2441: } 2441: else if (relsym == GREATER_OR_EQUAL) { 2441: new_relsym = LESS_OR_EQUAL; 2441: } 2441: } 2441: Linear_Expression expr = rhs - b_lhs; 2441: generalized_affine_image(v, new_relsym, expr, denom); 2441: } 2441: else { 2441: 2441: 2441: std::vector lhs_vars; 2441: for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end(); 2441: i != i_end; ++i) { 2441: lhs_vars.push_back(i.variable()); 2441: } 2441: const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim); 2441: if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) { 2441: 2441: 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: forget_all_dbm_constraints(lhs_vars[i].id() + 1); 2441: } 2441: 2441: 2441: 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(lhs <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(lhs == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(lhs >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: forget_all_dbm_constraints(lhs_vars[i].id() + 1); 2441: } 2441: # 6155 "../../src/BD_Shape_templates.hh" 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::generalized_affine_preimage(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", 2441: "d == 0"); 2441: } 2441: 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)", 2441: "e", expr); 2441: } 2441: 2441: const dimension_type v = var.id() + 1; 2441: if (v > space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)", 2441: var.id()); 2441: } 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", 2441: "r is the disequality relation symbol"); 2441: } 2441: if (relsym == EQUAL) { 2441: 2441: 2441: affine_preimage(var, expr, denominator); 2441: return; 2441: } 2441: 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: const Coefficient& expr_v = expr.coefficient(var); 2441: if (expr_v != 0) { 2441: const Relation_Symbol reversed_relsym = (relsym == LESS_OR_EQUAL) 2441: ? GREATER_OR_EQUAL : LESS_OR_EQUAL; 2441: const Linear_Expression inverse 2441: = expr - (expr_v + denominator)*var; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_inverse_denom; Parma_Polyhedra_Library::Coefficient& inverse_denom = holder_inverse_denom.item(); 2441: neg_assign(inverse_denom, expr_v); 2441: const Relation_Symbol inverse_relsym 2441: = (sgn(denominator) == sgn(inverse_denom)) ? relsym : reversed_relsym; 2441: generalized_affine_image(var, inverse_relsym, inverse, inverse_denom); 2441: return; 2441: } 2441: 2441: refine(var, relsym, expr, denominator); 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: 2441: forget_all_dbm_constraints(v); 2441: 2441: if (marked_shortest_path_reduced()) { 2441: reset_shortest_path_reduced(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::generalized_affine_preimage(const Linear_Expression& lhs, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& rhs) { 2441: 2441: 2441: 2441: const dimension_type bds_space_dim = space_dimension(); 2441: const dimension_type lhs_space_dim = lhs.space_dimension(); 2441: if (bds_space_dim < lhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)", 2441: "e1", lhs); 2441: } 2441: 2441: 2441: const dimension_type rhs_space_dim = rhs.space_dimension(); 2441: if (bds_space_dim < rhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)", 2441: "e2", rhs); 2441: } 2441: 2441: if (relsym == LESS_THAN || relsym == GREATER_THAN) { 2441: throw_invalid_argument("generalized_affine_preimage(e1, r, e2)", 2441: "r is a strict relation symbol"); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_preimage(e1, r, e2)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: dimension_type t_lhs = 0; 2441: 2441: dimension_type j_lhs = lhs.last_nonzero(); 2441: 2441: if (j_lhs != 0) { 2441: ++t_lhs; 2441: if (!lhs.all_zeroes(1, j_lhs)) { 2441: ++t_lhs; 2441: } 2441: --j_lhs; 2441: } 2441: 2441: const Coefficient& b_lhs = lhs.inhomogeneous_term(); 2441: 2441: if (t_lhs == 0) { 2441: 2441: 2441: generalized_affine_image(lhs, relsym, rhs); 2441: return; 2441: } 2441: else if (t_lhs == 1) { 2441: 2441: 2441: 2441: Variable v(j_lhs); 2441: 2441: const Coefficient& denom = lhs.coefficient(v); 2441: Relation_Symbol new_relsym = relsym; 2441: if (denom < 0) { 2441: if (relsym == LESS_OR_EQUAL) { 2441: new_relsym = GREATER_OR_EQUAL; 2441: } 2441: else if (relsym == GREATER_OR_EQUAL) { 2441: new_relsym = LESS_OR_EQUAL; 2441: } 2441: } 2441: Linear_Expression expr = rhs - b_lhs; 2441: generalized_affine_preimage(v, new_relsym, expr, denom); 2441: } 2441: else { 2441: 2441: 2441: std::vector lhs_vars; 2441: for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end(); 2441: i != i_end; ++i) { 2441: lhs_vars.push_back(i.variable()); 2441: } 2441: const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim); 2441: if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(lhs <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(lhs == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(lhs >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: forget_all_dbm_constraints(lhs_vars[i].id() + 1); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: const Variable new_var(bds_space_dim); 2441: add_space_dimensions_and_embed(1); 2441: 2441: 2441: 2441: 2441: affine_image(new_var, lhs); 2441: 2441: 2441: shortest_path_closure_assign(); 2441: ((void) 0); 2441: for (dimension_type i = lhs_vars.size(); i-- > 0; ) { 2441: forget_all_dbm_constraints(lhs_vars[i].id() + 1); 2441: } 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: refine_no_check(new_var <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_no_check(new_var == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_no_check(new_var >= rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: remove_higher_space_dimensions(bds_space_dim); 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: Constraint_System 2441: BD_Shape::constraints() const { 2441: const dimension_type space_dim = space_dimension(); 2441: Constraint_System cs; 2441: cs.set_space_dimension(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cs = Constraint_System::zero_dim_empty(); 2441: } 2441: return cs; 2441: } 2441: 2441: if (marked_empty()) { 2441: cs.insert(Constraint::zero_dim_false()); 2441: return cs; 2441: } 2441: 2441: if (marked_shortest_path_reduced()) { 2441: 2441: cs = minimized_constraints(); 2441: return cs; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_a; Parma_Polyhedra_Library::Coefficient& a = holder_a.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_b; Parma_Polyhedra_Library::Coefficient& b = holder_b.item(); 2441: 2441: const DB_Row& dbm_0 = dbm[0]; 2441: for (dimension_type j = 1; j <= space_dim; ++j) { 2441: const Variable x(j-1); 2441: const N& dbm_0j = dbm_0[j]; 2441: const N& dbm_j0 = dbm[j][0]; 2441: if (is_additive_inverse(dbm_j0, dbm_0j)) { 2441: 2441: numer_denom(dbm_0j, b, a); 2441: cs.insert(a*x == b); 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(dbm_0j)) { 2441: numer_denom(dbm_0j, b, a); 2441: cs.insert(a*x <= b); 2441: } 2441: if (!is_plus_infinity(dbm_j0)) { 2441: numer_denom(dbm_j0, b, a); 2441: cs.insert(-a*x <= b); 2441: } 2441: } 2441: } 2441: 2441: 2441: for (dimension_type i = 1; i <= space_dim; ++i) { 2441: const Variable y(i-1); 2441: const DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = i + 1; j <= space_dim; ++j) { 2441: const Variable x(j-1); 2441: const N& dbm_ij = dbm_i[j]; 2441: const N& dbm_ji = dbm[j][i]; 2441: if (is_additive_inverse(dbm_ji, dbm_ij)) { 2441: 2441: numer_denom(dbm_ij, b, a); 2441: cs.insert(a*x - a*y == b); 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(dbm_ij)) { 2441: numer_denom(dbm_ij, b, a); 2441: cs.insert(a*x - a*y <= b); 2441: } 2441: if (!is_plus_infinity(dbm_ji)) { 2441: numer_denom(dbm_ji, b, a); 2441: cs.insert(a*y - a*x <= b); 2441: } 2441: } 2441: } 2441: } 2441: return cs; 2441: } 2441: 2441: template 2441: Constraint_System 2441: BD_Shape::minimized_constraints() const { 2441: shortest_path_reduction_assign(); 2441: const dimension_type space_dim = space_dimension(); 2441: Constraint_System cs; 2441: cs.set_space_dimension(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cs = Constraint_System::zero_dim_empty(); 2441: } 2441: return cs; 2441: } 2441: 2441: if (marked_empty()) { 2441: cs.insert(Constraint::zero_dim_false()); 2441: return cs; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: 2441: 2441: std::vector leaders; 2441: compute_leaders(leaders); 2441: std::vector leader_indices; 2441: compute_leader_indices(leaders, leader_indices); 2441: const dimension_type num_leaders = leader_indices.size(); 2441: 2441: 2441: const DB_Row& dbm_0 = dbm[0]; 2441: for (dimension_type i = 1; i <= space_dim; ++i) { 2441: const dimension_type leader = leaders[i]; 2441: if (i != leader) { 2441: 2441: if (leader == 0) { 2441: 2441: ((void) 0); 2441: numer_denom(dbm_0[i], numer, denom); 2441: cs.insert(denom*Variable(i-1) == numer); 2441: } 2441: else { 2441: 2441: ((void) 0); 2441: numer_denom(dbm[i][leader], numer, denom); 2441: cs.insert(denom*Variable(leader-1) - denom*Variable(i-1) == numer); 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: const Bit_Row& red_0 = redundancy_dbm[0]; 2441: for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) { 2441: const dimension_type i = leader_indices[l_i]; 2441: if (!red_0[i]) { 2441: numer_denom(dbm_0[i], numer, denom); 2441: cs.insert(denom*Variable(i-1) <= numer); 2441: } 2441: if (!redundancy_dbm[i][0]) { 2441: numer_denom(dbm[i][0], numer, denom); 2441: cs.insert(-denom*Variable(i-1) <= numer); 2441: } 2441: } 2441: 2441: for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) { 2441: const dimension_type i = leader_indices[l_i]; 2441: const DB_Row& dbm_i = dbm[i]; 2441: const Bit_Row& red_i = redundancy_dbm[i]; 2441: for (dimension_type l_j = l_i + 1; l_j < num_leaders; ++l_j) { 2441: const dimension_type j = leader_indices[l_j]; 2441: if (!red_i[j]) { 2441: numer_denom(dbm_i[j], numer, denom); 2441: cs.insert(denom*Variable(j-1) - denom*Variable(i-1) <= numer); 2441: } 2441: if (!redundancy_dbm[j][i]) { 2441: numer_denom(dbm[j][i], numer, denom); 2441: cs.insert(denom*Variable(i-1) - denom*Variable(j-1) <= numer); 2441: } 2441: } 2441: } 2441: return cs; 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::expand_space_dimension(Variable var, dimension_type m) { 2441: dimension_type old_dim = space_dimension(); 2441: 2441: if (var.space_dimension() > old_dim) { 2441: throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var); 2441: } 2441: 2441: 2441: 2441: if (m > max_space_dimension() - space_dimension()) { 2441: throw_invalid_argument("expand_dimension(v, m)", 2441: "adding m new space dimensions exceeds " 2441: "the maximum allowed space dimension"); 2441: } 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: 2441: add_space_dimensions_and_embed(m); 2441: 2441: 2441: 2441: 2441: const dimension_type v_id = var.id() + 1; 2441: const DB_Row& dbm_v = dbm[v_id]; 2441: for (dimension_type i = old_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: const N& dbm_i_v = dbm[i][v_id]; 2441: const N& dbm_v_i = dbm_v[i]; 2441: for (dimension_type j = old_dim+1; j < old_dim+m+1; ++j) { 2441: dbm_i[j] = dbm_i_v; 2441: dbm[j][i] = dbm_v_i; 2441: } 2441: } 2441: 2441: 2441: if (marked_shortest_path_closed()) { 2441: reset_shortest_path_closed(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::fold_space_dimensions(const Variables_Set& vars, 2441: Variable dest) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (dest.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("fold_space_dimensions(vs, v)", 2441: "v", dest); 2441: } 2441: 2441: if (vars.empty()) { 2441: return; 2441: } 2441: 2441: if (vars.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("fold_space_dimensions(vs, v)", 2441: vars.space_dimension()); 2441: } 2441: 2441: if (vars.find(dest.id()) != vars.end()) { 2441: throw_invalid_argument("fold_space_dimensions(vs, v)", 2441: "v should not occur in vs"); 2441: } 2441: shortest_path_closure_assign(); 2441: if (!marked_empty()) { 2441: 2441: 2441: 2441: 2441: const dimension_type v_id = dest.id() + 1; 2441: DB_Row& dbm_v = dbm[v_id]; 2441: for (Variables_Set::const_iterator i = vars.begin(), 2441: vs_end = vars.end(); i != vs_end; ++i) { 2441: const dimension_type to_be_folded_id = *i + 1; 2441: const DB_Row& dbm_to_be_folded_id = dbm[to_be_folded_id]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: max_assign(dbm[j][v_id], dbm[j][to_be_folded_id]); 2441: max_assign(dbm_v[j], dbm_to_be_folded_id[j]); 2441: } 2441: } 2441: } 2441: remove_space_dimensions(vars); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::drop_some_non_integer_points(Complexity_Class) { 2441: if (std::numeric_limits::is_integer) { 2441: return; 2441: } 2441: const dimension_type space_dim = space_dimension(); 2441: shortest_path_closure_assign(); 2441: if (space_dim == 0 || marked_empty()) { 2441: return; 2441: } 2441: for (dimension_type i = space_dim + 1; i-- > 0; ) { 2441: DB_Row& dbm_i = dbm[i]; 2441: for (dimension_type j = space_dim + 1; j-- > 0; ) { 2441: if (i != j) { 2441: drop_some_non_integer_points_helper(dbm_i[j]); 2441: } 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class) { 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (space_dim < min_space_dim) { 2441: throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)", 2441: min_space_dim); 2441: } 2441: if (std::numeric_limits::is_integer || min_space_dim == 0) { 2441: return; 2441: } 2441: shortest_path_closure_assign(); 2441: if (marked_empty()) { 2441: return; 2441: } 2441: const Variables_Set::const_iterator v_begin = vars.begin(); 2441: const Variables_Set::const_iterator v_end = vars.end(); 2441: ((void) 0); 2441: 2441: DB_Row& dbm_0 = dbm[0]; 2441: for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) { 2441: const dimension_type i = *v_i + 1; 2441: drop_some_non_integer_points_helper(dbm_0[i]); 2441: drop_some_non_integer_points_helper(dbm[i][0]); 2441: } 2441: 2441: 2441: for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) { 2441: const dimension_type i = *v_i + 1; 2441: DB_Row& dbm_i = dbm[i]; 2441: for (Variables_Set::const_iterator v_j = v_begin; v_j != v_end; ++v_j) { 2441: const dimension_type j = *v_j + 1; 2441: if (i != j) { 2441: drop_some_non_integer_points_helper(dbm_i[j]); 2441: } 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: 2441: template 2441: std::ostream& 2441: IO_Operators::operator<<(std::ostream& s, const BD_Shape& bds) { 2441: typedef typename BD_Shape::coefficient_type N; 2441: if (bds.is_universe()) { 2441: s << "true"; 2441: } 2441: else { 2441: 2441: dimension_type n = bds.space_dimension(); 2441: if (bds.marked_empty()) { 2441: s << "false"; 2441: } 2441: else { 2441: Parma_Polyhedra_Library::Dirty_Temp holder_v; N& v = holder_v.item(); 2441: bool first = true; 2441: for (dimension_type i = 0; i <= n; ++i) { 2441: for (dimension_type j = i + 1; j <= n; ++j) { 2441: const N& c_i_j = bds.dbm[i][j]; 2441: const N& c_j_i = bds.dbm[j][i]; 2441: if (is_additive_inverse(c_j_i, c_i_j)) { 2441: 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: if (i == 0) { 2441: 2441: s << Variable(j - 1); 2441: s << " = " << c_i_j; 2441: } 2441: else { 2441: 2441: if (sgn(c_i_j) >= 0) { 2441: s << Variable(j - 1); 2441: s << " - "; 2441: s << Variable(i - 1); 2441: s << " = " << c_i_j; 2441: } 2441: else { 2441: s << Variable(i - 1); 2441: s << " - "; 2441: s << Variable(j - 1); 2441: s << " = " << c_j_i; 2441: } 2441: } 2441: } 2441: else { 2441: 2441: if (!is_plus_infinity(c_j_i)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: if (i == 0) { 2441: 2441: s << Variable(j - 1); 2441: neg_assign_r(v, c_j_i, ROUND_DOWN); 2441: s << " >= " << v; 2441: } 2441: else { 2441: 2441: if (sgn(c_j_i) >= 0) { 2441: s << Variable(i - 1); 2441: s << " - "; 2441: s << Variable(j - 1); 2441: s << " <= " << c_j_i; 2441: } 2441: else { 2441: s << Variable(j - 1); 2441: s << " - "; 2441: s << Variable(i - 1); 2441: neg_assign_r(v, c_j_i, ROUND_DOWN); 2441: s << " >= " << v; 2441: } 2441: } 2441: } 2441: if (!is_plus_infinity(c_i_j)) { 2441: if (first) { 2441: first = false; 2441: } 2441: else { 2441: s << ", "; 2441: } 2441: if (i == 0) { 2441: 2441: s << Variable(j - 1); 2441: s << " <= " << c_i_j; 2441: } 2441: else { 2441: 2441: if (sgn(c_i_j) >= 0) { 2441: s << Variable(j - 1); 2441: s << " - "; 2441: s << Variable(i - 1); 2441: s << " <= " << c_i_j; 2441: } 2441: else { 2441: s << Variable(i - 1); 2441: s << " - "; 2441: s << Variable(j - 1); 2441: neg_assign_r(v, c_i_j, ROUND_DOWN); 2441: s << " >= " << v; 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: } 2441: return s; 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::ascii_dump(std::ostream& s) const { 2441: status.ascii_dump(s); 2441: s << "\n"; 2441: dbm.ascii_dump(s); 2441: s << "\n"; 2441: redundancy_dbm.ascii_dump(s); 2441: } 2441: 2441: template void BD_Shape::ascii_dump() const { ascii_dump(std::cerr); } template void BD_Shape::print() const { using IO_Operators::operator<<; std::cerr << *this; } 2441: 2441: template 2441: bool 2441: BD_Shape::ascii_load(std::istream& s) { 2441: if (!status.ascii_load(s)) { 2441: return false; 2441: } 2441: if (!dbm.ascii_load(s)) { 2441: return false; 2441: } 2441: if (!redundancy_dbm.ascii_load(s)) { 2441: return false; 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: memory_size_type 2441: BD_Shape::external_memory_in_bytes() const { 2441: return dbm.external_memory_in_bytes() 2441: + redundancy_dbm.external_memory_in_bytes(); 2441: } 2441: 2441: template 2441: bool 2441: BD_Shape::OK() const { 2441: 2441: if (!dbm.OK()) { 2441: return false; 2441: } 2441: 2441: if (!status.OK()) { 2441: return false; 2441: } 2441: 2441: if (marked_empty()) { 2441: return true; 2441: } 2441: 2441: for (dimension_type i = dbm.num_rows(); i-- > 0; ) { 2441: for (dimension_type j = dbm.num_rows(); j-- > 0; ) { 2441: if (is_minus_infinity(dbm[i][j])) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: 2441: for (dimension_type i = dbm.num_rows(); i-- > 0; ) { 2441: if (!is_plus_infinity(dbm[i][i])) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: if (marked_shortest_path_closed()) { 2441: BD_Shape x = *this; 2441: x.reset_shortest_path_closed(); 2441: x.shortest_path_closure_assign(); 2441: if (x.dbm != dbm) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: 2441: 2441: if (std::numeric_limits::is_exact) { 2441: 2441: 2441: if (marked_shortest_path_reduced()) { 2441: 2441: for (dimension_type i = dbm.num_rows(); i-- > 0; ) { 2441: for (dimension_type j = dbm.num_rows(); j-- > 0; ) { 2441: if (!redundancy_dbm[i][j] && is_plus_infinity(dbm[i][j])) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: BD_Shape x = *this; 2441: x.reset_shortest_path_reduced(); 2441: x.shortest_path_reduction_assign(); 2441: if (x.redundancy_dbm != redundancy_dbm) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: } 2441: 2441: 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::throw_dimension_incompatible(const char* method, 2441: const BD_Shape& y) const { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", y->space_dimension() == " << y.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::throw_dimension_incompatible(const char* method, 2441: dimension_type required_dim) const { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", required dimension == " << required_dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::throw_dimension_incompatible(const char* method, 2441: const Constraint& c) const { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", c->space_dimension == " << c.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::throw_dimension_incompatible(const char* method, 2441: const Congruence& cg) const { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", cg->space_dimension == " << cg.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::throw_dimension_incompatible(const char* method, 2441: const Generator& g) const { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", g->space_dimension == " << g.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::throw_expression_too_complex(const char* method, 2441: const Linear_Expression& le) { 2441: using namespace IO_Operators; 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << le << " is too complex."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: 2441: template 2441: void 2441: BD_Shape::throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", " << le_name << "->space_dimension() == " 2441: << le.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: template 2441: void 2441: BD_Shape::throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form< Interval >& lf) const { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", " << lf_name << "->space_dimension() == " 2441: << lf.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: BD_Shape::throw_invalid_argument(const char* method, const char* reason) { 2441: std::ostringstream s; 2441: s << "PPL::BD_Shape::" << method << ":" << std::endl 2441: << reason << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: } 2441: # 2373 "../../src/BD_Shape_defs.hh" 2 2441: # 39 "../../src/Box_templates.hh" 2 2441: 2441: 2441: # 1 "../../src/Rational_Interval.hh" 1 2441: # 30 "../../src/Rational_Interval.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: struct Rational_Interval_Info_Policy { 2441: enum const_bool_value_store_special { store_special = (true) }; 2441: enum const_bool_value_store_open { store_open = (true) }; 2441: enum const_bool_value_cache_empty { cache_empty = (true) }; 2441: enum const_bool_value_cache_singleton { cache_singleton = (true) }; 2441: enum const_bool_value_cache_normalized { cache_normalized = (false) }; 2441: enum anonymous_enum_next_bit { next_bit = (0) }; 2441: enum const_bool_value_may_be_empty { may_be_empty = (true) }; 2441: enum const_bool_value_may_contain_infinity { may_contain_infinity = (false) }; 2441: enum const_bool_value_check_inexact { check_inexact = (false) }; 2441: }; 2441: 2441: typedef Interval_Info_Bitset Rational_Interval_Info; 2441: 2441: 2441: 2441: 2441: typedef Interval Rational_Interval; 2441: 2441: } 2441: # 42 "../../src/Box_templates.hh" 2 2441: 2441: 2441: 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: inline 2441: Box::Box(dimension_type num_dimensions, Degenerate_Element kind) 2441: : seq(check_space_dimension_overflow(num_dimensions, 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(n, k)", 2441: "n exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: 2441: 2441: if (kind == UNIVERSE) { 2441: for (dimension_type i = num_dimensions; i-- > 0; ) { 2441: seq[i].assign(UNIVERSE); 2441: } 2441: set_empty_up_to_date(); 2441: } 2441: else { 2441: set_empty(); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline 2441: Box::Box(const Constraint_System& cs) 2441: : seq(check_space_dimension_overflow(cs.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(cs)", 2441: "cs exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: 2441: for (dimension_type i = cs.space_dimension(); i-- > 0; ) { 2441: seq[i].assign(UNIVERSE); 2441: } 2441: add_constraints_no_check(cs); 2441: } 2441: 2441: template 2441: inline 2441: Box::Box(const Congruence_System& cgs) 2441: : seq(check_space_dimension_overflow(cgs.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(cgs)", 2441: "cgs exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: 2441: for (dimension_type i = cgs.space_dimension(); i-- > 0; ) { 2441: seq[i].assign(UNIVERSE); 2441: } 2441: add_congruences_no_check(cgs); 2441: } 2441: 2441: template 2441: template 2441: inline 2441: Box::Box(const Box& y, Complexity_Class) 2441: : seq(y.space_dimension()), 2441: 2441: 2441: status() { 2441: 2441: if (y.marked_empty()) { 2441: set_empty(); 2441: } 2441: 2441: if (!y.marked_empty()) { 2441: for (dimension_type k = y.space_dimension(); k-- > 0; ) { 2441: seq[k].assign(y.seq[k]); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: Box::Box(const Generator_System& gs) 2441: : seq(check_space_dimension_overflow(gs.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(gs)", 2441: "gs exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: const Generator_System::const_iterator gs_begin = gs.begin(); 2441: const Generator_System::const_iterator gs_end = gs.end(); 2441: if (gs_begin == gs_end) { 2441: 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: set_empty_up_to_date(); 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: bool point_seen = false; 2441: 2441: for (Generator_System::const_iterator 2441: gs_i = gs_begin; gs_i != gs_end; ++gs_i) { 2441: const Generator& g = *gs_i; 2441: if (g.is_point()) { 2441: const Coefficient& d = g.divisor(); 2441: if (point_seen) { 2441: 2441: 2441: 2441: 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), d, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_iq; ITV& iq = holder_iq.item(); 2441: iq.build(i_constraint(EQUAL, q)); 2441: seq[i].join_assign(iq); 2441: } 2441: } 2441: else { 2441: 2441: point_seen = true; 2441: 2441: 2441: 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), d, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: seq[i].build(i_constraint(EQUAL, q)); 2441: } 2441: } 2441: } 2441: } 2441: 2441: if (!point_seen) { 2441: 2441: throw std::invalid_argument("PPL::Box::Box(gs):\n" 2441: "the non-empty generator system gs " 2441: "contains no points."); 2441: } 2441: 2441: 2441: for (Generator_System::const_iterator gs_i = gs_begin; 2441: gs_i != gs_end; ++gs_i) { 2441: const Generator& g = *gs_i; 2441: switch (g.type()) { 2441: case Generator::LINE: 2441: for (Generator::expr_type::const_iterator i = g.expression().begin(), 2441: i_end = g.expression().end(); 2441: i != i_end; ++i) { 2441: seq[i.variable().id()].assign(UNIVERSE); 2441: } 2441: break; 2441: case Generator::RAY: 2441: for (Generator::expr_type::const_iterator i = g.expression().begin(), 2441: i_end = g.expression().end(); 2441: i != i_end; ++i) { 2441: switch (sgn(*i)) { 2441: case 1: 2441: seq[i.variable().id()].upper_extend(); 2441: break; 2441: case -1: 2441: seq[i.variable().id()].lower_extend(); 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: break; 2441: case Generator::CLOSURE_POINT: 2441: { 2441: const Coefficient& d = g.divisor(); 2441: 2441: 2441: 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), d, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: ITV& seq_i = seq[i]; 2441: seq_i.lower_extend(i_constraint(GREATER_THAN, q)); 2441: seq_i.upper_extend(i_constraint(LESS_THAN, q)); 2441: } 2441: } 2441: break; 2441: default: 2441: 2441: break; 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: Box::Box(const BD_Shape& bds, Complexity_Class) 2441: : seq(check_space_dimension_overflow(bds.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(bds)", 2441: "bds exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: 2441: bds.shortest_path_closure_assign(); 2441: if (bds.marked_empty()) { 2441: set_empty(); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: set_empty_up_to_date(); 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim == 0) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: typedef typename BD_Shape::coefficient_type Coeff; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; Coeff& tmp = holder_tmp.item(); 2441: const DB_Row& dbm_0 = bds.dbm[0]; 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: I_Constraint lower; 2441: I_Constraint upper; 2441: ITV& seq_i = seq[i]; 2441: 2441: 2441: const Coeff& u = dbm_0[i+1]; 2441: if (!is_plus_infinity(u)) { 2441: upper.set(LESS_OR_EQUAL, u, true); 2441: } 2441: 2441: 2441: const Coeff& negated_l = bds.dbm[i+1][0]; 2441: if (!is_plus_infinity(negated_l)) { 2441: neg_assign_r(tmp, negated_l, ROUND_DOWN); 2441: lower.set(GREATER_OR_EQUAL, tmp); 2441: } 2441: 2441: seq_i.build(lower, upper); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: Box::Box(const Octagonal_Shape& oct, Complexity_Class) 2441: : seq(check_space_dimension_overflow(oct.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(oct)", 2441: "oct exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: 2441: oct.strong_closure_assign(); 2441: if (oct.marked_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: set_empty_up_to_date(); 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lower_bound; mpq_class& lower_bound = holder_lower_bound.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_upper_bound; mpq_class& upper_bound = holder_upper_bound.item(); 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: typedef typename Octagonal_Shape::coefficient_type Coeff; 2441: I_Constraint lower; 2441: I_Constraint upper; 2441: ITV& seq_i = seq[i]; 2441: const dimension_type ii = 2*i; 2441: const dimension_type cii = ii + 1; 2441: 2441: 2441: const Coeff& twice_ub = oct.matrix[cii][ii]; 2441: if (!is_plus_infinity(twice_ub)) { 2441: assign_r(upper_bound, twice_ub, ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(upper_bound, upper_bound, 1, ROUND_NOT_NEEDED); 2441: upper.set(LESS_OR_EQUAL, upper_bound); 2441: } 2441: 2441: 2441: const Coeff& twice_lb = oct.matrix[ii][cii]; 2441: if (!is_plus_infinity(twice_lb)) { 2441: assign_r(lower_bound, twice_lb, ROUND_NOT_NEEDED); 2441: neg_assign_r(lower_bound, lower_bound, ROUND_NOT_NEEDED); 2441: div_2exp_assign_r(lower_bound, lower_bound, 1, ROUND_NOT_NEEDED); 2441: lower.set(GREATER_OR_EQUAL, lower_bound); 2441: } 2441: seq_i.build(lower, upper); 2441: } 2441: } 2441: 2441: template 2441: Box::Box(const Polyhedron& ph, Complexity_Class complexity) 2441: : seq(check_space_dimension_overflow(ph.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(ph)", 2441: "ph exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: 2441: set_empty_up_to_date(); 2441: 2441: 2441: 2441: if (ph.marked_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: const dimension_type space_dim = ph.space_dimension(); 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: if (ph.generators_are_up_to_date() && !ph.has_pending_constraints()) { 2441: Box tmp(ph.generators()); 2441: m_swap(tmp); 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: if (complexity == POLYNOMIAL_COMPLEXITY) { 2441: 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: seq[i].assign(UNIVERSE); 2441: } 2441: 2441: const Constraint_System cs = ph.simplified_constraints(); 2441: 2441: 2441: 2441: const dimension_type max_iterations = 20; 2441: propagate_constraints_no_check(cs, max_iterations); 2441: } 2441: else if (complexity == SIMPLEX_COMPLEXITY) { 2441: MIP_Problem lp(space_dim); 2441: const Constraint_System& ph_cs = ph.constraints(); 2441: if (!ph_cs.has_strict_inequalities()) { 2441: lp.add_constraints(ph_cs); 2441: } 2441: else { 2441: 2441: for (Constraint_System::const_iterator i = ph_cs.begin(), 2441: ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) { 2441: const Constraint& c = *i; 2441: if (c.is_strict_inequality()) { 2441: const Linear_Expression expr(c.expression()); 2441: lp.add_constraint(expr >= 0); 2441: } 2441: else { 2441: lp.add_constraint(c); 2441: } 2441: } 2441: } 2441: 2441: if (!lp.is_satisfiable()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: Generator g(point()); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lower_bound; mpq_class& lower_bound = holder_lower_bound.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_upper_bound; mpq_class& upper_bound = holder_upper_bound.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound_numer; Parma_Polyhedra_Library::Coefficient& bound_numer = holder_bound_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound_denom; Parma_Polyhedra_Library::Coefficient& bound_denom = holder_bound_denom.item(); 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: I_Constraint lower; 2441: I_Constraint upper; 2441: ITV& seq_i = seq[i]; 2441: lp.set_objective_function(Variable(i)); 2441: 2441: lp.set_optimization_mode(MAXIMIZATION); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, bound_numer, bound_denom); 2441: assign_r(upper_bound.get_num(), bound_numer, ROUND_NOT_NEEDED); 2441: assign_r(upper_bound.get_den(), bound_denom, ROUND_NOT_NEEDED); 2441: ((void) 0); 2441: upper.set(LESS_OR_EQUAL, upper_bound); 2441: } 2441: 2441: lp.set_optimization_mode(MINIMIZATION); 2441: if (lp.solve() == OPTIMIZED_MIP_PROBLEM) { 2441: g = lp.optimizing_point(); 2441: lp.evaluate_objective_function(g, bound_numer, bound_denom); 2441: assign_r(lower_bound.get_num(), bound_numer, ROUND_NOT_NEEDED); 2441: assign_r(lower_bound.get_den(), bound_denom, ROUND_NOT_NEEDED); 2441: ((void) 0); 2441: lower.set(GREATER_OR_EQUAL, lower_bound); 2441: } 2441: seq_i.build(lower, upper); 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: if (ph.is_empty()) { 2441: set_empty(); 2441: } 2441: else { 2441: Box tmp(ph.generators()); 2441: m_swap(tmp); 2441: } 2441: } 2441: } 2441: 2441: template 2441: Box::Box(const Grid& gr, Complexity_Class) 2441: : seq(check_space_dimension_overflow(gr.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(gr)", 2441: "gr exceeds the maximum " 2441: "allowed space dimension")), 2441: status() { 2441: 2441: if (gr.marked_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: 2441: 2441: set_empty_up_to_date(); 2441: 2441: const dimension_type space_dim = gr.space_dimension(); 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: if (!gr.generators_are_up_to_date() && !gr.update_generators()) { 2441: 2441: set_empty(); 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound; mpq_class& bound = holder_bound.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound_numer; Parma_Polyhedra_Library::Coefficient& bound_numer = holder_bound_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound_denom; Parma_Polyhedra_Library::Coefficient& bound_denom = holder_bound_denom.item(); 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: ITV& seq_i = seq[i]; 2441: Variable var(i); 2441: bool max; 2441: if (gr.maximize(var, bound_numer, bound_denom, max)) { 2441: assign_r(bound.get_num(), bound_numer, ROUND_NOT_NEEDED); 2441: assign_r(bound.get_den(), bound_denom, ROUND_NOT_NEEDED); 2441: bound.canonicalize(); 2441: seq_i.build(i_constraint(EQUAL, bound)); 2441: } 2441: else { 2441: seq_i.assign(UNIVERSE); 2441: } 2441: } 2441: } 2441: 2441: template 2441: template 2441: Box::Box(const Partially_Reduced_Product& dp, 2441: Complexity_Class complexity) 2441: : seq(), status() { 2441: check_space_dimension_overflow(dp.space_dimension(), 2441: max_space_dimension(), 2441: "PPL::Box::", 2441: "Box(dp)", 2441: "dp exceeds the maximum " 2441: "allowed space dimension"); 2441: Box tmp1(dp.domain1(), complexity); 2441: Box tmp2(dp.domain2(), complexity); 2441: tmp1.intersection_assign(tmp2); 2441: m_swap(tmp1); 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_space_dimensions_and_embed(const dimension_type m) { 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: check_space_dimension_overflow(m, max_space_dimension() - space_dimension(), 2441: "PPL::Box::", 2441: "add_space_dimensions_and_embed(m)", 2441: "adding m new space dimensions exceeds " 2441: "the maximum allowed space dimension"); 2441: 2441: 2441: seq.insert(seq.end(), m, ITV(UNIVERSE)); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Box::add_space_dimensions_and_project(const dimension_type m) { 2441: 2441: if (m == 0) { 2441: return; 2441: } 2441: check_space_dimension_overflow(m, max_space_dimension() - space_dimension(), 2441: "PPL::Box::", 2441: "add_space_dimensions_and_project(m)", 2441: "adding m new space dimensions exceeds " 2441: "the maximum allowed space dimension"); 2441: 2441: seq.insert(seq.end(), m, ITV(0)); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: operator==(const Box& x, const Box& y) { 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: if (x_space_dim != y.space_dimension()) { 2441: return false; 2441: } 2441: 2441: if (x.is_empty()) { 2441: return y.is_empty(); 2441: } 2441: 2441: if (y.is_empty()) { 2441: return x.is_empty(); 2441: } 2441: 2441: for (dimension_type k = x_space_dim; k-- > 0; ) { 2441: if (x.seq[k] != y.seq[k]) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::bounds(const Linear_Expression& expr, const bool from_above) const { 2441: 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((from_above 2441: ? "bounds_from_above(e)" 2441: : "bounds_from_below(e)"), "e", expr); 2441: } 2441: 2441: if (space_dim == 0 || is_empty()) { 2441: return true; 2441: } 2441: const int from_above_sign = from_above ? 1 : -1; 2441: 2441: 2441: for (Linear_Expression::const_iterator i = expr.begin(), 2441: i_end = expr.end(); i != i_end; ++i) { 2441: const Variable v = i.variable(); 2441: switch (sgn(*i) * from_above_sign) { 2441: case 1: 2441: if (seq[v.id()].upper_is_boundary_infinity()) { 2441: return false; 2441: } 2441: break; 2441: case 0: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: case -1: 2441: if (seq[v.id()].lower_is_boundary_infinity()) { 2441: return false; 2441: } 2441: break; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: Poly_Con_Relation 2441: interval_relation(const ITV& i, 2441: const Constraint::Type constraint_type, 2441: Coefficient_traits::const_reference numer, 2441: Coefficient_traits::const_reference denom) { 2441: 2441: if (i.is_universe()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound; mpq_class& bound = holder_bound.item(); 2441: assign_r(bound.get_num(), numer, ROUND_NOT_NEEDED); 2441: assign_r(bound.get_den(), denom, ROUND_NOT_NEEDED); 2441: bound.canonicalize(); 2441: neg_assign_r(bound, bound, ROUND_NOT_NEEDED); 2441: const bool is_lower_bound = (denom > 0); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound_diff; mpq_class& bound_diff = holder_bound_diff.item(); 2441: if (constraint_type == Constraint::EQUALITY) { 2441: if (i.lower_is_boundary_infinity()) { 2441: ((void) 0); 2441: assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case 1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case 0: 2441: return i.upper_is_open() 2441: ? Poly_Con_Relation::is_disjoint() 2441: : Poly_Con_Relation::strictly_intersects(); 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: else { 2441: assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case 1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: case 0: 2441: if (i.lower_is_open()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: if (i.is_singleton()) { 2441: return Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::saturates(); 2441: } 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case -1: 2441: if (i.upper_is_boundary_infinity()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: else { 2441: assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case 1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case 0: 2441: if (i.upper_is_open()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: ((void) 0); 2441: if (is_lower_bound) { 2441: if (i.lower_is_boundary_infinity()) { 2441: ((void) 0); 2441: assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case 1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case 0: 2441: if (constraint_type == Constraint::STRICT_INEQUALITY 2441: || i.upper_is_open()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: else { 2441: assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case 1: 2441: return Poly_Con_Relation::is_included(); 2441: case 0: 2441: if (constraint_type == Constraint::NONSTRICT_INEQUALITY 2441: || i.lower_is_open()) { 2441: Poly_Con_Relation result = Poly_Con_Relation::is_included(); 2441: if (i.is_singleton()) { 2441: result = result && Poly_Con_Relation::saturates(); 2441: } 2441: return result; 2441: } 2441: else { 2441: ((void) 0) 2441: ; 2441: if (i.is_singleton()) { 2441: return Poly_Con_Relation::is_disjoint() 2441: && Poly_Con_Relation::saturates(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: } 2441: case -1: 2441: if (i.upper_is_boundary_infinity()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: else { 2441: assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case 1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case 0: 2441: if (constraint_type == Constraint::STRICT_INEQUALITY 2441: || i.upper_is_open()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: else { 2441: 2441: if (i.upper_is_boundary_infinity()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: else { 2441: assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case -1: 2441: return Poly_Con_Relation::is_included(); 2441: case 0: 2441: if (constraint_type == Constraint::NONSTRICT_INEQUALITY 2441: || i.upper_is_open()) { 2441: Poly_Con_Relation result = Poly_Con_Relation::is_included(); 2441: if (i.is_singleton()) { 2441: result = result && Poly_Con_Relation::saturates(); 2441: } 2441: return result; 2441: } 2441: else { 2441: ((void) 0) 2441: ; 2441: if (i.is_singleton()) { 2441: return Poly_Con_Relation::is_disjoint() 2441: && Poly_Con_Relation::saturates(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: } 2441: case 1: 2441: if (i.lower_is_boundary_infinity()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: else { 2441: assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED); 2441: sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED); 2441: switch (sgn(bound_diff)) { 2441: case -1: 2441: return Poly_Con_Relation::strictly_intersects(); 2441: case 0: 2441: if (constraint_type == Constraint::STRICT_INEQUALITY 2441: || i.lower_is_open()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: case 1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return Poly_Con_Relation::nothing(); 2441: } 2441: 2441: template 2441: Poly_Con_Relation 2441: Box::relation_with(const Congruence& cg) const { 2441: const dimension_type cg_space_dim = cg.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (cg_space_dim > space_dim) { 2441: throw_dimension_incompatible("relation_with(cg)", cg); 2441: } 2441: if (is_empty()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: 2441: if (space_dim == 0) { 2441: if (cg.is_inconsistent()) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: if (cg.is_equality()) { 2441: const Constraint c(cg); 2441: return relation_with(c); 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_r; Rational_Interval& r = holder_r.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_t; Rational_Interval& t = holder_t.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_m; mpq_class& m = holder_m.item(); 2441: r = 0; 2441: for (Congruence::expr_type::const_iterator i = cg.expression().begin(), 2441: i_end = cg.expression().end(); i != i_end; ++i) { 2441: const Coefficient& cg_i = *i; 2441: const Variable v = i.variable(); 2441: assign_r(m, cg_i, ROUND_NOT_NEEDED); 2441: 2441: t.build(seq[v.id()].lower_constraint(), seq[v.id()].upper_constraint()); 2441: t *= m; 2441: r += t; 2441: } 2441: 2441: if (r.lower_is_boundary_infinity() || r.upper_is_boundary_infinity()) { 2441: return Poly_Con_Relation::strictly_intersects(); 2441: } 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lower; Parma_Polyhedra_Library::Coefficient& lower = holder_lower.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_mod; Parma_Polyhedra_Library::Coefficient& mod = holder_mod.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_v; Parma_Polyhedra_Library::Coefficient& v = holder_v.item(); 2441: mod = cg.modulus(); 2441: v = cg.inhomogeneous_term() % mod; 2441: assign_r(lower, r.lower(), ROUND_DOWN); 2441: v -= ((lower / mod) * mod); 2441: if (v + lower > 0) { 2441: v -= mod; 2441: } 2441: return interval_relation(r, Constraint::EQUALITY, v); 2441: } 2441: 2441: template 2441: Poly_Con_Relation 2441: Box::relation_with(const Constraint& c) const { 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (c_space_dim > space_dim) { 2441: throw_dimension_incompatible("relation_with(c)", c); 2441: } 2441: 2441: if (is_empty()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: 2441: if (space_dim == 0) { 2441: if ((c.is_equality() && c.inhomogeneous_term() != 0) 2441: || (c.is_inequality() && c.inhomogeneous_term() < 0)) { 2441: return Poly_Con_Relation::is_disjoint(); 2441: } 2441: else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0) { 2441: 2441: 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: else if (c.is_equality() || c.inhomogeneous_term() == 0) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: else { 2441: 2441: 2441: 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: 2441: dimension_type c_num_vars = 0; 2441: dimension_type c_only_var = 0; 2441: 2441: if (Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) { 2441: if (c_num_vars == 0) { 2441: 2441: switch (sgn(c.inhomogeneous_term())) { 2441: case -1: 2441: return Poly_Con_Relation::is_disjoint(); 2441: case 0: 2441: if (c.is_strict_inequality()) { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_disjoint(); 2441: } 2441: else { 2441: return Poly_Con_Relation::saturates() 2441: && Poly_Con_Relation::is_included(); 2441: } 2441: case 1: 2441: return Poly_Con_Relation::is_included(); 2441: } 2441: } 2441: else { 2441: 2441: return interval_relation(seq[c_only_var], 2441: c.type(), 2441: c.inhomogeneous_term(), 2441: c.coefficient(Variable(c_only_var))); 2441: } 2441: } 2441: else { 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_r; Rational_Interval& r = holder_r.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_t; Rational_Interval& t = holder_t.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_m; mpq_class& m = holder_m.item(); 2441: r = 0; 2441: const Constraint::expr_type& e = c.expression(); 2441: for (Constraint::expr_type::const_iterator i = e.begin(), i_end = e.end(); 2441: i != i_end; ++i) { 2441: assign_r(m, *i, ROUND_NOT_NEEDED); 2441: const Variable v = i.variable(); 2441: 2441: t.build(seq[v.id()].lower_constraint(), seq[v.id()].upper_constraint()); 2441: t *= m; 2441: r += t; 2441: } 2441: return interval_relation(r, 2441: c.type(), 2441: c.inhomogeneous_term()); 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return Poly_Con_Relation::nothing(); 2441: } 2441: 2441: template 2441: Poly_Gen_Relation 2441: Box::relation_with(const Generator& g) const { 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type g_space_dim = g.space_dimension(); 2441: 2441: 2441: if (space_dim < g_space_dim) { 2441: throw_dimension_incompatible("relation_with(g)", g); 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: 2441: if (g.is_line_or_ray()) { 2441: if (g.is_line()) { 2441: const Generator::expr_type& e = g.expression(); 2441: for (Generator::expr_type::const_iterator i = e.begin(), i_end = e.end(); 2441: i != i_end; ++i) { 2441: if (!seq[i.variable().id()].is_universe()) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: else { 2441: ((void) 0); 2441: const Generator::expr_type& e = g.expression(); 2441: for (Generator::expr_type::const_iterator i = e.begin(), i_end = e.end(); 2441: i != i_end; ++i) { 2441: const Variable v = i.variable(); 2441: switch (sgn(*i)) { 2441: case 1: 2441: if (!seq[v.id()].upper_is_boundary_infinity()) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: break; 2441: case 0: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: case -1: 2441: if (!seq[v.id()].lower_is_boundary_infinity()) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: break; 2441: } 2441: } 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: } 2441: 2441: 2441: const Coefficient& g_divisor = g.divisor(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_g_coord; mpq_class& g_coord = holder_g_coord.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound; mpq_class& bound = holder_bound.item(); 2441: 2441: 2441: 2441: for (dimension_type i = g_space_dim; i-- > 0; ) { 2441: const ITV& seq_i = seq[i]; 2441: if (seq_i.is_universe()) { 2441: continue; 2441: } 2441: assign_r(g_coord.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED); 2441: assign_r(g_coord.get_den(), g_divisor, ROUND_NOT_NEEDED); 2441: g_coord.canonicalize(); 2441: 2441: if (!seq_i.lower_is_boundary_infinity()) { 2441: assign_r(bound, seq_i.lower(), ROUND_NOT_NEEDED); 2441: if (g_coord <= bound) { 2441: if (seq_i.lower_is_open()) { 2441: if (g.is_point() || g_coord != bound) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: else if (g_coord != bound) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: } 2441: 2441: if (!seq_i.upper_is_boundary_infinity()) { 2441: assign_r(bound, seq_i.upper(), ROUND_NOT_NEEDED); 2441: if (g_coord >= bound) { 2441: if (seq_i.upper_is_open()) { 2441: if (g.is_point() || g_coord != bound) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: else if (g_coord != bound) { 2441: return Poly_Gen_Relation::nothing(); 2441: } 2441: } 2441: } 2441: } 2441: return Poly_Gen_Relation::subsumes(); 2441: } 2441: 2441: 2441: template 2441: bool 2441: Box::max_min(const Linear_Expression& expr, 2441: const bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, 2441: bool& included) const { 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible((maximize 2441: ? "maximize(e, ...)" 2441: : "minimize(e, ...)"), "e", expr); 2441: } 2441: 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: else { 2441: ext_n = expr.inhomogeneous_term(); 2441: ext_d = 1; 2441: included = true; 2441: return true; 2441: } 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: return false; 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_result; mpq_class& result = holder_result.item(); 2441: assign_r(result, expr.inhomogeneous_term(), ROUND_NOT_NEEDED); 2441: bool is_included = true; 2441: const int maximize_sign = maximize ? 1 : -1; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_bound_i; mpq_class& bound_i = holder_bound_i.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_expr_i; mpq_class& expr_i = holder_expr_i.item(); 2441: for (Linear_Expression::const_iterator i = expr.begin(), 2441: i_end = expr.end(); i != i_end; ++i) { 2441: const ITV& seq_i = seq[i.variable().id()]; 2441: assign_r(expr_i, *i, ROUND_NOT_NEEDED); 2441: switch (sgn(expr_i) * maximize_sign) { 2441: case 1: 2441: if (seq_i.upper_is_boundary_infinity()) { 2441: return false; 2441: } 2441: assign_r(bound_i, seq_i.upper(), ROUND_NOT_NEEDED); 2441: add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED); 2441: if (seq_i.upper_is_open()) { 2441: is_included = false; 2441: } 2441: break; 2441: case 0: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: case -1: 2441: if (seq_i.lower_is_boundary_infinity()) { 2441: return false; 2441: } 2441: assign_r(bound_i, seq_i.lower(), ROUND_NOT_NEEDED); 2441: add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED); 2441: if (seq_i.lower_is_open()) { 2441: is_included = false; 2441: } 2441: break; 2441: } 2441: } 2441: 2441: ((void) 0); 2441: ext_n = result.get_num(); 2441: ext_d = result.get_den(); 2441: included = is_included; 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::max_min(const Linear_Expression& expr, 2441: const bool maximize, 2441: Coefficient& ext_n, Coefficient& ext_d, 2441: bool& included, 2441: Generator& g) const { 2441: if (!max_min(expr, maximize, ext_n, ext_d, included)) { 2441: return false; 2441: } 2441: 2441: Linear_Expression g_expr; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_g_divisor; Parma_Polyhedra_Library::Coefficient& g_divisor = holder_g_divisor.item(); 2441: g_divisor = 1; 2441: const int maximize_sign = maximize ? 1 : -1; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_g_coord; mpq_class& g_coord = holder_g_coord.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_lcm; Parma_Polyhedra_Library::Coefficient& lcm = holder_lcm.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_factor; Parma_Polyhedra_Library::Coefficient& factor = holder_factor.item(); 2441: 2441: 2441: for (dimension_type i = space_dimension(); i-- > 0; ) { 2441: const ITV& seq_i = seq[i]; 2441: switch (sgn(expr.coefficient(Variable(i))) * maximize_sign) { 2441: case 1: 2441: assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED); 2441: break; 2441: case 0: 2441: 2441: 2441: 2441: if (seq_i.contains(0)) { 2441: continue; 2441: } 2441: if (!seq_i.lower_is_boundary_infinity()) { 2441: if (seq_i.lower_is_open()) { 2441: if (!seq_i.upper_is_boundary_infinity()) { 2441: if (seq_i.upper_is_open()) { 2441: 2441: assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_seq_i_upper; mpq_class& q_seq_i_upper = holder_q_seq_i_upper.item(); 2441: assign_r(q_seq_i_upper, seq_i.upper(), ROUND_NOT_NEEDED); 2441: g_coord += q_seq_i_upper; 2441: g_coord /= 2; 2441: } 2441: else { 2441: 2441: assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED); 2441: } 2441: } 2441: else { 2441: 2441: assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED); 2441: ++g_coord; 2441: } 2441: } 2441: else { 2441: 2441: assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED); 2441: } 2441: } 2441: else { 2441: 2441: 2441: ((void) 0); 2441: assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED); 2441: if (seq_i.upper_is_open()) { 2441: --g_coord; 2441: } 2441: } 2441: break; 2441: case -1: 2441: assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED); 2441: break; 2441: } 2441: 2441: assign_r(denom, g_coord.get_den(), ROUND_NOT_NEEDED); 2441: lcm_assign(lcm, g_divisor, denom); 2441: exact_div_assign(factor, lcm, g_divisor); 2441: g_expr *= factor; 2441: exact_div_assign(factor, lcm, denom); 2441: assign_r(numer, g_coord.get_num(), ROUND_NOT_NEEDED); 2441: numer *= factor; 2441: g_expr += numer * Variable(i); 2441: g_divisor = lcm; 2441: } 2441: g = Generator::point(g_expr, g_divisor); 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::contains(const Box& y) const { 2441: const Box& x = *this; 2441: 2441: if (x.space_dimension() != y.space_dimension()) { 2441: x.throw_dimension_incompatible("contains(y)", y); 2441: } 2441: 2441: 2441: if (y.is_empty()) { 2441: return true; 2441: } 2441: 2441: 2441: if (x.is_empty()) { 2441: return false; 2441: } 2441: 2441: for (dimension_type k = x.seq.size(); k-- > 0; ) { 2441: 2441: if (!x.seq[k].contains(y.seq[k])) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::is_disjoint_from(const Box& y) const { 2441: const Box& x = *this; 2441: 2441: if (x.space_dimension() != y.space_dimension()) { 2441: x.throw_dimension_incompatible("is_disjoint_from(y)", y); 2441: } 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: return true; 2441: } 2441: 2441: for (dimension_type k = x.seq.size(); k-- > 0; ) { 2441: 2441: if (x.seq[k].is_disjoint_from(y.seq[k])) { 2441: return true; 2441: } 2441: } 2441: return false; 2441: } 2441: 2441: template 2441: inline bool 2441: Box::upper_bound_assign_if_exact(const Box& y) { 2441: Box& x = *this; 2441: 2441: 2441: if (x.space_dimension() != y.space_dimension()) { 2441: x.throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y); 2441: } 2441: 2441: 2441: if (y.is_empty()) { 2441: return true; 2441: } 2441: if (x.is_empty()) { 2441: x = y; 2441: return true; 2441: } 2441: 2441: bool x_j_does_not_contain_y_j = false; 2441: bool y_j_does_not_contain_x_j = false; 2441: 2441: for (dimension_type i = x.seq.size(); i-- > 0; ) { 2441: const ITV& x_seq_i = x.seq[i]; 2441: const ITV& y_seq_i = y.seq[i]; 2441: 2441: if (!x_seq_i.can_be_exactly_joined_to(y_seq_i)) { 2441: return false; 2441: } 2441: 2441: 2441: 2441: 2441: bool y_i_does_not_contain_x_i = !y_seq_i.contains(x_seq_i); 2441: if (y_i_does_not_contain_x_i && x_j_does_not_contain_y_j) { 2441: return false; 2441: } 2441: if (!x_seq_i.contains(y_seq_i)) { 2441: if (y_j_does_not_contain_x_j) { 2441: return false; 2441: } 2441: else { 2441: x_j_does_not_contain_y_j = true; 2441: } 2441: } 2441: if (y_i_does_not_contain_x_i) { 2441: y_j_does_not_contain_x_j = true; 2441: } 2441: } 2441: 2441: 2441: for (dimension_type k = x.seq.size(); k-- > 0; ) { 2441: x.seq[k].join_assign(y.seq[k]); 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::OK() const { 2441: if (status.test_empty_up_to_date() && !status.test_empty()) { 2441: Box tmp = *this; 2441: tmp.reset_empty_up_to_date(); 2441: if (tmp.check_empty()) { 2441: 2441: 2441: 2441: 2441: return false; 2441: } 2441: } 2441: 2441: 2441: if (!marked_empty()) { 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: if (!seq[k].OK()) { 2441: return false; 2441: } 2441: } 2441: } 2441: 2441: return true; 2441: } 2441: 2441: template 2441: dimension_type 2441: Box::affine_dimension() const { 2441: dimension_type d = space_dimension(); 2441: 2441: if (d == 0) { 2441: return 0; 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: return 0; 2441: } 2441: 2441: for (dimension_type k = d; k-- > 0; ) { 2441: if (seq[k].is_singleton()) { 2441: --d; 2441: } 2441: } 2441: 2441: return d; 2441: } 2441: 2441: template 2441: bool 2441: Box::check_empty() const { 2441: ((void) 0); 2441: Box& x = const_cast&>(*this); 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: if (seq[k].is_empty()) { 2441: x.set_empty(); 2441: return true; 2441: } 2441: } 2441: x.set_nonempty(); 2441: return false; 2441: } 2441: 2441: template 2441: bool 2441: Box::is_universe() const { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: if (!seq[k].is_universe()) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::is_topologically_closed() const { 2441: if (ITV::is_always_topologically_closed() || is_empty()) { 2441: return true; 2441: } 2441: 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: if (!seq[k].is_topologically_closed()) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::is_discrete() const { 2441: if (is_empty()) { 2441: return true; 2441: } 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: if (!seq[k].is_singleton()) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::is_bounded() const { 2441: if (is_empty()) { 2441: return true; 2441: } 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: if (!seq[k].is_bounded()) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::contains_integer_point() const { 2441: if (marked_empty()) { 2441: return false; 2441: } 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: if (!seq[k].contains_integer_point()) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::frequency(const Linear_Expression& expr, 2441: Coefficient& freq_n, Coefficient& freq_d, 2441: Coefficient& val_n, Coefficient& val_d) const { 2441: dimension_type space_dim = space_dimension(); 2441: 2441: if (space_dim < expr.space_dimension()) { 2441: throw_dimension_incompatible("frequency(e, ...)", "e", expr); 2441: } 2441: # 1552 "../../src/Box_templates.hh" 2441: if (space_dim == 0) { 2441: if (is_empty()) { 2441: return false; 2441: } 2441: freq_n = 0; 2441: freq_d = 1; 2441: val_n = expr.inhomogeneous_term(); 2441: val_d = 1; 2441: return true; 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: return false; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer; Parma_Polyhedra_Library::Coefficient& numer = holder_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; mpq_class& tmp = holder_tmp.item(); 2441: Coefficient c = expr.inhomogeneous_term(); 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_val_denom; Parma_Polyhedra_Library::Coefficient& val_denom = holder_val_denom.item(); 2441: val_denom = 1; 2441: 2441: for (Linear_Expression::const_iterator i = expr.begin(), i_end = expr.end(); 2441: i != i_end; ++i) { 2441: const ITV& seq_i = seq[i.variable().id()]; 2441: 2441: if (seq_i.is_singleton()) { 2441: 2441: assign_r(tmp, seq_i.lower(), ROUND_NOT_NEEDED); 2441: numer = tmp.get_num(); 2441: denom = tmp.get_den(); 2441: c *= denom; 2441: c += numer * val_denom * (*i); 2441: val_denom *= denom; 2441: continue; 2441: } 2441: 2441: return false; 2441: } 2441: 2441: 2441: freq_n = 0; 2441: freq_d = 1; 2441: 2441: 2441: normalize2(c, val_denom, val_n, val_d); 2441: return true; 2441: } 2441: 2441: template 2441: bool 2441: Box::constrains(Variable var) const { 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dimension() < var_space_dim) { 2441: throw_dimension_incompatible("constrains(v)", "v", var); 2441: } 2441: 2441: if (marked_empty() || !seq[var_space_dim-1].is_universe()) { 2441: return true; 2441: } 2441: 2441: return is_empty(); 2441: } 2441: 2441: template 2441: void 2441: Box::unconstrain(const Variables_Set& vars) { 2441: 2441: 2441: 2441: if (vars.empty()) { 2441: return; 2441: } 2441: 2441: 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (space_dimension() < min_space_dim) { 2441: throw_dimension_incompatible("unconstrain(vs)", min_space_dim); 2441: } 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: for (Variables_Set::const_iterator vsi = vars.begin(), 2441: vsi_end = vars.end(); vsi != vsi_end; ++vsi) { 2441: ITV& seq_vsi = seq[*vsi]; 2441: if (!seq_vsi.is_empty()) { 2441: seq_vsi.assign(UNIVERSE); 2441: } 2441: else { 2441: set_empty(); 2441: break; 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::topological_closure_assign() { 2441: if (ITV::is_always_topologically_closed() || is_empty()) { 2441: return; 2441: } 2441: 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: seq[k].topological_closure_assign(); 2441: } 2441: } 2441: 2441: template 2441: void 2441: Box::wrap_assign(const Variables_Set& vars, 2441: Bounded_Integer_Type_Width w, 2441: Bounded_Integer_Type_Representation r, 2441: Bounded_Integer_Type_Overflow o, 2441: const Constraint_System* cs_p, 2441: unsigned complexity_threshold, 2441: bool wrap_individually) { 2441: 2441: 2441: 2441: 2441: 2441: 2441: (void)(wrap_individually); 2441: (void)(complexity_threshold); 2441: Box& x = *this; 2441: 2441: 2441: const dimension_type vars_space_dim = vars.space_dimension(); 2441: if (cs_p != 0 && cs_p->space_dimension() > vars_space_dim) { 2441: std::ostringstream s; 2441: s << "PPL::Box::wrap_assign(vars, w, r, o, cs_p, ...):" 2441: << std::endl 2441: << "vars.space_dimension() == " << vars_space_dim 2441: << ", cs_p->space_dimension() == " << cs_p->space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: 2441: if (vars.empty()) { 2441: if (cs_p != 0) { 2441: refine_with_constraints(*cs_p); 2441: } 2441: return; 2441: } 2441: 2441: 2441: const dimension_type space_dim = x.space_dimension(); 2441: if (space_dim < vars_space_dim) { 2441: std::ostringstream s; 2441: s << "PPL::Box::wrap_assign(vars, ...):" 2441: << std::endl 2441: << "this->space_dimension() == " << space_dim 2441: << ", required space dimension == " << vars_space_dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: 2441: if (x.is_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_value; Parma_Polyhedra_Library::Coefficient& min_value = holder_min_value.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_value; Parma_Polyhedra_Library::Coefficient& max_value = holder_max_value.item(); 2441: if (r == UNSIGNED) { 2441: min_value = 0; 2441: mul_2exp_assign(max_value, Coefficient_one(), w); 2441: --max_value; 2441: } 2441: else { 2441: ((void) 0); 2441: mul_2exp_assign(max_value, Coefficient_one(), w-1); 2441: neg_assign(min_value, max_value); 2441: --max_value; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_integer_quadrant_itv; ITV& integer_quadrant_itv = holder_integer_quadrant_itv.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_rational_quadrant_itv; ITV& rational_quadrant_itv = holder_rational_quadrant_itv.item(); 2441: { 2441: I_Constraint lower = i_constraint(GREATER_OR_EQUAL, min_value); 2441: I_Constraint upper = i_constraint(LESS_OR_EQUAL, max_value); 2441: integer_quadrant_itv.build(lower, upper); 2441: 2441: if (o == OVERFLOW_UNDEFINED) { 2441: ++max_value; 2441: upper = i_constraint(LESS_THAN, max_value); 2441: rational_quadrant_itv.build(lower, upper); 2441: } 2441: } 2441: 2441: const Variables_Set::const_iterator vs_end = vars.end(); 2441: 2441: if (cs_p == 0) { 2441: 2441: switch (o) { 2441: case OVERFLOW_WRAPS: 2441: for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) { 2441: x.seq[*i].wrap_assign(w, r, integer_quadrant_itv); 2441: } 2441: reset_empty_up_to_date(); 2441: break; 2441: case OVERFLOW_UNDEFINED: 2441: for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) { 2441: ITV& x_seq_v = x.seq[*i]; 2441: if (!rational_quadrant_itv.contains(x_seq_v)) { 2441: x_seq_v.assign(integer_quadrant_itv); 2441: } 2441: } 2441: break; 2441: case OVERFLOW_IMPOSSIBLE: 2441: for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) { 2441: x.seq[*i].intersect_assign(integer_quadrant_itv); 2441: } 2441: reset_empty_up_to_date(); 2441: break; 2441: } 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: const Constraint_System& cs = *cs_p; 2441: 2441: typedef std::map > map_type; 2441: map_type var_cs_map; 2441: for (Constraint_System::const_iterator i = cs.begin(), 2441: i_end = cs.end(); i != i_end; ++i) { 2441: const Constraint& c = *i; 2441: dimension_type c_num_vars = 0; 2441: dimension_type c_only_var = 0; 2441: if (Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) { 2441: if (c_num_vars == 1) { 2441: 2441: ((void) 0); 2441: 2441: if (vars.find(c_only_var) != vs_end) { 2441: var_cs_map[c_only_var].push_back(&c); 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: x.set_empty(); 2441: return; 2441: } 2441: } 2441: } 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_refinement_itv; ITV& refinement_itv = holder_refinement_itv.item(); 2441: const map_type::const_iterator var_cs_map_end = var_cs_map.end(); 2441: 2441: for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) { 2441: const dimension_type v = *i; 2441: refinement_itv = integer_quadrant_itv; 2441: 2441: map_type::const_iterator var_cs_map_iter = var_cs_map.find(v); 2441: if (var_cs_map_iter != var_cs_map_end) { 2441: 2441: const map_type::mapped_type& var_cs = var_cs_map_iter->second; 2441: for (dimension_type j = var_cs.size(); j-- > 0; ) { 2441: const Constraint& c = *var_cs[j]; 2441: refine_interval_no_check(refinement_itv, 2441: c.type(), 2441: c.inhomogeneous_term(), 2441: c.coefficient(Variable(v))); 2441: } 2441: } 2441: 2441: ITV& x_seq_v = x.seq[v]; 2441: switch (o) { 2441: case OVERFLOW_WRAPS: 2441: x_seq_v.wrap_assign(w, r, refinement_itv); 2441: break; 2441: case OVERFLOW_UNDEFINED: 2441: if (!rational_quadrant_itv.contains(x_seq_v)) { 2441: x_seq_v.assign(UNIVERSE); 2441: } 2441: break; 2441: case OVERFLOW_IMPOSSIBLE: 2441: x_seq_v.intersect_assign(refinement_itv); 2441: break; 2441: } 2441: } 2441: ((void) 0); 2441: 2441: } 2441: 2441: template 2441: void 2441: Box::drop_some_non_integer_points(Complexity_Class) { 2441: if (std::numeric_limits::is_integer 2441: && !ITV::info_type::store_open) { 2441: return; 2441: } 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: seq[k].drop_some_non_integer_points(); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::drop_some_non_integer_points(const Variables_Set& vars, 2441: Complexity_Class) { 2441: 2441: const dimension_type min_space_dim = vars.space_dimension(); 2441: if (space_dimension() < min_space_dim) { 2441: throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)", 2441: min_space_dim); 2441: } 2441: if (std::numeric_limits::is_integer 2441: && !ITV::info_type::store_open) { 2441: return; 2441: } 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: for (Variables_Set::const_iterator v_i = vars.begin(), 2441: v_end = vars.end(); v_i != v_end; ++v_i) { 2441: seq[*v_i].drop_some_non_integer_points(); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::intersection_assign(const Box& y) { 2441: Box& x = *this; 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: x.throw_dimension_incompatible("intersection_assign(y)", y); 2441: } 2441: 2441: 2441: if (x.marked_empty()) { 2441: return; 2441: } 2441: if (y.marked_empty()) { 2441: x.set_empty(); 2441: return; 2441: } 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: 2441: 2441: reset_empty_up_to_date(); 2441: 2441: for (dimension_type k = space_dim; k-- > 0; ) { 2441: x.seq[k].intersect_assign(y.seq[k]); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::upper_bound_assign(const Box& y) { 2441: Box& x = *this; 2441: 2441: 2441: if (x.space_dimension() != y.space_dimension()) { 2441: x.throw_dimension_incompatible("upper_bound_assign(y)", y); 2441: } 2441: 2441: 2441: if (y.is_empty()) { 2441: return; 2441: } 2441: if (x.is_empty()) { 2441: x = y; 2441: return; 2441: } 2441: 2441: for (dimension_type k = x.seq.size(); k-- > 0; ) { 2441: x.seq[k].join_assign(y.seq[k]); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::concatenate_assign(const Box& y) { 2441: Box& x = *this; 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: const dimension_type y_space_dim = y.space_dimension(); 2441: 2441: 2441: if (y.marked_empty()) { 2441: x.set_empty(); 2441: } 2441: 2441: 2441: if (y_space_dim == 0) { 2441: return; 2441: } 2441: 2441: check_space_dimension_overflow(y.space_dimension(), 2441: max_space_dimension() - space_dimension(), 2441: "PPL::Box::", 2441: "concatenate_assign(y)", 2441: "concatenation exceeds the maximum " 2441: "allowed space dimension"); 2441: 2441: 2441: x.seq.reserve(x_space_dim + y_space_dim); 2441: 2441: 2441: 2441: if (x.marked_empty()) { 2441: x.seq.insert(x.seq.end(), y_space_dim, ITV(EMPTY)); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: std::copy(y.seq.begin(), y.seq.end(), 2441: std::back_insert_iterator(x.seq)); 2441: 2441: if (!y.status.test_empty_up_to_date()) { 2441: reset_empty_up_to_date(); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::difference_assign(const Box& y) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("difference_assign(y)", y); 2441: } 2441: 2441: Box& x = *this; 2441: if (x.is_empty() || y.is_empty()) { 2441: return; 2441: } 2441: switch (space_dim) { 2441: case 0: 2441: 2441: 2441: x.set_empty(); 2441: break; 2441: 2441: case 1: 2441: x.seq[0].difference_assign(y.seq[0]); 2441: if (x.seq[0].is_empty()) { 2441: x.set_empty(); 2441: } 2441: break; 2441: 2441: default: 2441: { 2441: dimension_type index_non_contained = space_dim; 2441: dimension_type number_non_contained = 0; 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: if (!y.seq[i].contains(x.seq[i])) { 2441: if (++number_non_contained == 1) { 2441: index_non_contained = i; 2441: } 2441: else { 2441: break; 2441: } 2441: } 2441: } 2441: 2441: switch (number_non_contained) { 2441: case 0: 2441: 2441: x.set_empty(); 2441: break; 2441: case 1: 2441: x.seq[index_non_contained] 2441: .difference_assign(y.seq[index_non_contained]); 2441: if (x.seq[index_non_contained].is_empty()) { 2441: x.set_empty(); 2441: } 2441: break; 2441: default: 2441: 2441: break; 2441: } 2441: } 2441: break; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: bool 2441: Box::simplify_using_context_assign(const Box& y) { 2441: Box& x = *this; 2441: const dimension_type num_dims = x.space_dimension(); 2441: 2441: if (num_dims != y.space_dimension()) { 2441: x.throw_dimension_incompatible("simplify_using_context_assign(y)", y); 2441: } 2441: 2441: 2441: if (num_dims == 0) { 2441: if (y.marked_empty()) { 2441: x.set_nonempty(); 2441: return false; 2441: } 2441: else { 2441: return !x.marked_empty(); 2441: } 2441: } 2441: 2441: 2441: if (y.is_empty()) { 2441: for (dimension_type i = num_dims; i-- > 0; ) { 2441: x.seq[i].assign(UNIVERSE); 2441: } 2441: x.set_nonempty(); 2441: return false; 2441: } 2441: 2441: if (x.is_empty()) { 2441: 2441: for (dimension_type i = 0; i < num_dims; ++i) { 2441: if (y.seq[i].is_universe()) { 2441: x.seq[i].assign(UNIVERSE); 2441: } 2441: else { 2441: 2441: ITV& seq_i = x.seq[i]; 2441: seq_i.empty_intersection_assign(y.seq[i]); 2441: if (seq_i.is_empty()) { 2441: 2441: 2441: seq_i.assign(UNIVERSE); 2441: continue; 2441: } 2441: 2441: 2441: for (++i; i < num_dims; ++i) { 2441: x.seq[i].assign(UNIVERSE); 2441: } 2441: x.set_nonempty(); 2441: ((void) 0); 2441: return false; 2441: } 2441: } 2441: 2441: 2441: ((void) 0); 2441: return false; 2441: } 2441: 2441: 2441: for (dimension_type i = 0; i < num_dims; ++i) { 2441: if (!x.seq[i].simplify_using_context_assign(y.seq[i])) { 2441: ((void) 0); 2441: 2441: 2441: for (dimension_type j = num_dims; j-- > i; ) { 2441: x.seq[j].assign(UNIVERSE); 2441: } 2441: for (dimension_type j = i; j-- > 0; ) { 2441: x.seq[j].assign(UNIVERSE); 2441: } 2441: ((void) 0); 2441: return false; 2441: } 2441: } 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: Box::time_elapse_assign(const Box& y) { 2441: Box& x = *this; 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: x.throw_dimension_incompatible("time_elapse_assign(y)", y); 2441: } 2441: 2441: 2441: if (x_space_dim == 0) { 2441: if (y.marked_empty()) { 2441: x.set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty() 2441: || x.is_empty() || y.is_empty()) { 2441: x.set_empty(); 2441: return; 2441: } 2441: 2441: for (dimension_type i = x_space_dim; i-- > 0; ) { 2441: ITV& x_seq_i = x.seq[i]; 2441: const ITV& y_seq_i = y.seq[i]; 2441: if (!x_seq_i.lower_is_boundary_infinity()) { 2441: if (y_seq_i.lower_is_boundary_infinity() || y_seq_i.lower() < 0) { 2441: x_seq_i.lower_extend(); 2441: } 2441: } 2441: if (!x_seq_i.upper_is_boundary_infinity()) { 2441: if (y_seq_i.upper_is_boundary_infinity() || y_seq_i.upper() > 0) { 2441: x_seq_i.upper_extend(); 2441: } 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: inline void 2441: Box::remove_space_dimensions(const Variables_Set& vars) { 2441: 2441: 2441: 2441: if (vars.empty()) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: const dimension_type old_space_dim = space_dimension(); 2441: 2441: 2441: const dimension_type vsi_space_dim = vars.space_dimension(); 2441: if (old_space_dim < vsi_space_dim) { 2441: throw_dimension_incompatible("remove_space_dimensions(vs)", 2441: vsi_space_dim); 2441: } 2441: 2441: const dimension_type new_space_dim = old_space_dim - vars.size(); 2441: 2441: 2441: 2441: 2441: if (is_empty() || new_space_dim == 0) { 2441: seq.resize(new_space_dim); 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: 2441: 2441: Variables_Set::const_iterator vsi = vars.begin(); 2441: Variables_Set::const_iterator vsi_end = vars.end(); 2441: dimension_type dst = *vsi; 2441: dimension_type src = dst + 1; 2441: for (++vsi; vsi != vsi_end; ++vsi) { 2441: const dimension_type vsi_next = *vsi; 2441: 2441: while (src < vsi_next) { 2441: swap(seq[dst++], seq[src++]); 2441: } 2441: ++src; 2441: } 2441: 2441: 2441: while (src < old_space_dim) { 2441: swap(seq[dst++], seq[src++]); 2441: } 2441: 2441: ((void) 0); 2441: seq.resize(new_space_dim); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::remove_higher_space_dimensions(const dimension_type new_dimension) { 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: if (new_dimension > space_dim) { 2441: throw_dimension_incompatible("remove_higher_space_dimensions(nd)", 2441: new_dimension); 2441: } 2441: 2441: 2441: 2441: 2441: if (new_dimension == space_dim) { 2441: ((void) 0); 2441: return; 2441: } 2441: 2441: seq.resize(new_dimension); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Box::map_space_dimensions(const Partial_Function& pfunc) { 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: if (pfunc.has_empty_codomain()) { 2441: 2441: remove_higher_space_dimensions(0); 2441: return; 2441: } 2441: 2441: const dimension_type new_space_dim = pfunc.max_in_codomain() + 1; 2441: 2441: if (is_empty()) { 2441: remove_higher_space_dimensions(new_space_dim); 2441: return; 2441: } 2441: 2441: 2441: Box tmp(new_space_dim); 2441: 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: dimension_type new_i; 2441: if (pfunc.maps(i, new_i)) { 2441: swap(seq[i], tmp.seq[new_i]); 2441: } 2441: } 2441: m_swap(tmp); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::fold_space_dimensions(const Variables_Set& vars, 2441: const Variable dest) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: if (dest.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest); 2441: } 2441: 2441: 2441: if (vars.empty()) { 2441: return; 2441: } 2441: 2441: 2441: if (vars.space_dimension() > space_dim) { 2441: throw_dimension_incompatible("fold_space_dimensions(vs, v)", 2441: vars.space_dimension()); 2441: } 2441: 2441: if (vars.find(dest.id()) != vars.end()) { 2441: throw_invalid_argument("fold_space_dimensions(vs, v)", 2441: "v should not occur in vs"); 2441: } 2441: 2441: 2441: if (!is_empty()) { 2441: 2441: 2441: ITV& seq_v = seq[dest.id()]; 2441: for (Variables_Set::const_iterator i = vars.begin(), 2441: vs_end = vars.end(); i != vs_end; ++i) { 2441: seq_v.join_assign(seq[*i]); 2441: } 2441: } 2441: remove_space_dimensions(vars); 2441: } 2441: 2441: template 2441: void 2441: Box::add_constraint_no_check(const Constraint& c) { 2441: ((void) 0); 2441: 2441: dimension_type c_num_vars = 0; 2441: dimension_type c_only_var = 0; 2441: 2441: if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) { 2441: throw_invalid_argument("add_constraint(c)", 2441: "c is not an interval constraint"); 2441: } 2441: 2441: 2441: 2441: if (c.is_strict_inequality() && c_num_vars != 0 2441: && ITV::is_always_topologically_closed()) { 2441: throw_invalid_argument("add_constraint(c)", 2441: "c is a nontrivial strict constraint"); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: const Coefficient& n = c.inhomogeneous_term(); 2441: if (c_num_vars == 0) { 2441: 2441: if (n < 0 2441: || (c.is_equality() && n != 0) 2441: || (c.is_strict_inequality() && n == 0)) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: const Coefficient& d = c.coefficient(Variable(c_only_var)); 2441: add_interval_constraint_no_check(c_only_var, c.type(), n, d); 2441: } 2441: 2441: template 2441: void 2441: Box::add_constraints_no_check(const Constraint_System& cs) { 2441: ((void) 0); 2441: 2441: 2441: 2441: for (Constraint_System::const_iterator i = cs.begin(), 2441: cs_end = cs.end(); i != cs_end; ++i) { 2441: add_constraint_no_check(*i); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::add_congruence_no_check(const Congruence& cg) { 2441: ((void) 0); 2441: 2441: 2441: if (cg.is_proper_congruence()) { 2441: if (cg.is_inconsistent()) { 2441: set_empty(); 2441: return; 2441: } 2441: else if (cg.is_tautological()) { 2441: return; 2441: } 2441: else { 2441: throw_invalid_argument("add_congruence(cg)", 2441: "cg is a nontrivial proper congruence"); 2441: } 2441: } 2441: 2441: ((void) 0); 2441: dimension_type cg_num_vars = 0; 2441: dimension_type cg_only_var = 0; 2441: 2441: if (!Box_Helpers::extract_interval_congruence(cg, cg_num_vars, cg_only_var)) { 2441: throw_invalid_argument("add_congruence(cg)", 2441: "cg is not an interval congruence"); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: const Coefficient& n = cg.inhomogeneous_term(); 2441: if (cg_num_vars == 0) { 2441: 2441: if (n != 0) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: const Coefficient& d = cg.coefficient(Variable(cg_only_var)); 2441: add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d); 2441: } 2441: 2441: template 2441: void 2441: Box::add_congruences_no_check(const Congruence_System& cgs) { 2441: ((void) 0); 2441: 2441: 2441: 2441: for (Congruence_System::const_iterator i = cgs.begin(), 2441: cgs_end = cgs.end(); i != cgs_end; ++i) { 2441: add_congruence_no_check(*i); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::refine_no_check(const Constraint& c) { 2441: ((void) 0); 2441: ((void) 0); 2441: 2441: dimension_type c_num_vars = 0; 2441: dimension_type c_only_var = 0; 2441: 2441: if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) { 2441: propagate_constraint_no_check(c); 2441: return; 2441: } 2441: 2441: const Coefficient& n = c.inhomogeneous_term(); 2441: if (c_num_vars == 0) { 2441: 2441: if (n < 0 2441: || (c.is_equality() && n != 0) 2441: || (c.is_strict_inequality() && n == 0)) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: const Coefficient& d = c.coefficient(Variable(c_only_var)); 2441: add_interval_constraint_no_check(c_only_var, c.type(), n, d); 2441: } 2441: 2441: template 2441: void 2441: Box::refine_no_check(const Constraint_System& cs) { 2441: ((void) 0); 2441: for (Constraint_System::const_iterator i = cs.begin(), 2441: cs_end = cs.end(); !marked_empty() && i != cs_end; ++i) { 2441: refine_no_check(*i); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::refine_no_check(const Congruence& cg) { 2441: ((void) 0); 2441: 2441: ((void) 0); 2441: 2441: if (cg.is_proper_congruence()) { 2441: 2441: 2441: if (cg.is_inconsistent()) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: Constraint c(cg); 2441: refine_no_check(c); 2441: } 2441: 2441: template 2441: void 2441: Box::refine_no_check(const Congruence_System& cgs) { 2441: ((void) 0); 2441: for (Congruence_System::const_iterator i = cgs.begin(), 2441: cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i) { 2441: refine_no_check(*i); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: 2441: namespace Implementation { 2441: 2441: namespace Boxes { 2441: 2441: inline bool 2441: propagate_constraint_check_result(Result r, Ternary& open) { 2441: r = result_relation_class(r); 2441: switch (r) { 2441: case V_GT_MINUS_INFINITY: 2441: case V_LT_PLUS_INFINITY: 2441: return true; 2441: case V_LT: 2441: case V_GT: 2441: open = T_YES; 2441: return false; 2441: case V_LE: 2441: case V_GE: 2441: if (open == T_NO) { 2441: open = T_MAYBE; 2441: } 2441: return false; 2441: case V_EQ: 2441: return false; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: return true; 2441: } 2441: } 2441: 2441: } 2441: 2441: } 2441: 2441: 2441: template 2441: void 2441: Box::propagate_constraint_no_check(const Constraint& c) { 2441: using namespace Implementation::Boxes; 2441: 2441: ((void) 0); 2441: 2441: typedef 2441: typename Select_Temp_Boundary_Type::type 2441: Temp_Boundary_Type; 2441: 2441: const dimension_type c_space_dim = c.space_dimension(); 2441: const Constraint::Type c_type = c.type(); 2441: const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term(); 2441: 2441: 2441: const dimension_type last_k 2441: = c.expression().last_nonzero(1, c_space_dim + 1); 2441: if (last_k == c_space_dim + 1) { 2441: 2441: if (c_inhomogeneous_term < 0 2441: || (c_inhomogeneous_term == 0 2441: && c_type != Constraint::NONSTRICT_INEQUALITY)) { 2441: set_empty(); 2441: } 2441: return; 2441: } 2441: 2441: 2441: ((void) 0); 2441: Temp_Boundary_Type t_bound; 2441: Temp_Boundary_Type t_a; 2441: Temp_Boundary_Type t_x; 2441: Ternary open; 2441: const Constraint::expr_type c_e = c.expression(); 2441: for (Constraint::expr_type::const_iterator k = c_e.begin(), 2441: k_end = c_e.lower_bound(Variable(last_k)); k != k_end; ++k) { 2441: const Coefficient& a_k = *k; 2441: const Variable k_var = k.variable(); 2441: const int sgn_a_k = sgn(a_k); 2441: if (sgn_a_k == 0) { 2441: continue; 2441: } 2441: Result r; 2441: if (sgn_a_k > 0) { 2441: open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO; 2441: if (open == T_NO) { 2441: maybe_reset_fpu_inexact(); 2441: } 2441: r = assign_r(t_bound, c_inhomogeneous_term, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: r = neg_assign_r(t_bound, t_bound, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: for (Constraint::expr_type::const_iterator i = c_e.begin(), 2441: i_end = c_e.lower_bound(Variable(last_k)); i != i_end; ++i) { 2441: const Variable i_var = i.variable(); 2441: if (i_var.id() == k_var.id()) { 2441: continue; 2441: } 2441: const Coefficient& a_i = *i; 2441: const int sgn_a_i = sgn(a_i); 2441: ITV& x_i = seq[i_var.id()]; 2441: if (sgn_a_i < 0) { 2441: if (x_i.lower_is_boundary_infinity()) { 2441: goto maybe_refine_upper_1; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: r = assign_r(t_x, x_i.lower(), ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: if (x_i.lower_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: if (x_i.upper_is_boundary_infinity()) { 2441: goto maybe_refine_upper_1; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: r = assign_r(t_x, x_i.upper(), ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: if (x_i.upper_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: } 2441: } 2441: r = assign_r(t_a, a_k, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: r = div_assign_r(t_bound, t_bound, t_a, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_1; 2441: } 2441: 2441: 2441: if (open == T_MAYBE 2441: && maybe_check_fpu_inexact() == 1) { 2441: open = T_YES; 2441: } 2441: { 2441: const Relation_Symbol rel 2441: = (open == T_YES) ? GREATER_THAN : GREATER_OR_EQUAL; 2441: seq[k_var.id()].add_constraint(i_constraint(rel, t_bound)); 2441: } 2441: reset_empty_up_to_date(); 2441: maybe_refine_upper_1: 2441: if (c_type != Constraint::EQUALITY) { 2441: continue; 2441: } 2441: open = T_NO; 2441: maybe_reset_fpu_inexact(); 2441: r = assign_r(t_bound, c_inhomogeneous_term, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = neg_assign_r(t_bound, t_bound, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: for (Constraint::expr_type::const_iterator i = c_e.begin(), 2441: i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) { 2441: const Variable i_var = i.variable(); 2441: if (i_var.id() == k_var.id()) { 2441: continue; 2441: } 2441: const Coefficient& a_i = *i; 2441: const int sgn_a_i = sgn(a_i); 2441: ITV& x_i = seq[i_var.id()]; 2441: if (sgn_a_i < 0) { 2441: if (x_i.upper_is_boundary_infinity()) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_x, x_i.upper(), ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: if (x_i.upper_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: if (x_i.lower_is_boundary_infinity()) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_x, x_i.lower(), ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: if (x_i.lower_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: } 2441: } 2441: r = assign_r(t_a, a_k, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = div_assign_r(t_bound, t_bound, t_a, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: 2441: 2441: if (open == T_MAYBE 2441: && maybe_check_fpu_inexact() == 1) { 2441: open = T_YES; 2441: } 2441: const Relation_Symbol rel 2441: = (open == T_YES) ? LESS_THAN : LESS_OR_EQUAL; 2441: seq[k_var.id()].add_constraint(i_constraint(rel, t_bound)); 2441: reset_empty_up_to_date(); 2441: } 2441: else { 2441: ((void) 0); 2441: open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO; 2441: if (open == T_NO) { 2441: maybe_reset_fpu_inexact(); 2441: } 2441: r = assign_r(t_bound, c_inhomogeneous_term, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: r = neg_assign_r(t_bound, t_bound, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: for (Constraint::expr_type::const_iterator i = c_e.begin(), 2441: i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) { 2441: const Variable i_var = i.variable(); 2441: if (i_var.id() == k_var.id()) { 2441: continue; 2441: } 2441: const Coefficient& a_i = *i; 2441: const int sgn_a_i = sgn(a_i); 2441: ITV& x_i = seq[i_var.id()]; 2441: if (sgn_a_i < 0) { 2441: if (x_i.lower_is_boundary_infinity()) { 2441: goto maybe_refine_upper_2; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: r = assign_r(t_x, x_i.lower(), ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: if (x_i.lower_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: if (x_i.upper_is_boundary_infinity()) { 2441: goto maybe_refine_upper_2; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: r = assign_r(t_x, x_i.upper(), ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: if (x_i.upper_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: } 2441: } 2441: r = assign_r(t_a, a_k, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: r = div_assign_r(t_bound, t_bound, t_a, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto maybe_refine_upper_2; 2441: } 2441: 2441: if (open == T_MAYBE 2441: && maybe_check_fpu_inexact() == 1) { 2441: open = T_YES; 2441: } 2441: { 2441: const Relation_Symbol rel 2441: = (open == T_YES) ? LESS_THAN : LESS_OR_EQUAL; 2441: seq[k_var.id()].add_constraint(i_constraint(rel, t_bound)); 2441: } 2441: reset_empty_up_to_date(); 2441: maybe_refine_upper_2: 2441: if (c_type != Constraint::EQUALITY) { 2441: continue; 2441: } 2441: open = T_NO; 2441: maybe_reset_fpu_inexact(); 2441: r = assign_r(t_bound, c_inhomogeneous_term, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = neg_assign_r(t_bound, t_bound, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: for (Constraint::expr_type::const_iterator i = c_e.begin(), 2441: i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) { 2441: const Variable i_var = i.variable(); 2441: if (i_var.id() == k_var.id()) { 2441: continue; 2441: } 2441: const Coefficient& a_i = *i; 2441: const int sgn_a_i = sgn(a_i); 2441: ITV& x_i = seq[i_var.id()]; 2441: if (sgn_a_i < 0) { 2441: if (x_i.upper_is_boundary_infinity()) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_x, x_i.upper(), ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: if (x_i.upper_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: } 2441: else { 2441: ((void) 0); 2441: if (x_i.lower_is_boundary_infinity()) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_a, a_i, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = assign_r(t_x, x_i.lower(), ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: if (x_i.lower_is_open()) { 2441: open = T_YES; 2441: } 2441: r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: } 2441: } 2441: r = assign_r(t_a, a_k, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: r = div_assign_r(t_bound, t_bound, t_a, ROUND_DOWN); 2441: if (propagate_constraint_check_result(r, open)) { 2441: goto next_k; 2441: } 2441: 2441: 2441: if (open == T_MAYBE 2441: && maybe_check_fpu_inexact() == 1) { 2441: open = T_YES; 2441: } 2441: const Relation_Symbol rel 2441: = (open == T_YES) ? GREATER_THAN : GREATER_OR_EQUAL; 2441: seq[k_var.id()].add_constraint(i_constraint(rel, t_bound)); 2441: reset_empty_up_to_date(); 2441: } 2441: next_k: 2441: ; 2441: } 2441: } 2441: # 3027 "../../src/Box_templates.hh" 2441: template 2441: void 2441: Box 2441: ::propagate_constraints_no_check(const Constraint_System& cs, 2441: const dimension_type max_iterations) { 2441: const dimension_type space_dim = space_dimension(); 2441: ((void) 0); 2441: 2441: const Constraint_System::const_iterator cs_begin = cs.begin(); 2441: const Constraint_System::const_iterator cs_end = cs.end(); 2441: const dimension_type propagation_weight 2441: = Implementation::num_constraints(cs) * space_dim; 2441: 2441: Sequence copy; 2441: bool changed; 2441: dimension_type num_iterations = 0; 2441: do { 2441: do { } while (false); 2441: ++num_iterations; 2441: copy = seq; 2441: for (Constraint_System::const_iterator i = cs_begin; i != cs_end; ++i) { 2441: propagate_constraint_no_check(*i); 2441: } 2441: 2441: do { Weightwatch_Traits::weight += (40)*(propagation_weight); } while (false); 2441: 2441: 2441: 2441: maybe_abandon(); 2441: 2441: 2441: 2441: if (num_iterations == max_iterations) { 2441: break; 2441: } 2441: 2441: changed = (copy != seq); 2441: } while (changed); 2441: } 2441: 2441: template 2441: void 2441: Box::affine_image(const Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("affine_image(v, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("affine_image(v, e, d)", "e", expr); 2441: } 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dim < var_space_dim) { 2441: throw_dimension_incompatible("affine_image(v, e, d)", "v", var); 2441: } 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: Tmp_Interval_Type expr_value; 2441: Tmp_Interval_Type temp0; 2441: Tmp_Interval_Type temp1; 2441: expr_value.assign(expr.inhomogeneous_term()); 2441: for (Linear_Expression::const_iterator i = expr.begin(), 2441: i_end = expr.end(); i != i_end; ++i) { 2441: temp0.assign(*i); 2441: temp1.assign(seq[i.variable().id()]); 2441: temp0.mul_assign(temp0, temp1); 2441: expr_value.add_assign(expr_value, temp0); 2441: } 2441: if (denominator != 1) { 2441: temp0.assign(denominator); 2441: expr_value.div_assign(expr_value, temp0); 2441: } 2441: seq[var.id()].assign(expr_value); 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::affine_form_image(const Variable var, 2441: const Linear_Form& lf) { 2441: 2441: 2441: enum anonymous_enum_compile_time_check___LINE__ { compile_time_check_3121 = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(!std::numeric_limits ::is_exact)>) } 2441: 2441: ; 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: const dimension_type lf_space_dim = lf.space_dimension(); 2441: if (space_dim < lf_space_dim) { 2441: throw_dimension_incompatible("affine_form_image(var, lf)", "lf", lf); 2441: } 2441: 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dim < var_space_dim) { 2441: throw_dimension_incompatible("affine_form_image(var, lf)", "var", var); 2441: } 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: 2441: ITV result = lf.inhomogeneous_term(); 2441: for (dimension_type i = 0; i < lf_space_dim; ++i) { 2441: ITV current_addend = lf.coefficient(Variable(i)); 2441: const ITV& curr_int = seq[i]; 2441: current_addend *= curr_int; 2441: result += current_addend; 2441: } 2441: 2441: seq[var.id()].assign(result); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::affine_preimage(const Variable var, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference 2441: denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("affine_preimage(v, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type x_space_dim = space_dimension(); 2441: const dimension_type expr_space_dim = expr.space_dimension(); 2441: if (x_space_dim < expr_space_dim) { 2441: throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr); 2441: } 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (x_space_dim < var_space_dim) { 2441: throw_dimension_incompatible("affine_preimage(v, e, d)", "v", var); 2441: } 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: const Coefficient& expr_v = expr.coefficient(var); 2441: const bool invertible = (expr_v != 0); 2441: if (!invertible) { 2441: Tmp_Interval_Type expr_value; 2441: Tmp_Interval_Type temp0; 2441: Tmp_Interval_Type temp1; 2441: expr_value.assign(expr.inhomogeneous_term()); 2441: for (Linear_Expression::const_iterator i = expr.begin(), 2441: i_end = expr.end(); i != i_end; ++i) { 2441: temp0.assign(*i); 2441: temp1.assign(seq[i.variable().id()]); 2441: temp0.mul_assign(temp0, temp1); 2441: expr_value.add_assign(expr_value, temp0); 2441: } 2441: if (denominator != 1) { 2441: temp0.assign(denominator); 2441: expr_value.div_assign(expr_value, temp0); 2441: } 2441: ITV& x_seq_v = seq[var.id()]; 2441: expr_value.intersect_assign(x_seq_v); 2441: if (expr_value.is_empty()) { 2441: set_empty(); 2441: } 2441: else { 2441: x_seq_v.assign(UNIVERSE); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: Linear_Expression inverse; 2441: inverse -= expr; 2441: inverse += (expr_v + denominator) * var; 2441: affine_image(var, inverse, expr_v); 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box 2441: ::bounded_affine_image(const Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: const dimension_type lb_space_dim = lb_expr.space_dimension(); 2441: if (space_dim < lb_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: "lb", lb_expr); 2441: } 2441: const dimension_type ub_space_dim = ub_expr.space_dimension(); 2441: if (space_dim < ub_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)", 2441: "ub", ub_expr); 2441: } 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dim < var_space_dim) { 2441: throw_dimension_incompatible("affine_image(v, e, d)", "v", var); 2441: } 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: if (denominator > 0) { 2441: refine_with_constraint(lb_expr <= ub_expr); 2441: } 2441: else { 2441: refine_with_constraint(lb_expr >= ub_expr); 2441: } 2441: 2441: 2441: if (lb_expr.coefficient(var) == 0) { 2441: 2441: generalized_affine_image(var, 2441: LESS_OR_EQUAL, 2441: ub_expr, 2441: denominator); 2441: if (denominator > 0) { 2441: refine_with_constraint(lb_expr <= denominator*var); 2441: } 2441: else { 2441: refine_with_constraint(denominator*var <= lb_expr); 2441: } 2441: } 2441: else if (ub_expr.coefficient(var) == 0) { 2441: 2441: generalized_affine_image(var, 2441: GREATER_OR_EQUAL, 2441: lb_expr, 2441: denominator); 2441: if (denominator > 0) { 2441: refine_with_constraint(denominator*var <= ub_expr); 2441: } 2441: else { 2441: refine_with_constraint(ub_expr <= denominator*var); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_numer; Parma_Polyhedra_Library::Coefficient& max_numer = holder_max_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_denom; Parma_Polyhedra_Library::Coefficient& max_denom = holder_max_denom.item(); 2441: bool max_included; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_numer; Parma_Polyhedra_Library::Coefficient& min_numer = holder_min_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_denom; Parma_Polyhedra_Library::Coefficient& min_denom = holder_min_denom.item(); 2441: bool min_included; 2441: ITV& seq_v = seq[var.id()]; 2441: if (maximize(ub_expr, max_numer, max_denom, max_included)) { 2441: if (minimize(lb_expr, min_numer, min_denom, min_included)) { 2441: 2441: 2441: 2441: min_denom *= denominator; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q1; mpq_class& q1 = holder_q1.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q2; mpq_class& q2 = holder_q2.item(); 2441: assign_r(q1.get_num(), min_numer, ROUND_NOT_NEEDED); 2441: assign_r(q1.get_den(), min_denom, ROUND_NOT_NEEDED); 2441: q1.canonicalize(); 2441: 2441: 2441: max_denom *= denominator; 2441: assign_r(q2.get_num(), max_numer, ROUND_NOT_NEEDED); 2441: assign_r(q2.get_den(), max_denom, ROUND_NOT_NEEDED); 2441: q2.canonicalize(); 2441: 2441: if (denominator > 0) { 2441: Relation_Symbol gr = min_included ? GREATER_OR_EQUAL : GREATER_THAN; 2441: Relation_Symbol lr = max_included ? LESS_OR_EQUAL : LESS_THAN; 2441: seq_v.build(i_constraint(gr, q1), i_constraint(lr, q2)); 2441: } 2441: else { 2441: Relation_Symbol gr = max_included ? GREATER_OR_EQUAL : GREATER_THAN; 2441: Relation_Symbol lr = min_included ? LESS_OR_EQUAL : LESS_THAN; 2441: seq_v.build(i_constraint(gr, q2), i_constraint(lr, q1)); 2441: } 2441: } 2441: else { 2441: 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: max_denom *= denominator; 2441: assign_r(q.get_num(), max_numer, ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), max_denom, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: Relation_Symbol rel = (denominator > 0) 2441: ? (max_included ? LESS_OR_EQUAL : LESS_THAN) 2441: : (max_included ? GREATER_OR_EQUAL : GREATER_THAN); 2441: seq_v.build(i_constraint(rel, q)); 2441: } 2441: } 2441: else if (minimize(lb_expr, min_numer, min_denom, min_included)) { 2441: 2441: 2441: 2441: min_denom *= denominator; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: assign_r(q.get_num(), min_numer, ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), min_denom, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: 2441: Relation_Symbol rel = (denominator > 0) 2441: ? (min_included ? GREATER_OR_EQUAL : GREATER_THAN) 2441: : (min_included ? LESS_OR_EQUAL : LESS_THAN); 2441: seq_v.build(i_constraint(rel, q)); 2441: } 2441: else { 2441: 2441: 2441: 2441: seq_v.assign(UNIVERSE); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box 2441: ::bounded_affine_preimage(const Variable var, 2441: const Linear_Expression& lb_expr, 2441: const Linear_Expression& ub_expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: if (denominator == 0) { 2441: throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0"); 2441: } 2441: 2441: 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dim < var_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "v", var); 2441: } 2441: 2441: 2441: const dimension_type lb_space_dim = lb_expr.space_dimension(); 2441: if (space_dim < lb_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "lb", lb_expr); 2441: } 2441: const dimension_type ub_space_dim = ub_expr.space_dimension(); 2441: if (space_dim < ub_space_dim) { 2441: throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)", 2441: "ub", ub_expr); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: const bool negative_denom = (denominator < 0); 2441: const Coefficient& lb_var_coeff = lb_expr.coefficient(var); 2441: const Coefficient& ub_var_coeff = ub_expr.coefficient(var); 2441: 2441: 2441: 2441: if (lb_var_coeff == ub_var_coeff) { 2441: if (negative_denom) { 2441: refine_with_constraint(lb_expr >= ub_expr); 2441: } 2441: else { 2441: refine_with_constraint(lb_expr <= ub_expr); 2441: } 2441: } 2441: 2441: ITV& seq_var = seq[var.id()]; 2441: if (!seq_var.is_universe()) { 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_pos_denominator; Parma_Polyhedra_Library::Coefficient& pos_denominator = holder_pos_denominator.item(); 2441: pos_denominator = denominator; 2441: if (negative_denom) { 2441: neg_assign(pos_denominator, pos_denominator); 2441: } 2441: 2441: 2441: bool open_lower = seq_var.lower_is_open(); 2441: bool unbounded_lower = seq_var.lower_is_boundary_infinity(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_seq_var_lower; mpq_class& q_seq_var_lower = holder_q_seq_var_lower.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer_lower; Parma_Polyhedra_Library::Coefficient& numer_lower = holder_numer_lower.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom_lower; Parma_Polyhedra_Library::Coefficient& denom_lower = holder_denom_lower.item(); 2441: if (!unbounded_lower) { 2441: assign_r(q_seq_var_lower, seq_var.lower(), ROUND_NOT_NEEDED); 2441: assign_r(numer_lower, q_seq_var_lower.get_num(), ROUND_NOT_NEEDED); 2441: assign_r(denom_lower, q_seq_var_lower.get_den(), ROUND_NOT_NEEDED); 2441: if (negative_denom) { 2441: neg_assign(denom_lower, denom_lower); 2441: } 2441: numer_lower *= pos_denominator; 2441: seq_var.lower_extend(); 2441: } 2441: bool open_upper = seq_var.upper_is_open(); 2441: bool unbounded_upper = seq_var.upper_is_boundary_infinity(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_seq_var_upper; mpq_class& q_seq_var_upper = holder_q_seq_var_upper.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_numer_upper; Parma_Polyhedra_Library::Coefficient& numer_upper = holder_numer_upper.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom_upper; Parma_Polyhedra_Library::Coefficient& denom_upper = holder_denom_upper.item(); 2441: if (!unbounded_upper) { 2441: assign_r(q_seq_var_upper, seq_var.upper(), ROUND_NOT_NEEDED); 2441: assign_r(numer_upper, q_seq_var_upper.get_num(), ROUND_NOT_NEEDED); 2441: assign_r(denom_upper, q_seq_var_upper.get_den(), ROUND_NOT_NEEDED); 2441: if (negative_denom) { 2441: neg_assign(denom_upper, denom_upper); 2441: } 2441: numer_upper *= pos_denominator; 2441: seq_var.upper_extend(); 2441: } 2441: 2441: if (!unbounded_lower) { 2441: 2441: 2441: 2441: Linear_Expression revised_lb_expr(ub_expr); 2441: revised_lb_expr -= ub_var_coeff * var; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; Parma_Polyhedra_Library::Coefficient& d = holder_d.item(); 2441: neg_assign(d, denom_lower); 2441: revised_lb_expr *= d; 2441: revised_lb_expr += numer_lower; 2441: 2441: 2441: 2441: bool included; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: if (minimize(revised_lb_expr, numer_lower, denom, included)) { 2441: denom_lower *= (denom * ub_var_coeff); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: assign_r(q.get_num(), numer_lower, ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), denom_lower, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: if (!included) { 2441: open_lower = true; 2441: } 2441: Relation_Symbol rel; 2441: if ((ub_var_coeff >= 0) ? !negative_denom : negative_denom) { 2441: rel = open_lower ? GREATER_THAN : GREATER_OR_EQUAL; 2441: } 2441: else { 2441: rel = open_lower ? LESS_THAN : LESS_OR_EQUAL; 2441: } 2441: seq_var.add_constraint(i_constraint(rel, q)); 2441: if (seq_var.is_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: } 2441: } 2441: 2441: if (!unbounded_upper) { 2441: 2441: 2441: 2441: Linear_Expression revised_ub_expr(lb_expr); 2441: revised_ub_expr -= lb_var_coeff * var; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; Parma_Polyhedra_Library::Coefficient& d = holder_d.item(); 2441: neg_assign(d, denom_upper); 2441: revised_ub_expr *= d; 2441: revised_ub_expr += numer_upper; 2441: 2441: 2441: 2441: bool included; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_denom; Parma_Polyhedra_Library::Coefficient& denom = holder_denom.item(); 2441: if (maximize(revised_ub_expr, numer_upper, denom, included)) { 2441: denom_upper *= (denom * lb_var_coeff); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q; mpq_class& q = holder_q.item(); 2441: assign_r(q.get_num(), numer_upper, ROUND_NOT_NEEDED); 2441: assign_r(q.get_den(), denom_upper, ROUND_NOT_NEEDED); 2441: q.canonicalize(); 2441: if (!included) { 2441: open_upper = true; 2441: } 2441: Relation_Symbol rel; 2441: if ((lb_var_coeff >= 0) ? !negative_denom : negative_denom) { 2441: rel = open_upper ? LESS_THAN : LESS_OR_EQUAL; 2441: } 2441: else { 2441: rel = open_upper ? GREATER_THAN : GREATER_OR_EQUAL; 2441: } 2441: seq_var.add_constraint(i_constraint(rel, q)); 2441: if (seq_var.is_empty()) { 2441: set_empty(); 2441: return; 2441: } 2441: } 2441: } 2441: } 2441: 2441: 2441: 2441: if (lb_var_coeff != ub_var_coeff) { 2441: if (denominator > 0) { 2441: refine_with_constraint(lb_expr <= ub_expr); 2441: } 2441: else { 2441: refine_with_constraint(lb_expr >= ub_expr); 2441: } 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box 2441: ::generalized_affine_image(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator) { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0"); 2441: } 2441: 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim < expr.space_dimension()) { 2441: throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", 2441: "e", expr); 2441: } 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dim < var_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", 2441: "v", var); 2441: } 2441: 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_image(v, r, e, d)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: 2441: affine_image(var, expr, denominator); 2441: 2441: if (relsym == EQUAL) { 2441: 2441: return; 2441: } 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: ITV& seq_var = seq[var.id()]; 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: seq_var.lower_extend(); 2441: break; 2441: case LESS_THAN: 2441: seq_var.lower_extend(); 2441: if (!seq_var.upper_is_boundary_infinity()) { 2441: seq_var.remove_sup(); 2441: } 2441: break; 2441: case GREATER_OR_EQUAL: 2441: seq_var.upper_extend(); 2441: break; 2441: case GREATER_THAN: 2441: seq_var.upper_extend(); 2441: if (!seq_var.lower_is_boundary_infinity()) { 2441: seq_var.remove_inf(); 2441: } 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box 2441: ::generalized_affine_preimage(const Variable var, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& expr, 2441: Coefficient_traits::const_reference denominator) 2441: { 2441: 2441: if (denominator == 0) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", 2441: "d == 0"); 2441: } 2441: 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim < expr.space_dimension()) { 2441: throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)", 2441: "e", expr); 2441: } 2441: 2441: const dimension_type var_space_dim = var.space_dimension(); 2441: if (space_dim < var_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)", 2441: "v", var); 2441: } 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: 2441: if (relsym == EQUAL) { 2441: affine_preimage(var, expr, denominator); 2441: return; 2441: } 2441: 2441: 2441: Relation_Symbol reversed_relsym; 2441: switch (relsym) { 2441: case LESS_THAN: 2441: reversed_relsym = GREATER_THAN; 2441: break; 2441: case LESS_OR_EQUAL: 2441: reversed_relsym = GREATER_OR_EQUAL; 2441: break; 2441: case GREATER_OR_EQUAL: 2441: reversed_relsym = LESS_OR_EQUAL; 2441: break; 2441: case GREATER_THAN: 2441: reversed_relsym = LESS_THAN; 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: 2441: 2441: const Coefficient& var_coefficient = expr.coefficient(var); 2441: if (var_coefficient != 0) { 2441: Linear_Expression inverse_expr 2441: = expr - (denominator + var_coefficient) * var; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_inverse_denominator; Parma_Polyhedra_Library::Coefficient& inverse_denominator = holder_inverse_denominator.item(); 2441: neg_assign(inverse_denominator, var_coefficient); 2441: Relation_Symbol inverse_relsym 2441: = (sgn(denominator) == sgn(inverse_denominator)) 2441: ? relsym 2441: : reversed_relsym; 2441: generalized_affine_image(var, inverse_relsym, inverse_expr, 2441: inverse_denominator); 2441: return; 2441: } 2441: # 3716 "../../src/Box_templates.hh" 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_numer; Parma_Polyhedra_Library::Coefficient& max_numer = holder_max_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_denom; Parma_Polyhedra_Library::Coefficient& max_denom = holder_max_denom.item(); 2441: bool max_included; 2441: bool bound_above = maximize(denominator*var, max_numer, max_denom, max_included); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_numer; Parma_Polyhedra_Library::Coefficient& min_numer = holder_min_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_denom; Parma_Polyhedra_Library::Coefficient& min_denom = holder_min_denom.item(); 2441: bool min_included; 2441: bool bound_below = minimize(denominator*var, min_numer, min_denom, min_included); 2441: 2441: const Relation_Symbol corrected_relsym 2441: = (denominator > 0) ? relsym : reversed_relsym; 2441: 2441: 2441: Linear_Expression revised_expr; 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; Parma_Polyhedra_Library::Coefficient& d = holder_d.item(); 2441: if (corrected_relsym == LESS_THAN || corrected_relsym == LESS_OR_EQUAL) { 2441: if (bound_below) { 2441: revised_expr = expr; 2441: revised_expr.set_inhomogeneous_term(Coefficient_zero()); 2441: revised_expr *= d; 2441: } 2441: } 2441: else { 2441: if (bound_above) { 2441: revised_expr = expr; 2441: revised_expr.set_inhomogeneous_term(Coefficient_zero()); 2441: revised_expr *= max_denom; 2441: } 2441: } 2441: 2441: switch (corrected_relsym) { 2441: case LESS_THAN: 2441: if (bound_below) { 2441: refine_with_constraint(min_numer < revised_expr); 2441: } 2441: break; 2441: case LESS_OR_EQUAL: 2441: if (bound_below) { 2441: (min_included) 2441: ? refine_with_constraint(min_numer <= revised_expr) 2441: : refine_with_constraint(min_numer < revised_expr); 2441: } 2441: break; 2441: case GREATER_OR_EQUAL: 2441: if (bound_above) { 2441: (max_included) 2441: ? refine_with_constraint(max_numer >= revised_expr) 2441: : refine_with_constraint(max_numer > revised_expr); 2441: } 2441: break; 2441: case GREATER_THAN: 2441: if (bound_above) { 2441: refine_with_constraint(max_numer > revised_expr); 2441: } 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: ITV& seq_v = seq[var.id()]; 2441: seq_v.assign(UNIVERSE); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box 2441: ::generalized_affine_image(const Linear_Expression& lhs, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& rhs) { 2441: 2441: 2441: 2441: dimension_type lhs_space_dim = lhs.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim < lhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e1", lhs); 2441: } 2441: 2441: 2441: const dimension_type rhs_space_dim = rhs.space_dimension(); 2441: if (space_dim < rhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e2", rhs); 2441: } 2441: 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_image(e1, r, e2)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_numer; Parma_Polyhedra_Library::Coefficient& max_numer = holder_max_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_max_denom; Parma_Polyhedra_Library::Coefficient& max_denom = holder_max_denom.item(); 2441: bool max_included; 2441: bool max_rhs = maximize(rhs, max_numer, max_denom, max_included); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_numer; Parma_Polyhedra_Library::Coefficient& min_numer = holder_min_numer.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_min_denom; Parma_Polyhedra_Library::Coefficient& min_denom = holder_min_denom.item(); 2441: bool min_included; 2441: bool min_rhs = minimize(rhs, min_numer, min_denom, min_included); 2441: 2441: 2441: 2441: 2441: 2441: bool has_var = false; 2441: dimension_type has_var_id = lhs.last_nonzero(); 2441: 2441: if (has_var_id != 0) { 2441: has_var = true; 2441: --has_var_id; 2441: dimension_type other_var = lhs.first_nonzero(1, has_var_id + 1); 2441: --other_var; 2441: if (other_var != has_var_id) { 2441: 2441: 2441: ITV& seq_var = seq[has_var_id]; 2441: seq_var.assign(UNIVERSE); 2441: 2441: 2441: 2441: ITV& seq_i = seq[other_var]; 2441: seq_i.assign(UNIVERSE); 2441: ((void) 0); 2441: return; 2441: } 2441: } 2441: 2441: if (has_var) { 2441: 2441: ITV& seq_var = seq[has_var_id]; 2441: 2441: 2441: 2441: const Coefficient& inhomo = lhs.inhomogeneous_term(); 2441: const Coefficient& coeff = lhs.coefficient(Variable(has_var_id)); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_max; mpq_class& q_max = holder_q_max.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_q_min; mpq_class& q_min = holder_q_min.item(); 2441: if (max_rhs) { 2441: max_numer -= inhomo * max_denom; 2441: max_denom *= coeff; 2441: assign_r(q_max.get_num(), max_numer, ROUND_NOT_NEEDED); 2441: assign_r(q_max.get_den(), max_denom, ROUND_NOT_NEEDED); 2441: q_max.canonicalize(); 2441: } 2441: if (min_rhs) { 2441: min_numer -= inhomo * min_denom; 2441: min_denom *= coeff; 2441: assign_r(q_min.get_num(), min_numer, ROUND_NOT_NEEDED); 2441: assign_r(q_min.get_den(), min_denom, ROUND_NOT_NEEDED); 2441: q_min.canonicalize(); 2441: } 2441: 2441: 2441: 2441: if (coeff > 0) { 2441: 2441: switch (relsym) { 2441: case LESS_OR_EQUAL: 2441: if (max_rhs) { 2441: Relation_Symbol rel = max_included ? LESS_OR_EQUAL : LESS_THAN; 2441: seq_var.build(i_constraint(rel, q_max)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: case LESS_THAN: 2441: if (max_rhs) { 2441: seq_var.build(i_constraint(LESS_THAN, q_max)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: case EQUAL: 2441: { 2441: I_Constraint l; 2441: I_Constraint u; 2441: if (max_rhs) { 2441: u.set(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max); 2441: } 2441: if (min_rhs) { 2441: l.set(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min); 2441: } 2441: seq_var.build(l, u); 2441: break; 2441: } 2441: case GREATER_OR_EQUAL: 2441: if (min_rhs) { 2441: Relation_Symbol rel = min_included ? GREATER_OR_EQUAL : GREATER_THAN; 2441: seq_var.build(i_constraint(rel, q_min)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: case GREATER_THAN: 2441: if (min_rhs) { 2441: seq_var.build(i_constraint(GREATER_THAN, q_min)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: else { 2441: 2441: switch (relsym) { 2441: case GREATER_OR_EQUAL: 2441: if (min_rhs) { 2441: Relation_Symbol rel = min_included ? LESS_OR_EQUAL : LESS_THAN; 2441: seq_var.build(i_constraint(rel, q_min)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: case GREATER_THAN: 2441: if (min_rhs) { 2441: seq_var.build(i_constraint(LESS_THAN, q_min)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: case EQUAL: 2441: { 2441: I_Constraint l; 2441: I_Constraint u; 2441: if (max_rhs) { 2441: l.set(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max); 2441: } 2441: if (min_rhs) { 2441: u.set(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min); 2441: } 2441: seq_var.build(l, u); 2441: break; 2441: } 2441: case LESS_OR_EQUAL: 2441: if (max_rhs) { 2441: Relation_Symbol rel = max_included ? GREATER_OR_EQUAL : GREATER_THAN; 2441: seq_var.build(i_constraint(rel, q_max)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: case LESS_THAN: 2441: if (max_rhs) { 2441: seq_var.build(i_constraint(GREATER_THAN, q_max)); 2441: } 2441: else { 2441: seq_var.assign(UNIVERSE); 2441: } 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: } 2441: 2441: else { 2441: 2441: 2441: const Coefficient& inhomo = lhs.inhomogeneous_term(); 2441: switch (relsym) { 2441: case LESS_THAN: 2441: refine_with_constraint(inhomo < rhs); 2441: break; 2441: case LESS_OR_EQUAL: 2441: refine_with_constraint(inhomo <= rhs); 2441: break; 2441: case EQUAL: 2441: refine_with_constraint(inhomo == rhs); 2441: break; 2441: case GREATER_OR_EQUAL: 2441: refine_with_constraint(inhomo >= rhs); 2441: break; 2441: case GREATER_THAN: 2441: refine_with_constraint(inhomo > rhs); 2441: break; 2441: default: 2441: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: void 2441: Box::generalized_affine_preimage(const Linear_Expression& lhs, 2441: const Relation_Symbol relsym, 2441: const Linear_Expression& rhs) { 2441: 2441: 2441: 2441: dimension_type lhs_space_dim = lhs.space_dimension(); 2441: const dimension_type space_dim = space_dimension(); 2441: if (space_dim < lhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e1", lhs); 2441: } 2441: 2441: 2441: const dimension_type rhs_space_dim = rhs.space_dimension(); 2441: if (space_dim < rhs_space_dim) { 2441: throw_dimension_incompatible("generalized_affine_image(e1, r, e2)", 2441: "e2", rhs); 2441: } 2441: 2441: 2441: if (relsym == NOT_EQUAL) { 2441: throw_invalid_argument("generalized_affine_image(e1, r, e2)", 2441: "r is the disequality relation symbol"); 2441: } 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: 2441: Linear_Expression revised_lhs = lhs; 2441: Linear_Expression revised_rhs = rhs; 2441: for (Linear_Expression::const_iterator i = lhs.begin(), 2441: i_end = lhs.end(); i != i_end; ++i) { 2441: const Variable var = i.variable(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_tmp; Parma_Polyhedra_Library::Coefficient& tmp = holder_tmp.item(); 2441: tmp = *i; 2441: tmp += rhs.coefficient(var); 2441: sub_mul_assign(revised_rhs, tmp, var); 2441: sub_mul_assign(revised_lhs, tmp, var); 2441: } 2441: generalized_affine_image(revised_lhs, relsym, revised_rhs); 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: typename Enable_If >::value 2441: && Is_Same_Or_Derived::value, 2441: void>::type 2441: Box::CC76_widening_assign(const T& y, Iterator first, Iterator last) { 2441: if (y.is_empty()) { 2441: return; 2441: } 2441: for (dimension_type i = seq.size(); i-- > 0; ) { 2441: seq[i].CC76_widening_assign(y.seq[i], first, last); 2441: } 2441: 2441: ((void) 0); 2441: } 2441: 2441: template 2441: template 2441: typename Enable_If >::value 2441: && Is_Same_Or_Derived::value, 2441: void>::type 2441: Box::CC76_widening_assign(const T& y, unsigned* tp) { 2441: static typename ITV::boundary_type stop_points[] = { 2441: typename ITV::boundary_type(-2), 2441: typename ITV::boundary_type(-1), 2441: typename ITV::boundary_type(0), 2441: typename ITV::boundary_type(1), 2441: typename ITV::boundary_type(2) 2441: }; 2441: 2441: Box& x = *this; 2441: 2441: if (tp != 0 && *tp > 0) { 2441: Box x_tmp(x); 2441: x_tmp.CC76_widening_assign(y, 0); 2441: 2441: if (!x.contains(x_tmp)) { 2441: --(*tp); 2441: } 2441: return; 2441: } 2441: x.CC76_widening_assign(y, 2441: stop_points, 2441: stop_points 2441: + sizeof(stop_points)/sizeof(stop_points[0])); 2441: } 2441: 2441: template 2441: void 2441: Box::get_limiting_box(const Constraint_System& cs, 2441: Box& limiting_box) const { 2441: 2441: ((void) 0); 2441: 2441: for (Constraint_System::const_iterator cs_i = cs.begin(), 2441: cs_end = cs.end(); cs_i != cs_end; ++cs_i) { 2441: const Constraint& c = *cs_i; 2441: dimension_type c_num_vars = 0; 2441: dimension_type c_only_var = 0; 2441: 2441: if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) { 2441: continue; 2441: } 2441: 2441: if (c_num_vars != 0) { 2441: 2441: 2441: const Coefficient& n = c.inhomogeneous_term(); 2441: const Coefficient& d = c.coefficient(Variable(c_only_var)); 2441: if (interval_relation(seq[c_only_var], c.type(), n, d) 2441: == Poly_Con_Relation::is_included()) { 2441: limiting_box.add_interval_constraint_no_check(c_only_var, c.type(), 2441: n, d); 2441: } 2441: } 2441: } 2441: } 2441: 2441: template 2441: void 2441: Box::limited_CC76_extrapolation_assign(const Box& y, 2441: const Constraint_System& cs, 2441: unsigned* tp) { 2441: Box& x = *this; 2441: const dimension_type space_dim = x.space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)", 2441: y); 2441: } 2441: 2441: const dimension_type cs_space_dim = cs.space_dimension(); 2441: if (space_dim < cs_space_dim) { 2441: throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)"); 2441: } 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: ((void) 0); 2441: 2441: 2441: if (marked_empty()) { 2441: return; 2441: } 2441: 2441: if (y.marked_empty()) { 2441: return; 2441: } 2441: 2441: 2441: Box limiting_box(space_dim, UNIVERSE); 2441: get_limiting_box(cs, limiting_box); 2441: 2441: x.CC76_widening_assign(y, tp); 2441: 2441: 2441: intersection_assign(limiting_box); 2441: } 2441: 2441: template 2441: template 2441: typename Enable_If >::value 2441: && Is_Same_Or_Derived::value, 2441: void>::type 2441: Box::CC76_narrowing_assign(const T& y) { 2441: const dimension_type space_dim = space_dimension(); 2441: 2441: 2441: if (space_dim != y.space_dimension()) { 2441: throw_dimension_incompatible("CC76_narrowing_assign(y)", y); 2441: } 2441: 2441: 2441: ((void) 0); 2441: 2441: 2441: 2441: if (space_dim == 0) { 2441: return; 2441: } 2441: 2441: if (y.is_empty()) { 2441: return; 2441: } 2441: 2441: if (is_empty()) { 2441: return; 2441: } 2441: 2441: 2441: for (dimension_type i = space_dim; i-- > 0; ) { 2441: ITV& x_i = seq[i]; 2441: const ITV& y_i = y.seq[i]; 2441: if (!x_i.lower_is_boundary_infinity() 2441: && !y_i.lower_is_boundary_infinity() 2441: && x_i.lower() != y_i.lower()) { 2441: x_i.lower() = y_i.lower(); 2441: } 2441: if (!x_i.upper_is_boundary_infinity() 2441: && !y_i.upper_is_boundary_infinity() 2441: && x_i.upper() != y_i.upper()) { 2441: x_i.upper() = y_i.upper(); 2441: } 2441: } 2441: ((void) 0); 2441: } 2441: 2441: template 2441: Constraint_System 2441: Box::constraints() const { 2441: const dimension_type space_dim = space_dimension(); 2441: Constraint_System cs; 2441: cs.set_space_dimension(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cs = Constraint_System::zero_dim_empty(); 2441: } 2441: return cs; 2441: } 2441: 2441: if (marked_empty()) { 2441: cs.insert(Constraint::zero_dim_false()); 2441: return cs; 2441: } 2441: 2441: for (dimension_type k = 0; k < space_dim; ++k) { 2441: const Variable v_k = Variable(k); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_n; Parma_Polyhedra_Library::Coefficient& n = holder_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; Parma_Polyhedra_Library::Coefficient& d = holder_d.item(); 2441: bool closed = false; 2441: if (has_lower_bound(v_k, n, d, closed)) { 2441: if (closed) { 2441: cs.insert(d * v_k >= n); 2441: } 2441: else { 2441: cs.insert(d * v_k > n); 2441: } 2441: } 2441: if (has_upper_bound(v_k, n, d, closed)) { 2441: if (closed) { 2441: cs.insert(d * v_k <= n); 2441: } 2441: else { 2441: cs.insert(d * v_k < n); 2441: } 2441: } 2441: } 2441: return cs; 2441: } 2441: 2441: template 2441: Constraint_System 2441: Box::minimized_constraints() const { 2441: const dimension_type space_dim = space_dimension(); 2441: Constraint_System cs; 2441: cs.set_space_dimension(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cs = Constraint_System::zero_dim_empty(); 2441: } 2441: return cs; 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: cs.insert(Constraint::zero_dim_false()); 2441: return cs; 2441: } 2441: 2441: for (dimension_type k = 0; k < space_dim; ++k) { 2441: const Variable v_k = Variable(k); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_n; Parma_Polyhedra_Library::Coefficient& n = holder_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; Parma_Polyhedra_Library::Coefficient& d = holder_d.item(); 2441: bool closed = false; 2441: if (has_lower_bound(v_k, n, d, closed)) { 2441: if (closed) { 2441: 2441: if (seq[k].is_singleton()) { 2441: cs.insert(d * v_k == n); 2441: continue; 2441: } 2441: else { 2441: cs.insert(d * v_k >= n); 2441: } 2441: } 2441: else { 2441: cs.insert(d * v_k > n); 2441: } 2441: } 2441: if (has_upper_bound(v_k, n, d, closed)) { 2441: if (closed) { 2441: cs.insert(d * v_k <= n); 2441: } 2441: else { 2441: cs.insert(d * v_k < n); 2441: } 2441: } 2441: } 2441: return cs; 2441: } 2441: 2441: template 2441: Congruence_System 2441: Box::congruences() const { 2441: const dimension_type space_dim = space_dimension(); 2441: Congruence_System cgs(space_dim); 2441: 2441: if (space_dim == 0) { 2441: if (marked_empty()) { 2441: cgs = Congruence_System::zero_dim_empty(); 2441: } 2441: return cgs; 2441: } 2441: 2441: 2441: if (is_empty()) { 2441: cgs.insert(Congruence::zero_dim_false()); 2441: return cgs; 2441: } 2441: 2441: for (dimension_type k = 0; k < space_dim; ++k) { 2441: const Variable v_k = Variable(k); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_n; Parma_Polyhedra_Library::Coefficient& n = holder_n.item(); 2441: Parma_Polyhedra_Library::Dirty_Temp holder_d; Parma_Polyhedra_Library::Coefficient& d = holder_d.item(); 2441: bool closed = false; 2441: if (has_lower_bound(v_k, n, d, closed) && closed) { 2441: 2441: if (seq[k].is_singleton()) { 2441: cgs.insert((d * v_k %= n) / 0); 2441: } 2441: } 2441: } 2441: return cgs; 2441: } 2441: 2441: template 2441: memory_size_type 2441: Box::external_memory_in_bytes() const { 2441: memory_size_type n = seq.capacity() * sizeof(ITV); 2441: for (dimension_type k = seq.size(); k-- > 0; ) { 2441: n += seq[k].external_memory_in_bytes(); 2441: } 2441: return n; 2441: } 2441: 2441: 2441: template 2441: std::ostream& 2441: IO_Operators::operator<<(std::ostream& s, const Box& box) { 2441: if (box.is_empty()) { 2441: s << "false"; 2441: } 2441: else if (box.is_universe()) { 2441: s << "true"; 2441: } 2441: else { 2441: for (dimension_type k = 0, 2441: space_dim = box.space_dimension(); k < space_dim; ) { 2441: s << Variable(k) << " in " << box[k]; 2441: ++k; 2441: if (k < space_dim) { 2441: s << ", "; 2441: } 2441: else { 2441: break; 2441: } 2441: } 2441: } 2441: return s; 2441: } 2441: 2441: template 2441: void 2441: Box::ascii_dump(std::ostream& s) const { 2441: const char separator = ' '; 2441: status.ascii_dump(s); 2441: const dimension_type space_dim = space_dimension(); 2441: s << "space_dim" << separator << space_dim; 2441: s << "\n"; 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: seq[i].ascii_dump(s); 2441: } 2441: } 2441: 2441: template void Box::ascii_dump() const { ascii_dump(std::cerr); } template void Box::print() const { using IO_Operators::operator<<; std::cerr << *this; } 2441: 2441: template 2441: bool 2441: Box::ascii_load(std::istream& s) { 2441: if (!status.ascii_load(s)) { 2441: return false; 2441: } 2441: std::string str; 2441: dimension_type space_dim; 2441: if (!(s >> str) || str != "space_dim") { 2441: return false; 2441: } 2441: if (!(s >> space_dim)) { 2441: return false; 2441: } 2441: seq.clear(); 2441: ITV seq_i; 2441: for (dimension_type i = 0; i < space_dim; ++i) { 2441: if (seq_i.ascii_load(s)) { 2441: seq.push_back(seq_i); 2441: } 2441: else { 2441: return false; 2441: } 2441: } 2441: 2441: 2441: ((void) 0); 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const Box& y) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << this->space_dimension() 2441: << ", y->space_dimension() == " << y.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box 2441: ::throw_dimension_incompatible(const char* method, 2441: dimension_type required_dim) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", required dimension == " << required_dim << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const Constraint& c) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", c->space_dimension == " << c.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const Congruence& cg) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", cg->space_dimension == " << cg.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const Constraint_System& cs) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", cs->space_dimension == " << cs.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const Congruence_System& cgs) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", cgs->space_dimension == " << cgs.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const Generator& g) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", g->space_dimension == " << g.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_constraint_incompatible(const char* method) { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "the constraint is incompatible."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_expression_too_complex(const char* method, 2441: const Linear_Expression& le) { 2441: using namespace IO_Operators; 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << le << " is too complex."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const char* le_name, 2441: const Linear_Expression& le) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", " << le_name << "->space_dimension() == " 2441: << le.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: template 2441: void 2441: Box::throw_dimension_incompatible(const char* method, 2441: const char* lf_name, 2441: const Linear_Form& lf) const { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":\n" 2441: << "this->space_dimension() == " << space_dimension() 2441: << ", " << lf_name << "->space_dimension() == " 2441: << lf.space_dimension() << "."; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: template 2441: void 2441: Box::throw_invalid_argument(const char* method, const char* reason) { 2441: std::ostringstream s; 2441: s << "PPL::Box::" << method << ":" << std::endl 2441: << reason; 2441: throw std::invalid_argument(s.str()); 2441: } 2441: 2441: 2441: 2441: 2441: template 2441: bool 2441: l_m_distance_assign(Checked_Number& r, 2441: const Box& x, const Box& y, 2441: const Rounding_Dir dir, 2441: Temp& tmp0, Temp& tmp1, Temp& tmp2) { 2441: const dimension_type x_space_dim = x.space_dimension(); 2441: 2441: if (x_space_dim != y.space_dimension()) { 2441: return false; 2441: } 2441: 2441: if (x_space_dim == 0) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: } 2441: else { 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: } 2441: return true; 2441: } 2441: 2441: 2441: (void) x.is_empty(); 2441: (void) y.is_empty(); 2441: 2441: 2441: if (x.marked_empty() || y.marked_empty()) { 2441: if (x.marked_empty() == y.marked_empty()) { 2441: assign_r(r, 0, ROUND_NOT_NEEDED); 2441: return true; 2441: } 2441: else { 2441: goto pinf; 2441: } 2441: } 2441: 2441: assign_r(tmp0, 0, ROUND_NOT_NEEDED); 2441: for (dimension_type i = x_space_dim; i-- > 0; ) { 2441: const ITV& x_i = x.seq[i]; 2441: const ITV& y_i = y.seq[i]; 2441: 2441: if (x_i.lower_is_boundary_infinity()) { 2441: if (!y_i.lower_is_boundary_infinity()) { 2441: goto pinf; 2441: } 2441: } 2441: else if (y_i.lower_is_boundary_infinity()) { 2441: goto pinf; 2441: } 2441: else { 2441: const Temp* tmp1p; 2441: const Temp* tmp2p; 2441: if (x_i.lower() > y_i.lower()) { 2441: maybe_assign(tmp1p, tmp1, x_i.lower(), dir); 2441: maybe_assign(tmp2p, tmp2, y_i.lower(), inverse(dir)); 2441: } 2441: else { 2441: maybe_assign(tmp1p, tmp1, y_i.lower(), dir); 2441: maybe_assign(tmp2p, tmp2, x_i.lower(), inverse(dir)); 2441: } 2441: sub_assign_r(tmp1, *tmp1p, *tmp2p, dir); 2441: ((void) 0); 2441: Specialization::combine(tmp0, tmp1, dir); 2441: } 2441: 2441: if (x_i.upper_is_boundary_infinity()) { 2441: if (y_i.upper_is_boundary_infinity()) { 2441: continue; 2441: } 2441: else { 2441: goto pinf; 2441: } 2441: } 2441: else if (y_i.upper_is_boundary_infinity()) { 2441: goto pinf; 2441: } 2441: else { 2441: const Temp* tmp1p; 2441: const Temp* tmp2p; 2441: if (x_i.upper() > y_i.upper()) { 2441: maybe_assign(tmp1p, tmp1, x_i.upper(), dir); 2441: maybe_assign(tmp2p, tmp2, y_i.upper(), inverse(dir)); 2441: } 2441: else { 2441: maybe_assign(tmp1p, tmp1, y_i.upper(), dir); 2441: maybe_assign(tmp2p, tmp2, x_i.upper(), inverse(dir)); 2441: } 2441: sub_assign_r(tmp1, *tmp1p, *tmp2p, dir); 2441: ((void) 0); 2441: Specialization::combine(tmp0, tmp1, dir); 2441: } 2441: } 2441: Specialization::finalize(tmp0, dir); 2441: assign_r(r, tmp0, dir); 2441: return true; 2441: 2441: pinf: 2441: assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED); 2441: return true; 2441: } 2441: 2441: } 2441: # 2287 "../../src/Box_defs.hh" 2 2441: # 30 "../../src/Linear_Form_templates.hh" 2 2441: 2441: 2441: # 1 "/usr/include/c++/8/cmath" 1 3 2441: # 39 "/usr/include/c++/8/cmath" 3 2441: 2441: # 40 "/usr/include/c++/8/cmath" 3 2441: # 33 "../../src/Linear_Form_templates.hh" 2 2441: 2441: namespace Parma_Polyhedra_Library { 2441: 2441: template 2441: Linear_Form::Linear_Form(const Variable v) 2441: : vec() { 2441: const dimension_type space_dim = v.space_dimension(); 2441: if (space_dim > max_space_dimension()) { 2441: throw std::length_error("Linear_Form::" 2441: "Linear_Form(v):\n" 2441: "v exceeds the maximum allowed " 2441: "space dimension."); 2441: } 2441: vec.reserve(compute_capacity(space_dim+1, vec_type().max_size())); 2441: vec.resize(space_dim+1, zero); 2441: vec[v.space_dimension()] = C(typename C::boundary_type(1)); 2441: } 2441: 2441: template 2441: Linear_Form::Linear_Form(const Variable v, const Variable w) 2441: : vec() { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: const dimension_type w_space_dim = w.space_dimension(); 2441: const dimension_type space_dim = std::max(v_space_dim, w_space_dim); 2441: if (space_dim > max_space_dimension()) { 2441: throw std::length_error("Linear_Form::" 2441: "Linear_Form(v, w):\n" 2441: "v or w exceed the maximum allowed " 2441: "space dimension."); 2441: } 2441: vec.reserve(compute_capacity(space_dim+1, vec_type().max_size())); 2441: vec.resize(space_dim+1, zero); 2441: if (v_space_dim != w_space_dim) { 2441: vec[v_space_dim] = C(typename C::boundary_type(1)); 2441: vec[w_space_dim] = C(typename C::boundary_type(-1)); 2441: } 2441: } 2441: 2441: template 2441: Linear_Form::Linear_Form(const Linear_Expression& e) 2441: : vec() { 2441: const dimension_type space_dim = e.space_dimension(); 2441: if (space_dim > max_space_dimension()) { 2441: throw std::length_error("Linear_Form::" 2441: "Linear_Form(e):\n" 2441: "e exceeds the maximum allowed " 2441: "space dimension."); 2441: } 2441: vec.reserve(compute_capacity(space_dim+1, vec_type().max_size())); 2441: vec.resize(space_dim+1); 2441: for (dimension_type i = space_dim; i-- > 0; ) 2441: vec[i+1] = e.coefficient(Variable(i)); 2441: vec[0] = e.inhomogeneous_term(); 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const Linear_Form& f1, const Linear_Form& f2) { 2441: dimension_type f1_size = f1.size(); 2441: dimension_type f2_size = f2.size(); 2441: dimension_type min_size; 2441: dimension_type max_size; 2441: const Linear_Form* p_e_max; 2441: if (f1_size > f2_size) { 2441: min_size = f2_size; 2441: max_size = f1_size; 2441: p_e_max = &f1; 2441: } 2441: else { 2441: min_size = f1_size; 2441: max_size = f2_size; 2441: p_e_max = &f2; 2441: } 2441: 2441: Linear_Form r(max_size, false); 2441: dimension_type i = max_size; 2441: while (i > min_size) { 2441: --i; 2441: r[i] = p_e_max->vec[i]; 2441: } 2441: while (i > 0) { 2441: --i; 2441: r[i] = f1[i]; 2441: r[i] += f2[i]; 2441: } 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const Variable v, const Linear_Form& f) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Form::max_space_dimension()) { 2441: throw std::length_error("Linear_Form " 2441: "operator+(v, f):\n" 2441: "v exceeds the maximum allowed " 2441: "space dimension."); 2441: } 2441: Linear_Form r(f); 2441: if (v_space_dim > f.space_dimension()) { 2441: r.extend(v_space_dim+1); 2441: } 2441: r[v_space_dim] += C(typename C::boundary_type(1)); 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator+(const C& n, const Linear_Form& f) { 2441: Linear_Form r(f); 2441: r[0] += n; 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Linear_Form& f) { 2441: Linear_Form r(f); 2441: for (dimension_type i = f.size(); i-- > 0; ) { 2441: r[i].neg_assign(r[i]); 2441: } 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Linear_Form& f1, const Linear_Form& f2) { 2441: dimension_type f1_size = f1.size(); 2441: dimension_type f2_size = f2.size(); 2441: if (f1_size > f2_size) { 2441: Linear_Form r(f1_size, false); 2441: dimension_type i = f1_size; 2441: while (i > f2_size) { 2441: --i; 2441: r[i] = f1[i]; 2441: } 2441: while (i > 0) { 2441: --i; 2441: r[i] = f1[i]; 2441: r[i] -= f2[i]; 2441: } 2441: return r; 2441: } 2441: else { 2441: Linear_Form r(f2_size, false); 2441: dimension_type i = f2_size; 2441: while (i > f1_size) { 2441: --i; 2441: r[i].neg_assign(f2[i]); 2441: } 2441: while (i > 0) { 2441: --i; 2441: r[i] = f1[i]; 2441: r[i] -= f2[i]; 2441: } 2441: return r; 2441: } 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Variable v, const Linear_Form& f) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Form::max_space_dimension()) { 2441: throw std::length_error("Linear_Form " 2441: "operator-(v, e):\n" 2441: "v exceeds the maximum allowed " 2441: "space dimension."); 2441: } 2441: Linear_Form r(f); 2441: if (v_space_dim > f.space_dimension()) { 2441: r.extend(v_space_dim+1); 2441: } 2441: for (dimension_type i = f.size(); i-- > 0; ) { 2441: r[i].neg_assign(r[i]); 2441: } 2441: r[v_space_dim] += C(typename C::boundary_type(1)); 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const Linear_Form& f, const Variable v) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Form::max_space_dimension()) { 2441: throw std::length_error("Linear_Form " 2441: "operator-(e, v):\n" 2441: "v exceeds the maximum allowed " 2441: "space dimension."); 2441: } 2441: Linear_Form r(f); 2441: if (v_space_dim > f.space_dimension()) { 2441: r.extend(v_space_dim+1); 2441: } 2441: r[v_space_dim] -= C(typename C::boundary_type(1)); 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator-(const C& n, const Linear_Form& f) { 2441: Linear_Form r(f); 2441: for (dimension_type i = f.size(); i-- > 0; ) { 2441: r[i].neg_assign(r[i]); 2441: } 2441: r[0] += n; 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form 2441: operator*(const C& n, const Linear_Form& f) { 2441: Linear_Form r(f); 2441: for (dimension_type i = f.size(); i-- > 0; ) { 2441: r[i] *= n; 2441: } 2441: return r; 2441: } 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator+=(Linear_Form& f1, const Linear_Form& f2) { 2441: dimension_type f1_size = f1.size(); 2441: dimension_type f2_size = f2.size(); 2441: if (f1_size < f2_size) { 2441: f1.extend(f2_size); 2441: } 2441: for (dimension_type i = f2_size; i-- > 0; ) { 2441: f1[i] += f2[i]; 2441: } 2441: return f1; 2441: } 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator+=(Linear_Form& f, const Variable v) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Form::max_space_dimension()) { 2441: throw std::length_error("Linear_Form& " 2441: "operator+=(e, v):\n" 2441: "v exceeds the maximum allowed space dimension."); 2441: } 2441: if (v_space_dim > f.space_dimension()) { 2441: f.extend(v_space_dim+1); 2441: } 2441: f[v_space_dim] += C(typename C::boundary_type(1)); 2441: return f; 2441: } 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator-=(Linear_Form& f1, const Linear_Form& f2) { 2441: dimension_type f1_size = f1.size(); 2441: dimension_type f2_size = f2.size(); 2441: if (f1_size < f2_size) { 2441: f1.extend(f2_size); 2441: } 2441: for (dimension_type i = f2_size; i-- > 0; ) { 2441: f1[i] -= f2[i]; 2441: } 2441: return f1; 2441: } 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator-=(Linear_Form& f, const Variable v) { 2441: const dimension_type v_space_dim = v.space_dimension(); 2441: if (v_space_dim > Linear_Form::max_space_dimension()) { 2441: throw std::length_error("Linear_Form& " 2441: "operator-=(e, v):\n" 2441: "v exceeds the maximum allowed space dimension."); 2441: } 2441: if (v_space_dim > f.space_dimension()) { 2441: f.extend(v_space_dim+1); 2441: } 2441: f[v_space_dim] -= C(typename C::boundary_type(1)); 2441: return f; 2441: } 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator*=(Linear_Form& f, const C& n) { 2441: dimension_type f_size = f.size(); 2441: for (dimension_type i = f_size; i-- > 0; ) { 2441: f[i] *= n; 2441: } 2441: return f; 2441: } 2441: 2441: 2441: template 2441: Linear_Form& 2441: operator/=(Linear_Form& f, const C& n) { 2441: dimension_type f_size = f.size(); 2441: for (dimension_type i = f_size; i-- > 0; ) { 2441: f[i] /= n; 2441: } 2441: return f; 2441: } 2441: 2441: 2441: template 2441: inline bool 2441: operator==(const Linear_Form& x, const Linear_Form& y) { 2441: const dimension_type x_size = x.size(); 2441: const dimension_type y_size = y.size(); 2441: if (x_size >= y_size) { 2441: for (dimension_type i = y_size; i-- > 0; ) { 2441: if (x[i] != y[i]) { 2441: return false; 2441: } 2441: } 2441: for (dimension_type i = x_size; --i >= y_size; ) { 2441: if (x[i] != x.zero) { 2441: return false; 2441: } 2441: } 2441: } 2441: else { 2441: for (dimension_type i = x_size; i-- > 0; ) { 2441: if (x[i] != y[i]) { 2441: return false; 2441: } 2441: } 2441: for (dimension_type i = y_size; --i >= x_size; ) { 2441: if (y[i] != x.zero) { 2441: return false; 2441: } 2441: } 2441: 2441: } 2441: 2441: return true; 2441: } 2441: 2441: template 2441: void 2441: Linear_Form::negate() { 2441: for (dimension_type i = vec.size(); i-- > 0; ) { 2441: vec[i].neg_assign(vec[i]); 2441: } 2441: return; 2441: } 2441: 2441: template 2441: inline memory_size_type 2441: Linear_Form::external_memory_in_bytes() const { 2441: memory_size_type n = 0; 2441: for (dimension_type i = size(); i-- > 0; ) { 2441: n += vec[i].external_memory_in_bytes(); 2441: } 2441: n += vec.capacity()*sizeof(C); 2441: return n; 2441: } 2441: 2441: template 2441: bool 2441: Linear_Form::OK() const { 2441: for (dimension_type i = size(); i-- > 0; ) { 2441: if (!vec[i].OK()) { 2441: return false; 2441: } 2441: } 2441: return true; 2441: } 2441: 2441: 2441: template 2441: void 2441: Linear_Form::relative_error( 2441: const Floating_Point_Format analyzed_format, 2441: Linear_Form& result) const { 2441: typedef typename C::boundary_type analyzer_format; 2441: 2441: 2441: unsigned int f_base; 2441: unsigned int f_mantissa_bits; 2441: switch (analyzed_format) { 2441: case IEEE754_HALF: 2441: f_base = float_ieee754_half::BASE; 2441: f_mantissa_bits = float_ieee754_half::MANTISSA_BITS; 2441: break; 2441: case IEEE754_SINGLE: 2441: f_base = float_ieee754_single::BASE; 2441: f_mantissa_bits = float_ieee754_single::MANTISSA_BITS; 2441: break; 2441: case IEEE754_DOUBLE: 2441: f_base = float_ieee754_double::BASE; 2441: f_mantissa_bits = float_ieee754_double::MANTISSA_BITS; 2441: break; 2441: case IBM_SINGLE: 2441: f_base = float_ibm_single::BASE; 2441: f_mantissa_bits = float_ibm_single::MANTISSA_BITS; 2441: break; 2441: case IEEE754_QUAD: 2441: f_base = float_ieee754_quad::BASE; 2441: f_mantissa_bits = float_ieee754_quad::MANTISSA_BITS; 2441: break; 2441: case INTEL_DOUBLE_EXTENDED: 2441: f_base = float_intel_double_extended::BASE; 2441: f_mantissa_bits = float_intel_double_extended::MANTISSA_BITS; 2441: break; 2441: default: 2441: Parma_Polyhedra_Library::ppl_unreachable(); 2441: break; 2441: } 2441: 2441: C error_propagator; 2441: 2441: unsigned int u_power = msb_position(f_base) * f_mantissa_bits; 2441: int neg_power = -static_cast(u_power); 2441: analyzer_format lb = static_cast(ldexp(1.0, neg_power)); 2441: 2441: error_propagator.build(i_constraint(GREATER_OR_EQUAL, -lb), 2441: i_constraint(LESS_OR_EQUAL, lb)); 2441: 2441: 2441: const C* current_term = &inhomogeneous_term(); 2441: 2441: # 465 "../../src/Linear_Form_templates.hh" 3 4 2441: (static_cast (0)) 2441: # 465 "../../src/Linear_Form_templates.hh" 2441: ; 2441: 2441: C current_multiplier(std::max(std::abs(current_term->lower()), 2441: std::abs(current_term->upper()))); 2441: Linear_Form current_result_term(current_multiplier); 2441: current_result_term *= error_propagator; 2441: result = Linear_Form(current_result_term); 2441: 2441: 2441: dimension_type dimension = space_dimension(); 2441: for (dimension_type i = 0; i < dimension; ++i) { 2441: current_term = &coefficient(Variable(i)); 2441: 2441: # 477 "../../src/Linear_Form_templates.hh" 3 4 2441: (static_cast (0)) 2441: # 477 "../../src/Linear_Form_templates.hh" 2441: ; 2441: current_multiplier = C(std::max(std::abs(current_term->lower()), 2441: std::abs(current_term->upper()))); 2441: current_result_term = Linear_Form(Variable(i)); 2441: current_result_term *= current_multiplier; 2441: current_result_term *= error_propagator; 2441: result += current_result_term; 2441: } 2441: 2441: return; 2441: } 2441: 2441: template 2441: template 2441: bool 2441: Linear_Form::intervalize(const FP_Oracle& oracle, 2441: C& result) const { 2441: result = C(inhomogeneous_term()); 2441: dimension_type dimension = space_dimension(); 2441: for (dimension_type i = 0; i < dimension; ++i) { 2441: C current_addend = coefficient(Variable(i)); 2441: C curr_int; 2441: if (!oracle.get_interval(i, curr_int)) { 2441: return false; 2441: } 2441: current_addend *= curr_int; 2441: result += current_addend; 2441: } 2441: 2441: return true; 2441: } 2441: 2441: 2441: template 2441: std::ostream& 2441: IO_Operators::operator<<(std::ostream& s, const Linear_Form& f) { 2441: const dimension_type num_variables = f.space_dimension(); 2441: bool first = true; 2441: for (dimension_type v = 0; v < num_variables; ++v) { 2441: const C& fv = f[v+1]; 2441: if (fv != typename C::boundary_type(0)) { 2441: if (first) { 2441: if (fv == typename C::boundary_type(-1)) { 2441: s << "-"; 2441: } 2441: else if (fv != typename C::boundary_type(1)) { 2441: s << fv << "*"; 2441: } 2441: first = false; 2441: } 2441: else { 2441: if (fv == typename C::boundary_type(-1)) { 2441: s << " - "; 2441: } 2441: else { 2441: s << " + "; 2441: if (fv != typename C::boundary_type(1)) { 2441: s << fv << "*"; 2441: } 2441: } 2441: } 2441: s << Variable(v); 2441: } 2441: } 2441: 2441: const C& it = f[0]; 2441: if (it != 0) { 2441: if (!first) { 2441: s << " + "; 2441: } 2441: else { 2441: first = false; 2441: } 2441: s << it; 2441: } 2441: 2441: if (first) { 2441: 2441: s << Linear_Form::zero; 2441: } 2441: return s; 2441: } 2441: 2441: template void Linear_Form::ascii_dump() const { ascii_dump(std::cerr); } template void Linear_Form::print() const { using IO_Operators::operator<<; std::cerr << *this; } 2441: 2441: template 2441: C Linear_Form::zero(typename C::boundary_type(0)); 2441: 2441: } 2441: # 10 "../../src/ppl_include_files.hh" 2 2441: # 1 "../../src/linearize.hh" 1 2441: # 27 "../../src/linearize.hh" 2441: # 1 "../../src/Concrete_Expression_defs.hh" 1 2441: # 31 "../../src/Concrete_Expression_defs.hh" 2441: namespace Parma_Polyhedra_Library { 2441: 2441: 2441: class Concrete_Expression_Type { 2441: public: 2441: 2441: 2441: 2441: 2441: static Concrete_Expression_Type 2441: bounded_integer(Bounded_Integer_Type_Width width, 2441: Bounded_Integer_Type_Representation representation, 2441: Bounded_Integer_Type_Overflow overflow); 2441: 2441: 2441: 2441: 2441: static Concrete_Expression_Type 2441: floating_point(Floating_Point_Format format); 2441: 2441: 2441: 2441: 2441: 2441: bool is_bounded_integer() const; 2441: 2441: 2441: 2441: 2441: 2441: bool is_floating_point() const; 2441: # 70 "../../src/Concrete_Expression_defs.hh" 2441: Bounded_Integer_Type_Width bounded_integer_type_width() const; 2441: # 79 "../../src/Concrete_Expression_defs.hh" 2441: Bounded_Integer_Type_Representation 2441: bounded_integer_type_representation() const; 2441: # 89 "../../src/Concrete_Expression_defs.hh" 2441: Bounded_Integer_Type_Overflow 2441: bounded_integer_type_overflow() const; 2441: 2441: 2441: 2441: 2441: 2441: 2441: 2441: Floating_Point_Format floating_point_format() const; 2441: 2441: 2441: bool OK() const; 2441: 2441: private: 2441: 2441: struct Implementation { 2441: bool bounded_integer:1; 2441: unsigned int bounded_integer_type_width:23; 2441: unsigned int bounded_integer_type_representation:2; 2441: unsigned int bounded_integer_type_overflow:2; 2441: unsigned int floating_point_format:4; 2441: }; 2441: 2441: 2441: Concrete_Expression_Type(Implementation implementation); 2441: 2441: 2441: Implementation impl; 2441: }; 2441: 2441: 2441: template 2441: class Concrete_Expression_Common { 2441: public: 2441: 2441: Concrete_Expression_Type type() const; 2441: 2441: 2441: Concrete_Expression_Kind kind() const; 2441: 2441: 2441: template